54 Commits (efa0bab296de10dd21baaa6ec005922de69940de)

Author SHA1 Message Date
Adam Ierymenko 0e47f13f14 Simplify locking semantics some more to address a deadlock. 12 years ago
Adam Ierymenko 2416491cbc Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache. 12 years ago
Adam Ierymenko 6316011024 Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth. 12 years ago
Adam Ierymenko 0d017c043f Stop persisting last announcement time since Multicaster is volatile. Also some more legacy multicast fixes. 12 years ago
Adam Ierymenko 496109fdcc Announce multicast group changes on network rescanMulticastGroups() 12 years ago
Adam Ierymenko 2659427864 Multicaster needs to be global, not per-network, and a bunch of other stuff. 12 years ago
Adam Ierymenko 050a0ce85d . 12 years ago
Adam Ierymenko 81b12b6826 Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables. 12 years ago
Adam Ierymenko 1d37204a37 Refactoring in progress... pardon our dust... 12 years ago
Adam Ierymenko 4e9280fc7a Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics. 12 years ago
Adam Ierymenko c2187c8759 (1) distribute default root-topology in new dictionary format, (2) bump peer serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates 12 years ago
Adam Ierymenko 8a804b5257 (1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable. 12 years ago
Adam Ierymenko 88bdb81791 Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops. 12 years ago
Adam Ierymenko 7831c4bfef Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations. 12 years ago
Adam Ierymenko aee742e767 More toward GitHub issue #56 12 years ago
Adam Ierymenko b117ff5435 Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming. 12 years ago
Adam Ierymenko 119ef5ecbf More logic cleanup and some documentation / comment improvements. 12 years ago
Adam Ierymenko 8fb442d81a Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send(). 12 years ago
Adam Ierymenko 73153b89b4 Some cleanup, and use best (not first) UDP addresses for NAT-t VERB_RENDEZVOUS computation. 12 years ago
Adam Ierymenko fe85426df6 A few more tweaks to TCP failover... seems to be switching back and forth pretty well now! 12 years ago
Adam Ierymenko c96d3ebf8c Such ping logic. So edge case. 12 years ago
Adam Ierymenko 81e5690410 More tweaks to TCP failover logic. Such edge case. 12 years ago
Adam Ierymenko 700a450806 More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered. 12 years ago
Adam Ierymenko 8e587ae481 Clean dead paths from peers. 12 years ago
Adam Ierymenko 8d3eb1a258 A few renamings to be consistent. 12 years ago
Adam Ierymenko 33ad3deaee Builds with new Path code. 12 years ago
Adam Ierymenko ba3f04deed Work in progress: refactoring paths, adding TCP fallback. 12 years ago
Adam Ierymenko 45e823d27c Reworking of paths in Peer work-in-progress, and TCP connect support in SocketManager. Also add FD_SETSIZE checking for the default select implementation of sockets. 12 years ago
Adam Ierymenko 0b75992737 Everything but the local config bus... blech. 12 years ago
Adam Ierymenko bd749e040d Compile fixes. 12 years ago
Adam Ierymenko b5c3a92be2 Boring stuff: update dates in copyrights across all files. 12 years ago
Adam Ierymenko bf5f09a0c7 Yank a code path it turns out we probably don't want. 12 years ago
Adam Ierymenko 490e86dde3 Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates. 12 years ago
Adam Ierymenko d6a346ca6e Fix for GitHub issue #35 and also possibly partial fix for #29 issues. 12 years ago
Adam Ierymenko 10df5dcf70 Fix several things: 12 years ago
Adam Ierymenko 92969b4426 Fix for GitHub issue #20 (untested) 12 years ago
Adam Ierymenko 612c17240a Dead code removal, fix for cleanup GitHub issue #28 12 years ago
Adam Ierymenko 40e4f39181 Peers are now dumped on shutdown in a persistence cache and reloaded on startup, which is good enough for clients right now. Supernodes will get something else for long-term authoritative identity caching. 13 years ago
Adam Ierymenko 6e217dfcb0 Get rid of DBM, which technically is a case of YAGNI. Supernodes will need a way to save identities, but that can be a different feature. Regular clients do not really need a permanent cache (yet). When/if we do need one we can do it then. Until then it only caused problems. 13 years ago
Adam Ierymenko 4267e7da93 Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder. 13 years ago
Adam Ierymenko 58538500f2 Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them. 13 years ago
Adam Ierymenko 2cfa76fa8b Multicast propagation is now working from non-supernodes, and working quite well. Time for some more simulation before 0.5.0! 13 years ago
Adam Ierymenko 3443b203e4 Each peer now tracks the last time it announced multicast LIKEs independently and does so frequently enough to prevent expires. Also add a multicast debug facility for use on the testnet. 13 years ago
Adam Ierymenko 5557a8192d Work in progress... 13 years ago
Adam Ierymenko 0133da1dcd Get rid of onSent(), which was never used consistently anyway. 13 years ago
Adam Ierymenko e376c6f6a9 New crypto integrated -- going to be testing new identity address generation algo a bit more before finalizing. 13 years ago
Adam Ierymenko f3ad05347e Improve code security posture by replacing sprintf with a safer function. 13 years ago
Adam Ierymenko d6414c9ff7 Windows compiles! (w/Visual Studio 2012) That's about all it does, but it's a start. 13 years ago
Adam Ierymenko 5f8a3f4a7f More detail and output improvements to command bus "listpeers," and a little cleanup. 13 years ago
Adam Ierymenko 97cbd98bc5 Compile fixes, integration of fast PRNG. 13 years ago