88bdb81791
Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
2014-06-30 11:31:04 -07:00
40bd460b1c
Some comment revisions and additional sanity checks.
2014-06-23 08:19:41 -07:00
be0a8ec1f1
.
2014-06-21 12:16:25 -04:00
c3cea55493
Some cleanup in PacketDecoder.
2014-06-18 09:00:53 -07:00
2162a419e3
Some logging fixes.
2014-06-17 13:52:55 -07:00
6802da457e
Bridging pretty much ready to test! Got Switch all wired up. Also fix a latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68
2014-06-13 21:06:34 -07:00
d6a4f8d77b
Add flags to EXT_FRAME for better future proofness.
2014-06-12 11:40:30 -07:00
c30f9832b0
Packet decoder work for EXT_FRAME for bridging - GitHub issue #68
2014-06-10 21:41:34 -07:00
fb31f93c52
Protocol messages for bridging. GitHub issue #68
2014-06-10 15:25:15 -07:00
4b773b61f5
Netconf fixes.
2014-05-24 00:10:23 +00:00
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
2014-05-23 14:32:31 -07:00
b117ff5435
Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
2014-04-10 11:17:54 -07:00
700a450806
More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered.
2014-04-01 18:39:10 -07:00
f13493edb2
Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
2014-03-31 22:23:55 -07:00
8d3eb1a258
A few renamings to be consistent.
2014-03-21 14:18:35 -07:00
33ad3deaee
Builds with new Path code.
2014-03-21 13:46:55 -07:00
97e6b38144
MULTICAST_FRAME TRACE improvements.
2014-03-20 14:24:15 -07:00
7a45ff460d
More deadlock fixes in new I/O.
2014-03-20 14:00:05 -07:00
4d0ad9abb6
Fix TRACE bug and new UDP socket code issue.
2014-03-19 23:10:34 -07:00
abc82d6a52
IPC changes and SocketManager changes all build!
2014-03-19 13:56:48 -07:00
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
2014-02-16 12:40:22 -08:00
bf5f09a0c7
Yank a code path it turns out we probably don't want.
2014-02-03 10:46:37 -08:00
490e86dde3
Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates.
2014-01-30 14:23:52 -08:00
aa1be9fcad
Some TRACE cleanup.
2014-01-29 20:09:55 -05:00
17796aaed4
TRACE NOP receipt.
2014-01-29 17:08:03 -08:00
8b65b3e6d7
Yank PROBE stuff since it's not used and was a premature addition to the protocol.
2014-01-28 10:41:43 -08:00
f80ec871f6
Make EthernetTap creation occur in a background thread in Network since it's a time consuming operation on Windows. This fixes one of the last remaining Windows problems.
2014-01-27 23:13:36 -08:00
07f505971c
Windows build fixes.
2014-01-17 17:09:59 -08:00
60731e6d02
Update URLs for auto-update, check supernode version in one more place, delete pid before executing updater.
2014-01-07 16:37:36 -08:00
cc2a1444ae
TRACE output improvements and compile fix.
2013-12-31 11:18:40 -08:00
10df5dcf70
Fix several things:
...
(1) The changes to path learning in the two previous releases were poorly thought out,
and this version should remedy that by introducing PROBE. This is basically a kind of
ECHO request and is used to authenticate endpoints that are not learned via a valid
request/response pair. Thus we will still passively learn endpoints, but securely.
(2) Turns out there was a security oversight in _doHELLO() that could have permitted...
well... I'm not sure it was exploitable to do anything particularly interesting since
a bad identity would be discarded anyway, but fix it just the same.
2013-12-31 11:03:45 -08:00
c8166b2db1
Bump version to 0.6.4 for testing, integrate software updater auto-check into PacketDecoder decode path and main loop.
2013-12-26 20:57:17 -08:00
92969b4426
Fix for GitHub issue #20 (untested)
2013-12-24 10:39:29 -08:00
026442f28f
docs
2013-12-22 10:56:03 -08:00
942cc0ca21
Certificate of membership works now... had to fix multicast propagation so COM is pushed with multicast, which makes tremendous sense in retrospect.
2013-10-25 14:51:55 -04:00
010616e3ae
Add some more TRACE output for certs.
2013-10-25 13:43:04 -04:00
2f00ae4fd7
Version 0.6.1: minor bug fix, DBM removal
...
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-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.
2013-10-21 14:12:00 -04:00
fbf6ab5d4d
Bug fixes: inverted sense bug, printf format bug.
2013-10-18 16:27:07 -04:00
ca93b4a1ac
Clean up some stuff, including a few spots where exceptions were not being handled correctly.
2013-10-18 14:16:53 -04:00
03b909603a
Clean up the awful Network::Config mess and break that out into NetworkConfig.
2013-10-18 13:20:34 -04:00
9f107dbd4e
Work in progress on cleaning up netconf mess in node code...
2013-10-18 09:48:02 -04:00
d0dbd869c9
Increase verbosity of multicast tracing and fix tap build problem / GitHub Issue #19
2013-10-17 15:20:43 -04:00
797bba04dd
Get rid of not used and maybe never to be used Filter code.
2013-10-17 13:07:53 -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.
2013-10-17 06:41:52 -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.
2013-10-17 05:37:01 -04:00
46f868bd4f
Lots of cleanup, more work on certificates, some security fixes.
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.
2013-10-07 17:00:53 -04:00
dcbc9c8ddd
Rename error code for no membership certificate.
2013-10-07 15:21:40 -04:00
4267e7da93
Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder.
2013-10-05 10:19:12 -04:00