Commit graph

  • f5d77a1bc2 Clean up a bunch of valgrind errors, nix a potentially unsafe op in Buffer assignment operator. Adam Ierymenko 2013-08-12 13:17:03 -04:00
  • 93a7eef2a5 Replace libcrypto RAND_ with our own to avoid valgrind errors. Adam Ierymenko 2013-08-10 10:27:53 -04:00
  • 67acba4bc9 Stop using RAND_ in libcrypto for Utils::getSecureRandom() due to annoying valgrind spew from libcrypto use of uninitialized RAM as a random source. Might look into replacing RAND_ in libcrypto with our own simple /dev/urandom / Windows CAPI plugin. Adam Ierymenko 2013-08-10 10:12:16 -04:00
  • 9979474f1e Add range safety check to EllipticCurveKey. Adam Ierymenko 2013-08-09 20:45:15 -04:00
  • 6c53891b44 Version 0.4.1 - RateLimiter for multicast, bug fixes. 0.4.1 Adam Ierymenko 2013-08-09 17:21:35 -04:00
  • 95a23dc7ec Fix for another wonderful C++ threading race condition. Adam Ierymenko 2013-08-09 17:20:40 -04:00
  • 7c3a446499 Tweak default multicast rate limits. Adam Ierymenko 2013-08-09 17:02:06 -04:00
  • 6a24ac4f00 Add a concept of debt to RateLimiter, save a bit of RAM. Adam Ierymenko 2013-08-09 16:36:58 -04:00
  • 3af55f4423 Add RateLimiter for rate limiting multicast, not tested yet. Adam Ierymenko 2013-08-08 17:20:35 -04:00
  • 95c0790a88 Back off a little on multicast propagation depth. Eventually this will be a network parameter. Adam Ierymenko 2013-08-08 12:55:01 -04:00
  • 5cabb60a6f Actually report a meaningful network status instead of always OK Adam Ierymenko 2013-08-08 10:41:17 -04:00
  • 86056fdbd9 Generalize unlink to OS-dep code in Utils, just a little prep for Windows port. Adam Ierymenko 2013-08-08 10:06:39 -04:00
  • 8a46452a70 Move template parameter in Thread to a more logical scope location. Adam Ierymenko 2013-08-08 09:19:36 -04:00
  • 20f8668c28 0.4.0: MAJOR CHANGE TO NETWORK IDS AND NETWORK MEMBERSHIP (please upgrade!) 0.4.0 Adam Ierymenko 2013-08-07 15:23:34 -04:00
  • 7015992b84 Make cli try to read auth token from global home if possible (unix-like systems) Adam Ierymenko 2013-08-07 15:16:00 -04:00
  • 4be890c171 Go back to release build. Adam Ierymenko 2013-08-07 14:23:09 -04:00
  • e98fd3dba0 Add code to automatically join Earth if no network memberships are defined. Adam Ierymenko 2013-08-07 14:19:50 -04:00
  • f5717f4427 Fix a bug and wow, it works. Adam Ierymenko 2013-08-07 11:55:55 -04:00
  • 5f8a3f4a7f More detail and output improvements to command bus "listpeers," and a little cleanup. Adam Ierymenko 2013-08-06 11:50:56 -04:00
  • 499ac2699f Bit of comment and if nesting cleanup in PacketDecoder. Adam Ierymenko 2013-08-06 10:39:20 -04:00
  • b342f56bec Network constructor deuglification, remove unused old encrypt/decrypt methods from Identity. Adam Ierymenko 2013-08-06 10:15:05 -04:00
  • 28a73b620e Bunch more debugging and loop closing on new netconf. Adam Ierymenko 2013-08-06 01:28:56 -04:00
  • e73c4cb68b Whole bunch of stuff: netconf, bug fixes, tweaks to ping and firewall opener timing code. Adam Ierymenko 2013-08-06 00:05:39 -04:00
  • c9c63074bb CLI communication now working. Adam Ierymenko 2013-08-05 17:44:39 -04:00
  • 70f368fdc3 CLI now actually sends commands... :P Adam Ierymenko 2013-08-05 16:11:16 -04:00
  • a7c4cbe53a CLI debugging, got rid of nasty old Thread class and replaced with newer cleaner portable idiom. Adam Ierymenko 2013-08-05 16:06:16 -04:00
  • 3368330b77 Poll for network autoconf, and a few other documentation changes. Adam Ierymenko 2013-08-05 12:34:54 -04:00
  • b9aeec9f29 Documentation improvements and some very minor pre-emptive security stuff. Adam Ierymenko 2013-08-05 12:16:25 -04:00
  • bf5c07f79a Scratch that... more work wiring up netconf. Got to handle OK. Adam Ierymenko 2013-08-03 12:53:46 -04:00
  • 63fa4a684d Merge my adamierymenko-dev into the new master that incorporates Raspberry Pi build changes in order to keep everything in sync. Adam Ierymenko 2013-08-03 10:29:56 -04:00
  • 3635a940f9 Merge pull request #14 from paulfurley/12-libcrypto-armv4 Adam Ierymenko 2013-08-03 07:24:18 -07:00
  • 4f381f8603 Merge 71b1eb9d52 into 1d36ea8ddf paulfurley 2013-08-03 07:00:49 -07:00
  • 71b1eb9d52 Link against libdl to enable use of dlopen etc in libcrypto.a Paul Furley 2013-08-03 13:55:46 +00:00
  • 58c9e90b49 Fixed typo in symlink, v61 vs v6l Paul Furley 2013-08-03 13:00:29 +00:00
  • d415c61c67 libcrypto.afor linux-armv4 Paul Furley 2013-08-03 12:15:15 +00:00
  • 2e373f6400 Symlink linux-armv61 to linux-armv4 Paul Furley 2013-08-03 12:01:20 +00:00
  • 421a04b35f Added linux-armv4 openssl build script Paul Furley 2013-08-03 11:51:00 +00:00
  • 80d8b7d0ae Netconf wired up, ready to test. Adam Ierymenko 2013-08-02 17:17:34 -04:00
  • f823fd05ac Replace fork() with vfork() in tap config, faster. Adam Ierymenko 2013-08-02 14:38:53 -04:00
  • 2a6b74746e Netconf service itself works, time to integrate. Adam Ierymenko 2013-08-02 14:25:23 -04:00
  • 741642ba53 netconf service work Adam Ierymenko 2013-08-01 17:32:37 -04:00
  • 8d30d51cf3 Rename netconf-plugin subdir. Adam Ierymenko 2013-08-01 10:42:02 -04:00
  • ee9a811b81 Netconf service code, interacts with our MySQL database. Adam Ierymenko 2013-08-01 10:11:59 -04:00
  • f260c2839c Local service plugin stuff... work in progress. Adam Ierymenko 2013-07-31 17:24:59 -04:00
  • 2ba97fb46b Remove suicidalThread hack from Thread. Adam Ierymenko 2013-07-31 10:06:59 -04:00
  • 9df88a3933 Change mind again... dump Http. Launcher will do this and will use libcurl. Also fix some format string errors. Adam Ierymenko 2013-07-31 10:05:00 -04:00
  • 3daea24d50 Little bit of protocol changes before implementation of new verbs. Adam Ierymenko 2013-07-31 09:27:55 -04:00
  • 7e156b2622 Call clean on all networks periodically, generalize Topology clean cycle to an overall clean cycle. Adam Ierymenko 2013-07-30 11:14:53 -04:00
  • e4c5ad9f43 More work on network membership certs, and it builds now. Still in heavy development. Adam Ierymenko 2013-07-29 17:11:00 -04:00
  • 439e602d5a Fix a bunch of errors due to minor method signature changes, still a work in progress. Adam Ierymenko 2013-07-29 16:18:29 -04:00
  • a53cfc9096 Network membership certificate work in progress... does not build yet. Adam Ierymenko 2013-07-29 13:56:20 -04:00
  • e7b515c86c remove obsolete packtool Adam Ierymenko 2013-07-27 16:29:43 -04:00
  • 304ed641fe makekeypair utility Adam Ierymenko 2013-07-27 16:26:06 -04:00
  • 7a17f6ca80 Add skeleton of certificate-based private network authentication. Also remove some old code. Adam Ierymenko 2013-07-27 16:20:08 -04:00
  • d35d322890 Remove JsonCPP from authors, no longer used. Adam Ierymenko 2013-07-27 15:46:36 -04:00
  • dd203f0065 Revert removal of Http. Witness my indecisiveness. Adam Ierymenko 2013-07-27 15:45:01 -04:00
  • fb975ead23 Add simple key=value dictionary, sorta like java.util.Properties. Adam Ierymenko 2013-07-27 15:09:51 -04:00
  • a816f56426 Dump huffman, doesnt add much and complicates porting to other languages. Also fix compile error in idtool. Adam Ierymenko 2013-07-27 14:01:19 -04:00
  • 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. Adam Ierymenko 2013-07-27 13:54:59 -04:00
  • 917b95a1d6 cleanup Adam Ierymenko 2013-07-27 13:40:56 -04:00
  • b0a83093ce Back out of RPC... blech. Have a better idea. Adam Ierymenko 2013-07-27 13:36:27 -04:00
  • 57d8730f1b Wire up RPC plugin loading to Node. Adam Ierymenko 2013-07-25 17:53:57 -04:00
  • af8fcac0fc RPC infrastructure work in progress. Adam Ierymenko 2013-07-25 15:19:35 -04:00
  • 9cf734b74a Sane-ify Address, get rid of goofy union thingy. Adam Ierymenko 2013-07-25 13:24:39 -04:00
  • 083ae2d097 Work in progress on RPC. Adam Ierymenko 2013-07-25 12:55:31 -04:00
  • 668c428051 Basic RPC stuff in Packet and PacketDecoder for RPC service support. Adam Ierymenko 2013-07-23 22:46:04 -07:00
  • 10fc164fcb More trace output to debug control bus. Adam Ierymenko 2013-07-23 17:21:34 -07:00
  • 0c7f8e247c Add amSupernode to make code clearer in the check-if-self-is-supernode case. Adam Ierymenko 2013-07-23 10:23:55 -07:00
  • b8e9a79d00 docs Adam Ierymenko 2013-07-20 18:24:56 -04:00
  • e4e517e9c3 Doc cleanup. Adam Ierymenko 2013-07-18 18:07:43 -04:00
  • 5f4eb1ebc6 Command line interface. Adam Ierymenko 2013-07-18 16:35:52 -04:00
  • c345c699fd Self test for command bus encode/decode. Adam Ierymenko 2013-07-18 13:27:46 -04:00
  • a677597b44 Better encode/decode code for control bus. Adam Ierymenko 2013-07-18 11:43:46 -04:00
  • 1fce55fab1 Add an echoed 32-bit token field to command packets. Adam Ierymenko 2013-07-17 17:35:19 -04:00
  • 2e85cf18c1 Cleanup and build fixes. Adam Ierymenko 2013-07-17 14:39:34 -04:00
  • 76bc9968ff New simpler command interface via loopback UDP protected by a crypto token. Adam Ierymenko 2013-07-17 14:10:44 -04:00
  • 557cc359b3 More filter work. Adam Ierymenko 2013-07-17 10:01:46 -04:00
  • 102b0865cb Filter work, adding toString() and main evaluation function. Adam Ierymenko 2013-07-16 15:00:15 -04:00
  • a793dc2b29 Small updates to documentation, a few precautionary fixes. Adam Ierymenko 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. Adam Ierymenko 2013-07-15 08:00:15 -04:00
  • 1d36ea8ddf 0.3.0: BREAKS PROTOCOL BACKWARD COMPATIBILITY 0.3.0 Adam Ierymenko 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. Adam Ierymenko 2013-07-13 15:17:21 -04:00
  • 195ded4608 Cleanup, comments, regularize TRACE messages. Adam Ierymenko 2013-07-13 14:45:39 -04:00
  • 97cbd98bc5 Compile fixes, integration of fast PRNG. Adam Ierymenko 2013-07-13 14:28:26 -04:00
  • 3e49337d9a Add a fast non-cryptographic PRNG. Adam Ierymenko 2013-07-13 13:26:27 -04:00
  • c6dd5b239f Minor improvement to multicast propagation algorithm. Adam Ierymenko 2013-07-12 22:54:39 -04:00
  • aa59c1de10 Bunch of little bug fixes in newly refactored code. Adam Ierymenko 2013-07-12 22:07:48 -04:00
  • a004878546 Update bloom filter for MULTICAST_FRAME retransmit, and temporarily add abort() to catch gremlin Adam Ierymenko 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 Adam Ierymenko 2013-07-12 16:43:08 -04:00
  • f934b81703 Several bug fixes in newly refactored code. Adam Ierymenko 2013-07-12 16:40:59 -04:00
  • 77fd78d5c9 Little cleanup and docs. Adam Ierymenko 2013-07-12 10:13:24 -04:00
  • a86e1cdb88 A bit more minor cleanup before testing. Adam Ierymenko 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. Adam Ierymenko 2013-07-11 22:25:12 -04:00
  • 339b2314ea More work in progress on Switch / PacketDecoder refactor. Adam Ierymenko 2013-07-11 22:06:25 -04:00
  • fd2b383c3e Work in progress... Adam Ierymenko 2013-07-11 18:15:51 -04:00
  • ae93c95151 More major Switch refactor work... still in progress. Adam Ierymenko 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. Adam Ierymenko 2013-07-11 16:19:06 -04:00
  • bcd079b70e Adding signatures to multicast frames, work in progress, does not build yet Adam Ierymenko 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 Adam Ierymenko 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. Adam Ierymenko 2013-07-10 17:24:27 -04:00