Adam Ierymenko
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.
2013-10-17 05:37:01 -04:00
Adam Ierymenko
46f868bd4f
Lots of cleanup, more work on certificates, some security fixes.
2013-10-16 17:47:26 -04:00
Adam Ierymenko
58fa6cab43
Auto-pushing of membership certs on: MULTICAST_FRAME,FRAME,MULTICAST_LIKE and on receipt of MULTICAST_LIKE.
2013-10-07 17:00:53 -04:00
Adam Ierymenko
4d594b24bc
Automagically push netconf certs -- Network support.
2013-10-07 16:13:52 -04:00
Adam Ierymenko
b4ae1adfbf
Break out certificate of membership into its own class.
2013-10-07 15:29:03 -04:00
Adam Ierymenko
dcbc9c8ddd
Rename error code for no membership certificate.
2013-10-07 15:21:40 -04:00
Adam Ierymenko
430882327e
Couple of small fixes, works again with new ID code.
2013-10-07 15:00:38 -04:00
Adam Ierymenko
2fa2796f2a
Another tweak, hopefully final, to reduce variance on identity generation times.
2013-10-07 14:31:13 -04:00
Adam Ierymenko
343b7f44fc
Old algo for ID derivation was not in fact memory-hard since Salsa20 is seekable, so take two.
2013-10-07 12:48:27 -04:00
Adam Ierymenko
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.
2013-10-07 09:36:20 -04:00
Adam Ierymenko
5fa7a92048
Allocate genmem[] since its too big for the stack on some systems.
2013-10-06 05:28:25 -04:00
Adam Ierymenko
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.
2013-10-05 14:15:59 -04:00
Adam Ierymenko
a31c54b44b
Remove an obsolete column from Node table in netconf.
2013-10-05 10:45:23 -04:00
Adam Ierymenko
4267e7da93
Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder.
2013-10-05 10:19:12 -04:00
Adam Ierymenko
0e43e5e8f2
Rest of work on new hashcash based identity scheme.
2013-10-05 07:00:55 -04:00
Adam Ierymenko
b0187f4472
Hashcash-based identity, work in progress... committing to test speed on other boxes.
2013-10-05 06:00:47 -04:00
Adam Ierymenko
588a47be89
Some API improvements to C25519 in preparation for that thing I woke up thinking about at 4am.
2013-10-05 05:26:38 -04:00
Adam Ierymenko
ea4e1136dd
Flesh out membership certificate with signature, better serialize/deserialize, and rename parameter to qualifier to make better conceptual sense.
2013-10-04 12:24:21 -04:00
Adam Ierymenko
ca6c0fad08
VERSION 0.5.0 - alpha users must rebuild and restart!
...
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-03 15:57:44 -04:00
Adam Ierymenko
0ab7b6d014
docs
2013-10-03 15:48:26 -04:00
Adam Ierymenko
bb4a96c630
Add more info to remote multicast trace (debug facility).
2013-10-03 14:53:15 -04:00
Adam Ierymenko
c7590634e8
Eliminate a lot of redundant WHOIS requests, clean up WHOIS clutter in TRACE, flesh out multicast tracing a bit.
2013-10-03 14:38:07 -04:00
Adam Ierymenko
58538500f2
Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them.
2013-10-02 16:12:10 -04:00
Adam Ierymenko
b8a9b42993
docs
2013-10-02 14:06:23 -04:00
Adam Ierymenko
2cfa76fa8b
Multicast propagation is now working from non-supernodes, and working quite well. Time for some more simulation before 0.5.0!
2013-10-02 13:50:42 -04:00
Adam Ierymenko
929ed5d8b8
Merge branch 'adamierymenko-dev' of /Users/api/Code/local-ZeroTierOne into adamierymenko-dev
2013-10-01 17:19:36 -04:00
Adam Ierymenko
4b6ec872c7
More multicast fixes.
2013-10-01 17:19:24 -04:00
Adam Ierymenko
676f391ccf
Multicast debug changes.
2013-10-01 16:31:46 -04:00
Adam Ierymenko
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.
2013-10-01 16:01:36 -04:00
Adam Ierymenko
1a76455986
Fix for multicast propagation to prevent buildup of frames ping-ponging between supernodes.
2013-09-30 17:10:34 -04:00
Adam Ierymenko
e72a1de0d5
Fix bug in next hop selection.
2013-09-30 16:31:22 -04:00
Adam Ierymenko
20832a0562
Send reset of OK(HELLO) in both places where it gets composed.
2013-09-30 14:55:10 -04:00
Adam Ierymenko
9db7939d38
Make new multicast depth and prefix bits parameters configurable.
2013-09-30 13:51:56 -04:00
Adam Ierymenko
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.
2013-09-30 11:05:35 -04:00
Adam Ierymenko
141b858737
Self-test fixes for new packet armor/dearmor functions that combine old encrypt and MAC functions.
2013-09-27 16:25:35 -04:00
Adam Ierymenko
0dca9964bf
Whew, it builds!
2013-09-27 16:03:13 -04:00
Adam Ierymenko
4e010da54b
Work in progress...
2013-09-26 17:45:19 -04:00
Adam Ierymenko
24bad9f3d1
More work in progress in new multicast propagation...
2013-09-25 17:41:49 -04:00
Adam Ierymenko
f3128a18fe
Work in progress...
2013-09-25 10:55:27 -04:00
Adam Ierymenko
5557a8192d
Work in progress...
2013-09-24 17:35:05 -04:00
Adam Ierymenko
bddbf4d276
Work in progress...
2013-09-24 12:44:15 -04:00
Adam Ierymenko
62a6f7ca63
More work in progress on new Multicaster. This should be pretty much good to go, and performance should not be too O(crappy).
2013-09-22 13:35:40 -04:00
Adam Ierymenko
770fbaf4b2
New multicast algorithm work in progress...
2013-09-21 16:46:00 -04:00
Adam Ierymenko
64c9c2e06b
New packet formats for MULTICAST_FRAME, and MULTICAST_GOT. Not implemented yet in decoder, so wont compile. Work in progress.
2013-09-20 13:36:14 -04:00
Adam Ierymenko
c26b64f24b
Fix for netconf advertising of multicast propagation parameters, and defaults in Network.hpp.
2013-09-19 16:16:48 -04:00
Adam Ierymenko
795f41c331
Change Linux default build back to debug, and fix startup message. Oh, and new crypto just kinda works. Awesome.
2013-09-19 15:17:11 -04:00
Adam Ierymenko
d8d71df301
Build fix for network ID remap hack.
2013-09-19 14:40:46 -04:00
Adam Ierymenko
aac40562d3
Add temporary code to remap old Earth network ID to new one.
2013-09-19 14:36:37 -04:00
Adam Ierymenko
903b5b4218
Add validation of known-good identity to selftest to check endian and similar issues across platforms.
2013-09-19 12:57:35 -04:00
Adam Ierymenko
fb8d5204e3
Remove code to automatically join Earth -- network joins will now be user-initiated and manual.
2013-09-18 12:32:08 -04:00