summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-21Self-test for certificate of membership.Adam Ierymenko
2013-10-21Version 0.6.1: minor bug fix, DBM removalAdam Ierymenko
This version removes the peer DBM present in earlier releases. It is not necessary for regular clients and has been a source of problems. There is a long-term identity cache that can be enabled by making a directory called "iddb.d" in the home folder and restarting ZT1. This is probably something only our supernodes would need, since regular nodes can easily WHOIS peers they've forgotten about. On shutdown, the peer database is dumped to disk. It's then restored on startup. Peers that have not been used in a while are cleaned out, so this keeps this data set small. A DBM may re-appear later if it's needed, but for now it was YAGNI.
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.