Commit Graph

231 Commits

Author SHA1 Message Date
459f1e7bfb Refactor path stability stuff and add basic multipath support. 2017-10-25 12:42:14 -07:00
0d8b8d8426 Remove some unused constants. 2017-10-24 15:04:19 -07:00
2d858b05ac Another fix for ye old tyme clients. 2017-09-01 12:03:31 -07:00
6ee201865b Clean up WHOIS code. 2017-08-23 16:42:17 -07:00
9cfc109527 Tighten a few timings. 2017-08-23 14:00:08 -07:00
b9e1d53d7a Minor cleanup. 2017-07-17 14:21:09 -07:00
640ad577d1 . 2017-07-06 11:56:46 -07:00
2f20258807 . 2017-07-06 10:25:36 -07:00
baa10c2995 . 2017-06-30 17:32:07 -07:00
64b7d9ef82 New clustering work. 2017-06-01 07:15:46 -07:00
f479b76772 define likely/unlikely 2017-05-09 20:22:08 -07:00
b9c1407013 Adjust PUSH_DIRECT_PATH circuit breaker, and comment out traces to reduce noise. 2017-05-08 09:36:37 -07:00
107e3e4106 First pass of configurable MTU and max MTU increase. 2017-05-04 17:12:02 -07:00
1b68d6dbdc License header update. 2017-04-27 20:47:25 -07:00
139c4b5633 Significant simplification to path logic. 2017-04-14 17:53:32 -07:00
0f3148bda2 Roots need to respond to lots of WHOISes 2017-03-10 20:08:07 -08:00
e3b1fc2ac0 Tweak WHOIS path for federation. 2017-03-10 19:52:08 -08:00
43182f8f57 Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution. 2017-02-05 16:19:03 -08:00
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. 2017-02-04 13:17:00 -08:00
beb642faa5 Stub out CAN_REACH. 2017-02-04 10:21:31 -08:00
471108f2e4 Slightly increase thread stack size for safety (primary Alpine related) possibly GitHub #443 2017-01-30 08:01:36 -08:00
18c9dc8a06 fix RTF_MULTICAST and g++ -w 2016-12-27 13:07:05 +01:00
546e8a3b44 initial netbsd support in makefile/flags 2016-12-25 20:59:12 +01:00
84732fcb12 Wire through external path lookup. Static paths should now work. 2016-11-22 14:23:13 -08:00
2ea9f516e1 Rate gate expensive validation of new identities in HELLO. 2016-11-18 12:59:04 -08:00
5ebf5077f5 Log last meta-data in controller, and ease up just a bit on keepalives. 2016-11-09 17:11:10 -08:00
d3524f3609 Refactor COM stuff a bit, and respond to COM requests a bit more readily for rapid setup. Will need to revisit later. 2016-09-20 21:21:34 -07:00
5b6d27e659 Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected. 2016-09-13 14:27:18 -07:00
cba37c6107 Add a few more rate limit gates for anti-DOS hardening. 2016-09-13 10:13:23 -07:00
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. 2016-09-09 11:36:10 -07:00
1908aa55f5 Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code. 2016-09-07 15:15:52 -07:00
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. 2016-09-07 11:13:17 -07:00
eebcf08084 Tweaks to new Path code for dual-stack operation, and other fixes. 2016-09-03 15:39:05 -07:00
d1101441b3 Tweak some timings. 2016-09-02 11:54:59 -07:00
e8f6b4b5d3 Rest of big Path canonicalization refactor. 2016-09-02 11:51:33 -07:00
a3bdae9735 Work in progress: Path canonicalization refactor. 2016-09-01 15:43:07 -07:00
77f7dcf40a Obsolete "test network" removal. 2016-08-23 09:39:38 -07:00
404a0bbddd ... 2016-08-04 09:51:15 -07:00
d736074301 Refactor rules table in-memory structure in new NetworkConfig to permit far more rules with better space efficiency. 2016-04-22 15:40:53 -07:00
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. 2016-04-19 12:09:35 -07:00
6f854c8391 NetworkConfig refactor part 1 2016-04-12 12:11:34 -07:00
56096be8b6 Tweak new RX queue algorithm to "expire" old entries to prevent always needing to traverse the whole queue array. 2016-04-06 16:28:40 -07:00
4a109658ab More refactoring and prep for explicit interface bindings (for default route support). 2016-04-05 11:59:46 -07:00
1a5e7cb0cb More tweaks to OS determination stuff. 2016-03-28 12:26:49 -07:00
8035afae87 Try to define ZT_NO_TYPE_PUNNING on iOS in case it wasn't. 2016-03-28 12:22:05 -07:00
d6a1868d0a Refactor incoming packet (rxQueue/fragmentQueue) to eliminate variable length queues and merge queues. This is both faster and saves memory. 2016-03-18 14:16:07 -07:00
2aa7138373 Reduce direct ping delay back to 1m and make SelfAwareness aware of local received-on address to eliminate false symmetric classification. 2016-02-22 09:47:50 -08:00
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. 2016-02-08 10:03:01 -08:00
4e4fd51117 boring doc stuff 2016-01-12 14:04:55 -08:00
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 2016-01-06 10:00:03 -08:00