Commit Graph

40 Commits

Author SHA1 Message Date
Adam Ierymenko
282114e96c Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup. 2014-08-19 10:09:21 -07:00
Adam Ierymenko
aa59cfd545 Web request part of supernode resync (not quite done, needs test) 2014-08-15 23:37:35 -04:00
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 2014-08-14 19:52:22 -04:00
Adam Ierymenko
be6b61b1bc Accept supernode dictionaries in Topology, also fix (unused) field name in one of these. 2014-08-14 18:06:18 -04:00
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. 2014-06-30 11:31:04 -07:00
Adam Ierymenko
7831c4bfef Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations. 2014-04-18 00:14:12 -07:00
Adam Ierymenko
f13493edb2 Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh. 2014-03-31 22:23:55 -07:00
Adam Ierymenko
8e587ae481 Clean dead paths from peers. 2014-03-31 11:41:14 -07:00
Adam Ierymenko
daaec84c6b Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead. 2014-03-26 15:35:15 -07:00
Adam Ierymenko
8d3eb1a258 A few renamings to be consistent. 2014-03-21 14:18:35 -07:00
Adam Ierymenko
33ad3deaee Builds with new Path code. 2014-03-21 13:46:55 -07:00
Adam Ierymenko
b5c3a92be2 Boring stuff: update dates in copyrights across all files. 2014-02-16 12:40:22 -08:00
Adam Ierymenko
9acfd3eb73 Build fix on Linux with G++. 2014-02-11 23:09:53 +00:00
Adam Ierymenko
0ad84b8723 Possible bug fix in Topology, have to test... 2014-02-11 15:02:21 -08:00
Adam Ierymenko
d452ed7db8 Fix inverted sense bug in new skip-stale-relay logic. 2014-02-03 21:15:29 -08:00
Adam Ierymenko
d7bc3c6f4a Fix infinite loop bug introduced in last commit. 2014-02-03 12:28:23 -08:00
Adam Ierymenko
d04e5a1fe0 Add a simple but very nice mechanism for avoiding potentially dead supernodes. 2014-02-03 11:09:09 -08:00
Adam Ierymenko
22efa1ab53 Windows Installer work, fix 100% CPU bug in EthernetTap on Windows, Windows lockDownFile() implementation that uses 'cacls' utility. 2014-01-26 10:21:43 -08:00
Adam Ierymenko
5e71e07f59 Add persistent identity caching for use on supernodes. Activate by just making an iddb.d directory in the ZeroTier home folder. Also clean up some obsolete cruft from makefiles. 2013-10-21 14:12:00 -04:00
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. 2013-10-21 11:15:47 -04:00
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. 2013-10-21 10:29:44 -04:00
Adam Ierymenko
ca93b4a1ac Clean up some stuff, including a few spots where exceptions were not being handled correctly. 2013-10-18 14:16:53 -04:00
Adam Ierymenko
4267e7da93 Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder. 2013-10-05 10:19:12 -04:00
Adam Ierymenko
0e43e5e8f2 Rest of work on new hashcash based identity scheme. 2013-10-05 07:00:55 -04:00
Adam Ierymenko
4e010da54b Work in progress... 2013-09-26 17:45:19 -04:00
Adam Ierymenko
487eb17ec0 ZeroTierOne for Windows binary project, builds and runs and mostly works but still some issues with tap. 2013-08-26 17:22:20 -04:00
Adam Ierymenko
5076c75b07 More Windows port work. 2013-08-12 16:57:34 -04:00
Adam Ierymenko
8a46452a70 Move template parameter in Thread to a more logical scope location. 2013-08-08 09:19:36 -04:00
Adam Ierymenko
a7c4cbe53a CLI debugging, got rid of nasty old Thread class and replaced with newer cleaner portable idiom. 2013-08-05 16:06:16 -04:00
Adam Ierymenko
e4c5ad9f43 More work on network membership certs, and it builds now. Still in heavy development. 2013-07-29 17:11:00 -04:00
Adam Ierymenko
9cf734b74a Sane-ify Address, get rid of goofy union thingy. 2013-07-25 13:24:39 -04:00
Adam Ierymenko
0c7f8e247c Add amSupernode to make code clearer in the check-if-self-is-supernode case. 2013-07-23 10:23:55 -07:00
Adam Ierymenko
97cbd98bc5 Compile fixes, integration of fast PRNG. 2013-07-13 14:28:26 -04:00
Adam Ierymenko
3e49337d9a Add a fast non-cryptographic PRNG. 2013-07-13 13:26:27 -04:00
Adam Ierymenko
aa59c1de10 Bunch of little bug fixes in newly refactored code. 2013-07-12 22:07:48 -04:00
Adam Ierymenko
a004878546 Update bloom filter for MULTICAST_FRAME retransmit, and temporarily add abort() to catch gremlin 2013-07-12 17:21:23 -04:00
Adam Ierymenko
f934b81703 Several bug fixes in newly refactored code. 2013-07-12 16:40:59 -04:00
Adam Ierymenko
9e28bbfbb2 Factored out multicast propagation algorithm from Switch and Topology, also cleaned up and clarified it a bit. 2013-07-10 17:24:27 -04:00
Adam Ierymenko
775fef9ce9 Silly multicast propagation fix: exclude upstream sender to never send duplicate multicasts back to where they came from 2013-07-08 20:53:05 -04:00
Adam Ierymenko
150850b800 New git repository for release - version 0.2.0 tagged 2013-07-04 16:56:19 -04:00