Commit Graph

6091 Commits

Author SHA1 Message Date
Adam Ierymenko
9df88a3933 Change mind again... dump Http. Launcher will do this and will use libcurl. Also fix some format string errors. 2013-07-31 10:05:00 -04:00
Adam Ierymenko
3daea24d50 Little bit of protocol changes before implementation of new verbs. 2013-07-31 09:27:55 -04:00
Adam Ierymenko
7e156b2622 Call clean on all networks periodically, generalize Topology clean cycle to an overall clean cycle. 2013-07-30 11:14:53 -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
439e602d5a Fix a bunch of errors due to minor method signature changes, still a work in progress. 2013-07-29 16:18:29 -04:00
Adam Ierymenko
a53cfc9096 Network membership certificate work in progress... does not build yet. 2013-07-29 13:56:20 -04:00
Adam Ierymenko
e7b515c86c remove obsolete packtool 2013-07-27 16:29:43 -04:00
Adam Ierymenko
304ed641fe makekeypair utility 2013-07-27 16:26:06 -04:00
Adam Ierymenko
7a17f6ca80 Add skeleton of certificate-based private network authentication. Also remove some old code. 2013-07-27 16:20:08 -04:00
Adam Ierymenko
d35d322890 Remove JsonCPP from authors, no longer used. 2013-07-27 15:46:36 -04:00
Adam Ierymenko
dd203f0065 Revert removal of Http. Witness my indecisiveness. 2013-07-27 15:45:01 -04:00
Adam Ierymenko
fb975ead23 Add simple key=value dictionary, sorta like java.util.Properties. 2013-07-27 15:09:51 -04:00
Adam Ierymenko
a816f56426 Dump huffman, doesnt add much and complicates porting to other languages. Also fix compile error in idtool. 2013-07-27 14:01:19 -04:00
Adam Ierymenko
e6e825da70 Get rid of built-in HTTP. If we do HTTP it will probably be via libcurl to support HTTPS and chunking and other complexities. 2013-07-27 13:54:59 -04:00
Adam Ierymenko
917b95a1d6 cleanup 2013-07-27 13:40:56 -04:00
Adam Ierymenko
b0a83093ce Back out of RPC... blech. Have a better idea. 2013-07-27 13:36:27 -04:00
Adam Ierymenko
57d8730f1b Wire up RPC plugin loading to Node. 2013-07-25 17:53:57 -04:00
Adam Ierymenko
af8fcac0fc RPC infrastructure work in progress. 2013-07-25 15:19:35 -04:00
Adam Ierymenko
9cf734b74a Sane-ify Address, get rid of goofy union thingy. 2013-07-25 13:24:39 -04:00
Adam Ierymenko
083ae2d097 Work in progress on RPC. 2013-07-25 12:55:31 -04:00
Adam Ierymenko
668c428051 Basic RPC stuff in Packet and PacketDecoder for RPC service support. 2013-07-23 22:46:04 -07:00
Adam Ierymenko
10fc164fcb More trace output to debug control bus. 2013-07-23 17:21:34 -07: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
b8e9a79d00 docs 2013-07-20 18:24:56 -04:00
Adam Ierymenko
e4e517e9c3 Doc cleanup. 2013-07-18 18:07:43 -04:00
Adam Ierymenko
5f4eb1ebc6 Command line interface. 2013-07-18 16:35:52 -04:00
Adam Ierymenko
c345c699fd Self test for command bus encode/decode. 2013-07-18 13:27:46 -04:00
Adam Ierymenko
a677597b44 Better encode/decode code for control bus. 2013-07-18 11:43:46 -04:00
Adam Ierymenko
1fce55fab1 Add an echoed 32-bit token field to command packets. 2013-07-17 17:35:19 -04:00
Adam Ierymenko
2e85cf18c1 Cleanup and build fixes. 2013-07-17 14:39:34 -04:00
Adam Ierymenko
76bc9968ff New simpler command interface via loopback UDP protected by a crypto token. 2013-07-17 14:10:44 -04:00
Adam Ierymenko
557cc359b3 More filter work. 2013-07-17 10:01:46 -04:00
Adam Ierymenko
102b0865cb Filter work, adding toString() and main evaluation function. 2013-07-16 15:00:15 -04:00
Adam Ierymenko
a793dc2b29 Small updates to documentation, a few precautionary fixes. 2013-07-15 09:06:59 -04:00
Adam Ierymenko
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
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.
2013-07-13 15:22:14 -04:00
Adam Ierymenko
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
Adam Ierymenko
195ded4608 Cleanup, comments, regularize TRACE messages. 2013-07-13 14:45:39 -04: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
c6dd5b239f Minor improvement to multicast propagation algorithm. 2013-07-12 22:54:39 -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
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
Adam Ierymenko
f934b81703 Several bug fixes in newly refactored code. 2013-07-12 16:40:59 -04:00
Adam Ierymenko
77fd78d5c9 Little cleanup and docs. 2013-07-12 10:13:24 -04:00
Adam Ierymenko
a86e1cdb88 A bit more minor cleanup before testing. 2013-07-11 22:45:12 -04:00
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. 2013-07-11 22:25:12 -04:00
Adam Ierymenko
339b2314ea More work in progress on Switch / PacketDecoder refactor. 2013-07-11 22:06:25 -04:00
Adam Ierymenko
fd2b383c3e Work in progress... 2013-07-11 18:15:51 -04:00