summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-21Add persistent identity caching for use on supernodes. Activate by just ↵Adam Ierymenko
making an iddb.d directory in the ZeroTier home folder. Also clean up some obsolete cruft from makefiles.
2013-10-21Peers are now dumped on shutdown in a persistence cache and reloaded on ↵Adam Ierymenko
startup, which is good enough for clients right now. Supernodes will get something else for long-term authoritative identity caching.
2013-10-21Get rid of DBM, which technically is a case of YAGNI. Supernodes will need a ↵Adam Ierymenko
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.
2013-10-20VERSION 0.6.0 BETA: please upgrade!Adam Ierymenko
Version 0.6.0 marks the transition of ZeroTier One from ALPHA to BETA. Major updates to the web site and binary packages for MacOS and Linux are coming soon, followed by Windows soon thereafter. This version contains a number of changes including: * Speed improvements to encryption * A new much-improved identity algorithm, which unfortunately requires an identity regeneration. This should happen automatically, and should be the last time for a good long while assuming there's nothing wrong with what's here. * Cleaned up the Network::Config mess in the code, factored out Config into its own NetworkConfig class. * Lots of work to support private networks, which are still in testing. Concurrent with the web site update will be another minor release to include any fixes there. * Some changes to the protocol for better future-proofing. * Netconf support for ARP caching parameters configurable on per-network basis. You must update to stay connected to the network; this version will not talk to 0.5.0. After this, I'm going to be much more reluctant to make incompatible changes.
2013-10-20Docs and auto-update of Earth network ID.Adam Ierymenko
2013-10-20Blech... moving on!Adam Ierymenko
2013-10-20And then it turns out to be too slow on a slower 32-bit machine... we do ↵Adam Ierymenko
want to do tablets eventually.
2013-10-20Yet another revision of this algo... yeesh... and update to supernode IDs. I ↵Adam Ierymenko
think I am gonna go with this one. Seems memory-hard enough to me. I am probably procrastinating by obsessing over it.
2013-10-20Fix an endian-non-neutrality bug in new hashcash identity algo.Adam Ierymenko
2013-10-18Make Salsa20 variable-round, allowing for Salsa20/12 to be used for Packet ↵Adam Ierymenko
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.
2013-10-18Bump version.h to version 0.6.0... almost there!Adam Ierymenko
2013-10-18Add commented out gprof makefile options to Linux build.Adam Ierymenko
2013-10-18Bug fixes: inverted sense bug, printf format bug.Adam Ierymenko
2013-10-18Forgot to set defaults if multicast parameters are unset.Adam Ierymenko
2013-10-18Oops we needed _r in there...Adam Ierymenko
2013-10-18Eliminate unused private field (compiler warning).Adam Ierymenko
2013-10-18Clean up some stuff, including a few spots where exceptions were not being ↵Adam Ierymenko
handled correctly.
2013-10-18Clean up the awful Network::Config mess and break that out into NetworkConfig.Adam Ierymenko
2013-10-18Work in progress...Adam Ierymenko
2013-10-18More work in netconf cleanup.Adam Ierymenko
2013-10-18Work in progress on cleaning up netconf mess in node code...Adam Ierymenko
2013-10-17Netconf support for ARP and NDP caching TTLs.Adam Ierymenko
2013-10-17Add multicast trace receiver to attic/. Another run of multicast trace ↵Adam Ierymenko
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.
2013-10-17Increase verbosity of multicast tracing and fix tap build problem / GitHub ↵Adam Ierymenko
Issue #19
2013-10-17Fix some old column names in netconf.Adam Ierymenko
2013-10-17Merge branch 'adamierymenko-dev' of ↵Adam Ierymenko
shub-niggurath.zerotier.com:/git/ZeroTierOne into adamierymenko-dev
2013-10-17Get rid of not used and maybe never to be used Filter code.Adam Ierymenko
2013-10-17Compile fix for netconf.Adam Ierymenko
2013-10-17Take the 0.6.0 opportunity to add flags to a few protocol verbs and do a bit ↵Adam Ierymenko
more cleanup. Also fix it so certificates wont be accepted unless they are newer than existing ones.
2013-10-17Add DISTINCT to queue query.Adam Ierymenko
2013-10-17Add support for pushing network config refresh hints from a MEMORY queue ↵Adam Ierymenko
table. That ways it will be possible for network changes to take effect almost immediately across all active peers.
2013-10-16Lots of cleanup, more work on certificates, some security fixes.Adam Ierymenko
2013-10-07Auto-pushing of membership certs on: MULTICAST_FRAME,FRAME,MULTICAST_LIKE ↵Adam Ierymenko
and on receipt of MULTICAST_LIKE.
2013-10-07Automagically push netconf certs -- Network support.Adam Ierymenko
2013-10-07Break out certificate of membership into its own class.Adam Ierymenko
2013-10-07Rename error code for no membership certificate.Adam Ierymenko
2013-10-07Couple of small fixes, works again with new ID code.Adam Ierymenko
2013-10-07Another tweak, hopefully final, to reduce variance on identity generation times.Adam Ierymenko
2013-10-07Old algo for ID derivation was not in fact memory-hard since Salsa20 is ↵Adam Ierymenko
seekable, so take two.
2013-10-07Add a second arg to idtool generate to make generating both secret and ↵Adam Ierymenko
public easier, add new supernode identities after generating them, fix known good and bad IDs in selftest.
2013-10-06Allocate genmem[] since its too big for the stack on some systems.Adam Ierymenko
2013-10-05Make new identity hashcash algo memory hard, and tweak generation time a ↵Adam Ierymenko
bit. Current hashcash cost should be overkill for what we need but still tolerable to users.
2013-10-05Remove an obsolete column from Node table in netconf.Adam Ierymenko
2013-10-05Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder.Adam Ierymenko
2013-10-05Rest of work on new hashcash based identity scheme.Adam Ierymenko
2013-10-05Hashcash-based identity, work in progress... committing to test speed on ↵Adam Ierymenko
other boxes.
2013-10-05Some API improvements to C25519 in preparation for that thing I woke up ↵Adam Ierymenko
thinking about at 4am.
2013-10-04Flesh out membership certificate with signature, better ↵Adam Ierymenko
serialize/deserialize, and rename parameter to qualifier to make better conceptual sense.
2013-10-03VERSION 0.5.0 - alpha users must rebuild and restart!Adam Ierymenko
Whew. This is a big one. More of a marathon than a sprint. First, four big things: 1) This version breaks backward compatibility with all prior versions. It's in alpha, I can do that. 2) The port has changed from 8993 to 9993 to mark this change. Probably not necessary but why not? Also 8993/UDP turned out to be used by some enterprise LDAP thingy, which doesn't matter much either but again why not? 3) This version, unlike previous versions, does NOT auto-join the Earth network. Soon there will be more than one net, and not everyone is going to want to get dumped on a flat global LAN right out of the box. To join Earth use the command line interface: sudo zerotier-cli join bc8f9a8ee3000001 4) Finally, you will get a different IP on Earth. The whole cryptosystem has changed and we're not going to bother with continuity issues in alpha testing. So what's changed? See the blog: http://blog.zerotier.com/post/62991430345/alpha-zerotier-one-network-is-down-briefly The net should be up shortly after this commit. If there are any issues, 0.5.0 will be rapidly followed by 0.5.1. :-) Otherwise the next sprint will be finishing up support for private networks. Then it's off to the races with BETA, then Windows. (Decided to move into beta before Windows in all likelihood.)
2013-10-03docsAdam Ierymenko