Commit Graph

1118 Commits

Author SHA1 Message Date
b8e9a79d00 docs 2013-07-20 18:24:56 -04:00
e4e517e9c3 Doc cleanup. 2013-07-18 18:07:43 -04:00
5f4eb1ebc6 Command line interface. 2013-07-18 16:35:52 -04:00
c345c699fd Self test for command bus encode/decode. 2013-07-18 13:27:46 -04:00
a677597b44 Better encode/decode code for control bus. 2013-07-18 11:43:46 -04:00
1fce55fab1 Add an echoed 32-bit token field to command packets. 2013-07-17 17:35:19 -04:00
2e85cf18c1 Cleanup and build fixes. 2013-07-17 14:39:34 -04:00
76bc9968ff New simpler command interface via loopback UDP protected by a crypto token. 2013-07-17 14:10:44 -04:00
557cc359b3 More filter work. 2013-07-17 10:01:46 -04:00
102b0865cb Filter work, adding toString() and main evaluation function. 2013-07-16 15:00:15 -04:00
a793dc2b29 Small updates to documentation, a few precautionary fixes. 2013-07-15 09:06:59 -04:00
a6f4de8172 Also exclude upstream when picking supernode for multicast propagation, to not bounce back and forth to the same supernode. 2013-07-15 08:00:15 -04:00
1d36ea8ddf 0.3.0: BREAKS PROTOCOL BACKWARD COMPATIBILITY
This version is not compatible with versions prior to 0.3.0, so
'git pull' and restart if you are following the alpha.

Changes from 0.2.5:

 - All multicast frames are now signed by the original sender. This
   will permit very efficient and fault tolerant rate limitation
   across networks, and imposes a kind of "hash cash" cost on those
   who wish to flood the network by forcing them to keep regenerating
   new identities.

 - Simplified peer last unicast / last multicast accounting.

 - Improvements to multicast propagation algorithm to achieve better
   coverage with less redundant messages.

 - The bloated Switch class went on a diet, having packet decoding
   broken out into PacketDecoder and multicast propagation algorithm
   broken out into Multicaster.

 - Multicaster is implemented as a template mockable class to permit
   future simulations of huge scale multicast using the actual code
   instead of mockups in another language.

 - Introduced a faster non-cryptographic random source for things
   like multicast propagation and address choosing.

 - Some code cleanup, removal of outdated comments, etc.
0.3.0
2013-07-13 15:22:14 -04:00
ca83f07b54 Simpler variant on multicast propagation algorithm seems to perform better by being less deterministic. May also be faster. 2013-07-13 15:17:21 -04:00
195ded4608 Cleanup, comments, regularize TRACE messages. 2013-07-13 14:45:39 -04:00
97cbd98bc5 Compile fixes, integration of fast PRNG. 2013-07-13 14:28:26 -04:00
3e49337d9a Add a fast non-cryptographic PRNG. 2013-07-13 13:26:27 -04:00
c6dd5b239f Minor improvement to multicast propagation algorithm. 2013-07-12 22:54:39 -04:00
aa59c1de10 Bunch of little bug fixes in newly refactored code. 2013-07-12 22:07:48 -04:00
a004878546 Update bloom filter for MULTICAST_FRAME retransmit, and temporarily add abort() to catch gremlin 2013-07-12 17:21:23 -04:00
086050686f Merge branch 'adamierymenko-dev' of 10.211.55.2:/Users/api/Code/local-ZeroTierOne into adamierymenko-dev 2013-07-12 16:43:08 -04:00
f934b81703 Several bug fixes in newly refactored code. 2013-07-12 16:40:59 -04:00
77fd78d5c9 Little cleanup and docs. 2013-07-12 10:13:24 -04:00
a86e1cdb88 A bit more minor cleanup before testing. 2013-07-11 22:45:12 -04:00
2510f594e5 It builds now. The Switch object has been put on a diet. Now to test on the testnet before merge to master. 2013-07-11 22:25:12 -04:00
339b2314ea More work in progress on Switch / PacketDecoder refactor. 2013-07-11 22:06:25 -04:00
fd2b383c3e Work in progress... 2013-07-11 18:15:51 -04:00
ae93c95151 More major Switch refactor work... still in progress. 2013-07-11 17:52:04 -04:00
ffad0b2780 Factoring out packet decoder from Switch to put that object on a little bit of a diet. Work in progress, wont build yet. 2013-07-11 16:19:06 -04:00
bcd079b70e Adding signatures to multicast frames, work in progress, does not build yet 2013-07-10 22:58:43 -04:00
9f8069434a 0.2.5 - cleaned up multicast propagation algorithm and factored it out into Multicaster.hpp and BloomFilter.hpp 0.2.5 2013-07-10 19:19:00 -04:00
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
47f611e7b8 Add bloom filter as separate code, work in progress factoring out multicast algorithm from the bloated Switch class. 2013-07-09 22:24:50 -04:00
b14856da50 docs 2013-07-09 15:09:11 -04:00
1111d11be1 Version 0.2.4 - fix for EthernetTap shutdown problem, security improvements (no known bugs fixed, just proactive work) 0.2.4 2013-07-09 14:17:16 -04:00
51295e77d0 Enable -fstack-protector on Linux too 2013-07-09 14:14:26 -04:00
a20b540fb0 Small compiler warning fix 2013-07-09 14:11:57 -04:00
ef3e319c64 Several things:
(1) Probable fix for issue #7 and major cleanup of EthernetTap code with consolidation for all unix-like systems and specialization for different flavors only when needed.

(2) Refactor of Buffer<> to make its members private, and Packet to use Buffer's methods exclusively to access them. This improves clarity and means we're no longer lying about Buffer's role in the code's security posture.

(3) Add -fstack-protect to Makefile to bounds check stack variables.
2013-07-09 14:06:55 -04:00
41cd980bf7 Further increase verbosity of TRACE messages for duplicate multicasts 2013-07-09 10:13:13 -04:00
1ecf6ed3d0 0.2.3 - OSX bug fix, multicast propagation fix, no incompatible protocol changes 0.2.3 2013-07-08 20:54:09 -04:00
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
6eb77da094 Fix for issue #6: OSX tap device forgets it has IPv6 2013-07-08 20:36:33 -04:00
366f556e5b Filter work 2013-07-08 20:05:29 -04:00
e7f20ad5f9 More filter development. It builds but is not integrated with the rest of the code. 2013-07-08 19:52:40 -04:00
f8cfdf973e More filter work, and doc updates 2013-07-08 00:21:43 -04:00
e2a2d33f8f Filter code, work in progress, wont build yet 2013-07-07 19:36:57 -04:00
c68ab6b70f add flattr button 2013-07-07 12:32:08 -04:00
3397273322 Increase verbosity of TRACE messages for dropped duplicate multicast frames to help debug multicast propagation 2013-07-06 22:18:19 -04:00
0a7a8b415d Merge pull request #5 from Cubox-/master
The -O6 flag is useless. -O3 will do the same.
2013-07-06 14:20:32 -07:00
9eec6adc8c -O6 Do not exist and is the same as -O3 2013-07-06 22:54:45 +02:00