Adam Ierymenko
af8fcac0fc
RPC infrastructure work in progress.
13 years ago
Adam Ierymenko
9cf734b74a
Sane-ify Address, get rid of goofy union thingy.
13 years ago
Adam Ierymenko
083ae2d097
Work in progress on RPC.
13 years ago
Adam Ierymenko
668c428051
Basic RPC stuff in Packet and PacketDecoder for RPC service support.
13 years ago
Adam Ierymenko
10fc164fcb
More trace output to debug control bus.
13 years ago
Adam Ierymenko
0c7f8e247c
Add amSupernode to make code clearer in the check-if-self-is-supernode case.
13 years ago
Adam Ierymenko
b8e9a79d00
docs
13 years ago
Adam Ierymenko
e4e517e9c3
Doc cleanup.
13 years ago
Adam Ierymenko
5f4eb1ebc6
Command line interface.
13 years ago
Adam Ierymenko
c345c699fd
Self test for command bus encode/decode.
13 years ago
Adam Ierymenko
a677597b44
Better encode/decode code for control bus.
13 years ago
Adam Ierymenko
1fce55fab1
Add an echoed 32-bit token field to command packets.
13 years ago
Adam Ierymenko
2e85cf18c1
Cleanup and build fixes.
13 years ago
Adam Ierymenko
76bc9968ff
New simpler command interface via loopback UDP protected by a crypto token.
13 years ago
Adam Ierymenko
557cc359b3
More filter work.
13 years ago
Adam Ierymenko
102b0865cb
Filter work, adding toString() and main evaluation function.
13 years ago
Adam Ierymenko
a793dc2b29
Small updates to documentation, a few precautionary fixes.
13 years ago
Adam Ierymenko
a6f4de8172
Also exclude upstream when picking supernode for multicast propagation, to not bounce back and forth to the same supernode.
13 years ago
Adam Ierymenko
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.
13 years ago
Adam Ierymenko
ca83f07b54
Simpler variant on multicast propagation algorithm seems to perform better by being less deterministic. May also be faster.
13 years ago
Adam Ierymenko
195ded4608
Cleanup, comments, regularize TRACE messages.
13 years ago
Adam Ierymenko
97cbd98bc5
Compile fixes, integration of fast PRNG.
13 years ago
Adam Ierymenko
3e49337d9a
Add a fast non-cryptographic PRNG.
13 years ago
Adam Ierymenko
c6dd5b239f
Minor improvement to multicast propagation algorithm.
13 years ago
Adam Ierymenko
aa59c1de10
Bunch of little bug fixes in newly refactored code.
13 years ago
Adam Ierymenko
a004878546
Update bloom filter for MULTICAST_FRAME retransmit, and temporarily add abort() to catch gremlin
13 years ago
Adam Ierymenko
086050686f
Merge branch 'adamierymenko-dev' of 10.211.55.2:/Users/api/Code/local-ZeroTierOne into adamierymenko-dev
13 years ago
Adam Ierymenko
f934b81703
Several bug fixes in newly refactored code.
13 years ago
Adam Ierymenko
77fd78d5c9
Little cleanup and docs.
13 years ago
Adam Ierymenko
a86e1cdb88
A bit more minor cleanup before testing.
13 years ago
Adam Ierymenko
2510f594e5
It builds now. The Switch object has been put on a diet. Now to test on the testnet before merge to master.
13 years ago
Adam Ierymenko
339b2314ea
More work in progress on Switch / PacketDecoder refactor.
13 years ago
Adam Ierymenko
fd2b383c3e
Work in progress...
13 years ago
Adam Ierymenko
ae93c95151
More major Switch refactor work... still in progress.
13 years ago
Adam Ierymenko
ffad0b2780
Factoring out packet decoder from Switch to put that object on a little bit of a diet. Work in progress, wont build yet.
13 years ago
Adam Ierymenko
bcd079b70e
Adding signatures to multicast frames, work in progress, does not build yet
13 years ago
Adam Ierymenko
9f8069434a
0.2.5 - cleaned up multicast propagation algorithm and factored it out into Multicaster.hpp and BloomFilter.hpp
13 years ago
Adam Ierymenko
9e28bbfbb2
Factored out multicast propagation algorithm from Switch and Topology, also cleaned up and clarified it a bit.
13 years ago
Adam Ierymenko
47f611e7b8
Add bloom filter as separate code, work in progress factoring out multicast algorithm from the bloated Switch class.
13 years ago
Adam Ierymenko
b14856da50
docs
13 years ago
Adam Ierymenko
1111d11be1
Version 0.2.4 - fix for EthernetTap shutdown problem, security improvements (no known bugs fixed, just proactive work)
13 years ago
Adam Ierymenko
51295e77d0
Enable -fstack-protector on Linux too
13 years ago
Adam Ierymenko
a20b540fb0
Small compiler warning fix
13 years ago
Adam Ierymenko
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.
13 years ago
Adam Ierymenko
41cd980bf7
Further increase verbosity of TRACE messages for duplicate multicasts
13 years ago
Adam Ierymenko
1ecf6ed3d0
0.2.3 - OSX bug fix, multicast propagation fix, no incompatible protocol changes
13 years ago
Adam Ierymenko
775fef9ce9
Silly multicast propagation fix: exclude upstream sender to never send duplicate multicasts back to where they came from
13 years ago
Adam Ierymenko
6eb77da094
Fix for issue #6 : OSX tap device forgets it has IPv6
13 years ago
Adam Ierymenko
366f556e5b
Filter work
13 years ago
Adam Ierymenko
e7f20ad5f9
More filter development. It builds but is not integrated with the rest of the code.
13 years ago