Adam Ierymenko
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
Adam Ierymenko
40bd460b1c
Some comment revisions and additional sanity checks.
2014-06-23 08:19:41 -07:00
Adam Ierymenko
be0a8ec1f1
.
2014-06-21 12:16:25 -04:00
Adam Ierymenko
c3cea55493
Some cleanup in PacketDecoder.
2014-06-18 09:00:53 -07:00
Adam Ierymenko
2162a419e3
Some logging fixes.
2014-06-17 13:52:55 -07:00
Adam Ierymenko
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
Adam Ierymenko
d6a4f8d77b
Add flags to EXT_FRAME for better future proofness.
2014-06-12 11:40:30 -07:00
Adam Ierymenko
c30f9832b0
Packet decoder work for EXT_FRAME for bridging - GitHub issue #68
2014-06-10 21:41:34 -07:00
Adam Ierymenko
fb31f93c52
Protocol messages for bridging. GitHub issue #68
2014-06-10 15:25:15 -07:00
Adam Ierymenko
4b773b61f5
Netconf fixes.
2014-05-24 00:10:23 +00:00
Adam Ierymenko
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
2014-05-23 14:32:31 -07:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
8d3eb1a258
A few renamings to be consistent.
2014-03-21 14:18:35 -07:00
Adam Ierymenko
33ad3deaee
Builds with new Path code.
2014-03-21 13:46:55 -07:00
Adam Ierymenko
97e6b38144
MULTICAST_FRAME TRACE improvements.
2014-03-20 14:24:15 -07:00
Adam Ierymenko
7a45ff460d
More deadlock fixes in new I/O.
2014-03-20 14:00:05 -07:00
Adam Ierymenko
4d0ad9abb6
Fix TRACE bug and new UDP socket code issue.
2014-03-19 23:10:34 -07:00
Adam Ierymenko
abc82d6a52
IPC changes and SocketManager changes all build!
2014-03-19 13:56:48 -07:00
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
2014-02-16 12:40:22 -08:00
Adam Ierymenko
bf5f09a0c7
Yank a code path it turns out we probably don't want.
2014-02-03 10:46:37 -08:00
Adam Ierymenko
490e86dde3
Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates.
2014-01-30 14:23:52 -08:00
Adam Ierymenko
aa1be9fcad
Some TRACE cleanup.
2014-01-29 20:09:55 -05:00
Adam Ierymenko
17796aaed4
TRACE NOP receipt.
2014-01-29 17:08:03 -08:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
07f505971c
Windows build fixes.
2014-01-17 17:09:59 -08:00
Adam Ierymenko
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
Adam Ierymenko
cc2a1444ae
TRACE output improvements and compile fix.
2013-12-31 11:18:40 -08:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
92969b4426
Fix for GitHub issue #20 (untested)
2013-12-24 10:39:29 -08:00
Adam Ierymenko
026442f28f
docs
2013-12-22 10:56:03 -08:00
Adam Ierymenko
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
Adam Ierymenko
010616e3ae
Add some more TRACE output for certs.
2013-10-25 13:43:04 -04:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
fbf6ab5d4d
Bug fixes: inverted sense bug, printf format bug.
2013-10-18 16:27:07 -04:00
Adam Ierymenko
ca93b4a1ac
Clean up some stuff, including a few spots where exceptions were not being handled correctly.
2013-10-18 14:16:53 -04:00
Adam Ierymenko
03b909603a
Clean up the awful Network::Config mess and break that out into NetworkConfig.
2013-10-18 13:20:34 -04:00
Adam Ierymenko
9f107dbd4e
Work in progress on cleaning up netconf mess in node code...
2013-10-18 09:48:02 -04:00
Adam Ierymenko
d0dbd869c9
Increase verbosity of multicast tracing and fix tap build problem / GitHub Issue #19
2013-10-17 15:20:43 -04:00
Adam Ierymenko
797bba04dd
Get rid of not used and maybe never to be used Filter code.
2013-10-17 13:07:53 -04:00
Adam Ierymenko
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
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
dcbc9c8ddd
Rename error code for no membership certificate.
2013-10-07 15:21:40 -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