Commit Graph

  • 17778a36ba Clean up secure random, add packet definitions for update distribution facility. Adam Ierymenko 2013-10-27 07:26:50 -04:00
  • df28cd88b8 docs: we no longer use MS loopback Adam Ierymenko 2013-10-26 07:39:07 -04:00
  • 942cc0ca21 Certificate of membership works now... had to fix multicast propagation so COM is pushed with multicast, which makes tremendous sense in retrospect. Adam Ierymenko 2013-10-25 14:51:55 -04:00
  • 010616e3ae Add some more TRACE output for certs. Adam Ierymenko 2013-10-25 13:43:04 -04:00
  • 1505e8dd50 Fix netconf init and identity transfer. Adam Ierymenko 2013-10-25 13:04:42 -04:00
  • 5901972958 More tying up of certificate of membership stuff in the client. Adam Ierymenko 2013-10-24 16:57:26 -04:00
  • bbcd76ecd0 Netconf updates -- actually issue COM, and log attempts to access networks in NetworkActivity using the new authenticated flag in the new DB schema. Adam Ierymenko 2013-10-24 16:19:53 -04:00
  • 3de76fcab1 Make network autoconf a little more frequent to tighten up expiration times. Adam Ierymenko 2013-10-21 16:11:29 -04:00
  • d496304bbf Put back rest of selftest. Adam Ierymenko 2013-10-21 15:59:22 -04:00
  • 719dd2870d Self-test for certificate of membership. Adam Ierymenko 2013-10-21 15:47:33 -04:00
  • 2f00ae4fd7 Version 0.6.1: minor bug fix, DBM removal 0.6.1 Adam Ierymenko 2013-10-21 14:22:02 -04:00
  • 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. Adam Ierymenko 2013-10-21 14:12:00 -04:00
  • 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. Adam Ierymenko 2013-10-21 11:15:47 -04:00
  • 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. Adam Ierymenko 2013-10-21 10:29:44 -04:00
  • bbfd43e036 VERSION 0.6.0 BETA: please upgrade! 0.6.0 Adam Ierymenko 2013-10-20 16:14:27 -04:00
  • 70655cc3f7 Docs and auto-update of Earth network ID. Adam Ierymenko 2013-10-20 16:00:41 -04:00
  • c89cdcc3fd Blech... moving on! Adam Ierymenko 2013-10-20 15:54:32 -04:00
  • 1ed8a22d19 And then it turns out to be too slow on a slower 32-bit machine... we do want to do tablets eventually. Adam Ierymenko 2013-10-20 15:46:36 -04:00
  • bad043729f Yet another revision of this algo... yeesh... and update to supernode IDs. I think I am gonna go with this one. Seems memory-hard enough to me. I am probably procrastinating by obsessing over it. Adam Ierymenko 2013-10-20 15:31:32 -04:00
  • 3c5c3280ff Fix an endian-non-neutrality bug in new hashcash identity algo. Adam Ierymenko 2013-10-20 11:04:58 -04:00
  • 8c9b73f67b Make Salsa20 variable-round, allowing for Salsa20/12 to be used for Packet encrypt and decrypt. Profiling analysis found that Salsa20 encrypt was accounting for a nontrivial percentage of CPU time, so it makes sense to cut this load fundamentally. There are no published attacks against Salsa20/12, and DJB believes 20 rounds to be overkill. This should be more than enough for our needs. Obviously incorporating ASM Salsa20 is among the next steps for performance. Adam Ierymenko 2013-10-18 17:39:48 -04:00
  • 37e3bc3467 Bump version.h to version 0.6.0... almost there! Adam Ierymenko 2013-10-18 16:59:15 -04:00
  • 8d3dc3a44b Add commented out gprof makefile options to Linux build. Adam Ierymenko 2013-10-18 16:51:05 -04:00
  • fbf6ab5d4d Bug fixes: inverted sense bug, printf format bug. Adam Ierymenko 2013-10-18 16:27:07 -04:00
  • e13d4df9ab Forgot to set defaults if multicast parameters are unset. Adam Ierymenko 2013-10-18 15:50:31 -04:00
  • fb7d9b1029 Oops we needed _r in there... Adam Ierymenko 2013-10-18 15:00:55 -04:00
  • 5ef758bbd4 Eliminate unused private field (compiler warning). Adam Ierymenko 2013-10-18 14:27:37 -04:00
  • ca93b4a1ac Clean up some stuff, including a few spots where exceptions were not being handled correctly. Adam Ierymenko 2013-10-18 14:16:53 -04:00
  • 03b909603a Clean up the awful Network::Config mess and break that out into NetworkConfig. Adam Ierymenko 2013-10-18 13:20:34 -04:00
  • 5a8f213c23 Work in progress... Adam Ierymenko 2013-10-18 12:01:48 -04:00
  • b10871cedc More work in netconf cleanup. Adam Ierymenko 2013-10-18 11:01:41 -04:00
  • 9f107dbd4e Work in progress on cleaning up netconf mess in node code... Adam Ierymenko 2013-10-18 09:48:02 -04:00
  • e6eb65be00 Netconf support for ARP and NDP caching TTLs. Adam Ierymenko 2013-10-17 16:49:31 -04:00
  • dd7758e33e Add multicast trace receiver to attic/. Another run of multicast trace reveals fairly nice behavior. It looks like the traffic jams are the fault of ARP, which results from a gaggle of hosts trying to send ping replies. ARP caching will help with that quite a bit. Adam Ierymenko 2013-10-17 16:27:46 -04:00
  • d0dbd869c9 Increase verbosity of multicast tracing and fix tap build problem / GitHub Issue #19 Adam Ierymenko 2013-10-17 15:20:43 -04:00
  • 9ece65da23 Fix some old column names in netconf. Adam Ierymenko 2013-10-17 13:52:39 -04:00
  • 7701e25a45 Merge branch 'adamierymenko-dev' of shub-niggurath.zerotier.com:/git/ZeroTierOne into adamierymenko-dev Adam Ierymenko 2013-10-17 13:08:09 -04:00
  • 797bba04dd Get rid of not used and maybe never to be used Filter code. Adam Ierymenko 2013-10-17 13:07:53 -04:00
  • f7bf9da881 Compile fix for netconf. Adam Ierymenko 2013-10-17 11:22:03 -04:00
  • ce14ba9004 Take the 0.6.0 opportunity to add flags to a few protocol verbs and do a bit more cleanup. Also fix it so certificates wont be accepted unless they are newer than existing ones. Adam Ierymenko 2013-10-17 06:41:52 -04:00
  • 555471200c Add DISTINCT to queue query. Adam Ierymenko 2013-10-17 05:40:04 -04:00
  • 7e7e28f5f7 Add support for pushing network config refresh hints from a MEMORY queue table. That ways it will be possible for network changes to take effect almost immediately across all active peers. Adam Ierymenko 2013-10-17 05:37:01 -04:00
  • 46f868bd4f Lots of cleanup, more work on certificates, some security fixes. Adam Ierymenko 2013-10-16 17:47:26 -04:00
  • 58fa6cab43 Auto-pushing of membership certs on: MULTICAST_FRAME,FRAME,MULTICAST_LIKE and on receipt of MULTICAST_LIKE. Adam Ierymenko 2013-10-07 17:00:53 -04:00
  • 4d594b24bc Automagically push netconf certs -- Network support. Adam Ierymenko 2013-10-07 16:13:52 -04:00
  • b4ae1adfbf Break out certificate of membership into its own class. Adam Ierymenko 2013-10-07 15:29:03 -04:00
  • dcbc9c8ddd Rename error code for no membership certificate. Adam Ierymenko 2013-10-07 15:21:40 -04:00
  • 430882327e Couple of small fixes, works again with new ID code. Adam Ierymenko 2013-10-07 15:00:38 -04:00
  • 2fa2796f2a Another tweak, hopefully final, to reduce variance on identity generation times. Adam Ierymenko 2013-10-07 14:31:13 -04:00
  • 343b7f44fc Old algo for ID derivation was not in fact memory-hard since Salsa20 is seekable, so take two. Adam Ierymenko 2013-10-07 12:48:27 -04:00
  • 0c8614b9c6 Add a second arg to idtool generate to make generating both secret and public easier, add new supernode identities after generating them, fix known good and bad IDs in selftest. Adam Ierymenko 2013-10-07 09:36:20 -04:00
  • 5fa7a92048 Allocate genmem[] since its too big for the stack on some systems. Adam Ierymenko 2013-10-06 05:28:25 -04:00
  • bc715fbd51 Make new identity hashcash algo memory hard, and tweak generation time a bit. Current hashcash cost should be overkill for what we need but still tolerable to users. Adam Ierymenko 2013-10-05 14:15:59 -04:00
  • a31c54b44b Remove an obsolete column from Node table in netconf. Adam Ierymenko 2013-10-05 10:45:23 -04:00
  • 4267e7da93 Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder. Adam Ierymenko 2013-10-05 10:19:12 -04:00
  • 0e43e5e8f2 Rest of work on new hashcash based identity scheme. Adam Ierymenko 2013-10-05 07:00:55 -04:00
  • b0187f4472 Hashcash-based identity, work in progress... committing to test speed on other boxes. Adam Ierymenko 2013-10-05 06:00:47 -04:00
  • 588a47be89 Some API improvements to C25519 in preparation for that thing I woke up thinking about at 4am. Adam Ierymenko 2013-10-05 05:26:38 -04:00
  • ea4e1136dd Flesh out membership certificate with signature, better serialize/deserialize, and rename parameter to qualifier to make better conceptual sense. Adam Ierymenko 2013-10-04 12:24:21 -04:00
  • ca6c0fad08 VERSION 0.5.0 - alpha users must rebuild and restart! 0.5.0 Adam Ierymenko 2013-10-03 15:57:44 -04:00
  • 0ab7b6d014 docs Adam Ierymenko 2013-10-03 15:48:26 -04:00
  • bb4a96c630 Add more info to remote multicast trace (debug facility). Adam Ierymenko 2013-10-03 14:53:15 -04:00
  • c7590634e8 Eliminate a lot of redundant WHOIS requests, clean up WHOIS clutter in TRACE, flesh out multicast tracing a bit. Adam Ierymenko 2013-10-03 14:38:07 -04:00
  • 58538500f2 Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them. Adam Ierymenko 2013-10-02 16:12:10 -04:00
  • b8a9b42993 docs Adam Ierymenko 2013-10-02 14:06:23 -04:00
  • 2cfa76fa8b Multicast propagation is now working from non-supernodes, and working quite well. Time for some more simulation before 0.5.0! Adam Ierymenko 2013-10-02 13:50:42 -04:00
  • 929ed5d8b8 Merge branch 'adamierymenko-dev' of /Users/api/Code/local-ZeroTierOne into adamierymenko-dev Adam Ierymenko 2013-10-01 17:19:36 -04:00
  • 4b6ec872c7 More multicast fixes. Adam Ierymenko 2013-10-01 17:19:24 -04:00
  • 676f391ccf Multicast debug changes. Adam Ierymenko 2013-10-01 16:31:46 -04:00
  • 3443b203e4 Each peer now tracks the last time it announced multicast LIKEs independently and does so frequently enough to prevent expires. Also add a multicast debug facility for use on the testnet. Adam Ierymenko 2013-10-01 16:01:36 -04:00
  • 1a76455986 Fix for multicast propagation to prevent buildup of frames ping-ponging between supernodes. Adam Ierymenko 2013-09-30 17:10:34 -04:00
  • e72a1de0d5 Fix bug in next hop selection. Adam Ierymenko 2013-09-30 16:31:22 -04:00
  • 20832a0562 Send reset of OK(HELLO) in both places where it gets composed. Adam Ierymenko 2013-09-30 14:55:10 -04:00
  • 9db7939d38 Make new multicast depth and prefix bits parameters configurable. Adam Ierymenko 2013-09-30 13:51:56 -04:00
  • 4ecb9369b5 Fix for multicast propagation -- supernodes must always keep propagating. Also fix mac-tap build on new version of Xcode CL tools. Must use old llvm-g++ instead of clang for i686 -mkernel. Adam Ierymenko 2013-09-30 11:05:35 -04:00
  • 141b858737 Self-test fixes for new packet armor/dearmor functions that combine old encrypt and MAC functions. Adam Ierymenko 2013-09-27 16:25:35 -04:00
  • 0dca9964bf Whew, it builds! Adam Ierymenko 2013-09-27 16:03:13 -04:00
  • 4e010da54b Work in progress... Adam Ierymenko 2013-09-26 17:45:19 -04:00
  • 24bad9f3d1 More work in progress in new multicast propagation... Adam Ierymenko 2013-09-25 17:41:49 -04:00
  • f3128a18fe Work in progress... Adam Ierymenko 2013-09-25 10:55:27 -04:00
  • 5557a8192d Work in progress... Adam Ierymenko 2013-09-24 17:35:05 -04:00
  • bddbf4d276 Work in progress... Adam Ierymenko 2013-09-24 12:44:15 -04:00
  • 62a6f7ca63 More work in progress on new Multicaster. This should be pretty much good to go, and performance should not be too O(crappy). Adam Ierymenko 2013-09-22 13:35:40 -04:00
  • 770fbaf4b2 New multicast algorithm work in progress... Adam Ierymenko 2013-09-21 16:46:00 -04:00
  • 64c9c2e06b New packet formats for MULTICAST_FRAME, and MULTICAST_GOT. Not implemented yet in decoder, so wont compile. Work in progress. Adam Ierymenko 2013-09-20 13:36:14 -04:00
  • c26b64f24b Fix for netconf advertising of multicast propagation parameters, and defaults in Network.hpp. Adam Ierymenko 2013-09-19 16:16:48 -04:00
  • 795f41c331 Change Linux default build back to debug, and fix startup message. Oh, and new crypto just kinda works. Awesome. Adam Ierymenko 2013-09-19 15:17:11 -04:00
  • d8d71df301 Build fix for network ID remap hack. Adam Ierymenko 2013-09-19 14:40:46 -04:00
  • aac40562d3 Add temporary code to remap old Earth network ID to new one. Adam Ierymenko 2013-09-19 14:36:37 -04:00
  • 903b5b4218 Add validation of known-good identity to selftest to check endian and similar issues across platforms. Adam Ierymenko 2013-09-19 12:57:35 -04:00
  • fb8d5204e3 Remove code to automatically join Earth -- network joins will now be user-initiated and manual. Adam Ierymenko 2013-09-18 12:32:08 -04:00
  • 9fe613805f Netconf service build fix. Adam Ierymenko 2013-09-17 17:20:40 -04:00
  • 5ccc91a7c3 Prescient endian-ness fix in deriveAddress. Adam Ierymenko 2013-09-17 16:49:16 -04:00
  • 157aba5c3f Get rid of 000000000000000.mcerts junk files. Adam Ierymenko 2013-09-17 16:28:17 -04:00
  • f9079a110e Make network multicast breadth/depth parameters configurable on a per-net basis. Adam Ierymenko 2013-09-17 16:11:57 -04:00
  • 4c06fcfc9d More include formatting cleanup. Adam Ierymenko 2013-09-17 15:53:59 -04:00
  • b2b24ca41b Some file format cleanup. Adam Ierymenko 2013-09-17 15:46:56 -04:00
  • 0133da1dcd Get rid of onSent(), which was never used consistently anyway. Adam Ierymenko 2013-09-17 15:33:34 -04:00
  • 300588c5e8 Add port and control port command line options to daemon and command line client, add new supernode keys to Defaults. Adam Ierymenko 2013-09-17 14:47:48 -04:00
  • de5cc82b5b Build fix to eliminate strict aliasing warnings, and a bug fix. Adam Ierymenko 2013-09-16 19:25:31 +00:00