162 Commits (43182f8f57483a47f1b44cdcf9dbb5387511afc2)

Author SHA1 Message Date
Adam Ierymenko 43182f8f57 Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution. 9 years ago
Adam Ierymenko 3587aa1ea7 Add and send certificates of representation to tell people what our valid upstreams are. These are not used yet but will be needed for future privacy modes, etc. Also some cleanup. 9 years ago
Adam Ierymenko beb642faa5 Stub out CAN_REACH. 9 years ago
Adam Ierymenko 471108f2e4 Slightly increase thread stack size for safety (primary Alpine related) possibly GitHub #443 9 years ago
Adam Ierymenko 84732fcb12 Wire through external path lookup. Static paths should now work. 9 years ago
Adam Ierymenko 2ea9f516e1 Rate gate expensive validation of new identities in HELLO. 9 years ago
Adam Ierymenko 5ebf5077f5 Log last meta-data in controller, and ease up just a bit on keepalives. 9 years ago
Adam Ierymenko d3524f3609 Refactor COM stuff a bit, and respond to COM requests a bit more readily for rapid setup. Will need to revisit later. 10 years ago
Adam Ierymenko 5b6d27e659 Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected. 10 years ago
Adam Ierymenko cba37c6107 Add a few more rate limit gates for anti-DOS hardening. 10 years ago
Adam Ierymenko ab9afbc749 (1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup. 10 years ago
Adam Ierymenko 1908aa55f5 Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code. 10 years ago
Adam Ierymenko b5c86b6ba4 Bunch more path refactoring. Peers no longer forget paths, but do not normally use expired paths. Expired paths might still be tried if nothing else is reachable. 10 years ago
Adam Ierymenko eebcf08084 Tweaks to new Path code for dual-stack operation, and other fixes. 10 years ago
Adam Ierymenko d1101441b3 Tweak some timings. 10 years ago
Adam Ierymenko e8f6b4b5d3 Rest of big Path canonicalization refactor. 10 years ago
Adam Ierymenko a3bdae9735 Work in progress: Path canonicalization refactor. 10 years ago
Adam Ierymenko 77f7dcf40a Obsolete "test network" removal. 10 years ago
Adam Ierymenko 404a0bbddd ... 10 years ago
Adam Ierymenko d736074301 Refactor rules table in-memory structure in new NetworkConfig to permit far more rules with better space efficiency. 10 years ago
Adam Ierymenko 2f18a92e20 Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route. 10 years ago
Adam Ierymenko 6f854c8391 NetworkConfig refactor part 1 10 years ago
Adam Ierymenko 56096be8b6 Tweak new RX queue algorithm to "expire" old entries to prevent always needing to traverse the whole queue array. 10 years ago
Adam Ierymenko 4a109658ab More refactoring and prep for explicit interface bindings (for default route support). 10 years ago
Adam Ierymenko 1a5e7cb0cb More tweaks to OS determination stuff. 10 years ago
Adam Ierymenko 8035afae87 Try to define ZT_NO_TYPE_PUNNING on iOS in case it wasn't. 10 years ago
Adam Ierymenko d6a1868d0a Refactor incoming packet (rxQueue/fragmentQueue) to eliminate variable length queues and merge queues. This is both faster and saves memory. 10 years ago
Adam Ierymenko 2aa7138373 Reduce direct ping delay back to 1m and make SelfAwareness aware of local received-on address to eliminate false symmetric classification. 10 years ago
Adam Ierymenko 63ec7e58d4 Make activity no longer a function of ping frequency, since this causes compatibility bugs when the latter was modified due to timer interactions with other versions. 10 years ago
Adam Ierymenko 4e4fd51117 boring doc stuff 10 years ago
Adam Ierymenko 05b2c0743f Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272 10 years ago
Adam Ierymenko d8143a5e18 Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev) 10 years ago
Adam Ierymenko 436c1fac1d Selectively move over changes from "edge" to "dev" excluding netcon. 10 years ago
Adam Ierymenko 82aa3f59d6 Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway. 10 years ago
Janjaap Bos e6808c69f8 Increase maximum number of paths per IP scope to 4 10 years ago
Adam Ierymenko b94335f115 Increase WHOIS retry delay slightly to allow for global cluster latency (e.g. 300+ms from New York to Johhannesburg) 10 years ago
Adam Ierymenko 7fbe2f7adf Tweak some more timings for better reliability. 11 years ago
Adam Ierymenko 60ce886605 Tweak some timings for better reliability. 11 years ago
Adam Ierymenko b6725c4415 Optimize AntiRecursion. 11 years ago
Adam Ierymenko da93712846 Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter. 11 years ago
Adam Ierymenko cdc99bfee1 Add a circuit breaker for VERB_PUSH_DIRECT_PATHS. 11 years ago
Adam Ierymenko cc1b275ad9 Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not. 11 years ago
Adam Ierymenko a1a0ee4edb Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks) 11 years ago
Adam Ierymenko 62db18b6dd Lessen this limit just a bit to make cluster settle faster. 11 years ago
Adam Ierymenko 5ce3aac929 Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation. 11 years ago
Adam Ierymenko 2debde3451 GitHub issue #235, and I also see no reason not to communicate with people from other Worlds. 11 years ago
Adam Ierymenko 619e113748 Work in progress on Cluster for new root infrastructure, multi-homing. 11 years ago
Adam Ierymenko 7d62dbe9f7 Tune NAT-t keepalives so that timing is better obeyed, clean up a build warning, and fix a potential source of network recursion (though harmless). 11 years ago
Adam Ierymenko a3db7d0728 Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things. 11 years ago
Adam Ierymenko f69454ec98 (1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses. 11 years ago