|
068d311ecc
|
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
|
2015-04-09 20:54:00 -07:00 |
|
|
4d5a6a25d3
|
Add events for packet decode errors, etc., and re-implement TRACE as an event.
|
2015-04-08 16:49:21 -07:00 |
|
|
bf2ff964e1
|
Utils::now() removal and a bunch of compile fixes.
|
2015-04-08 15:26:45 -07:00 |
|
|
49f031ccb4
|
Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc.
|
2015-04-07 19:31:11 -07:00 |
|
|
24608d5ca3
|
Always use HELLO to contact, and we now confirm newly learned paths via a two-way handshake to prevent half-connects.
|
2015-04-07 12:22:33 -07:00 |
|
|
197d272287
|
More NAT strategy cleanup.
|
2015-04-06 15:08:45 -07:00 |
|
|
be4683a96d
|
Get rid of random port strategy -- research does not support.
|
2015-04-06 15:03:08 -07:00 |
|
|
a95f1e1418
|
Eliminate redundant SharedPtr assignment.
|
2015-04-03 17:01:07 -07:00 |
|
|
6eb9289367
|
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
|
2015-04-03 16:52:53 -07:00 |
|
|
ee0f56355b
|
Send path simplification.
|
2015-04-03 13:14:37 -07:00 |
|
|
a69e1876f1
|
The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core.
|
2015-04-02 17:54:56 -07:00 |
|
|
93012b0ee5
|
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
2015-02-17 13:11:34 -08:00 |
|
|
4e95384ad6
|
Cleanup, add tristate to config code in Network, and happy new year!
|
2015-01-05 17:47:59 -08:00 |
|
|
0c85b4ef5f
|
Tweak to symmetric NAT buster to add one to the number of ports above the current one it attempts.
|
2014-11-20 13:42:18 -08:00 |
|
|
5bb854e504
|
Fix a nasty bug introduced in packet fragmentation a while back during refactoring, and a few other things related to multicast.
|
2014-10-28 17:25:34 -07:00 |
|
|
4941c8a1f3
|
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
|
2014-10-09 17:58:31 -07:00 |
|
|
d5e0f7e3e4
|
Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership.
|
2014-10-09 12:42:25 -07:00 |
|
|
2c8321be1f
|
Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
|
2014-10-04 13:15:02 -07:00 |
|
|
e7c81ef34e
|
Turns out that needed to be a list after all. Also clean up Multicaster::gather().
|
2014-10-03 22:03:19 -07:00 |
|
|
49dc47ff38
|
Make multicast gathering a bit smarter.
|
2014-10-02 11:35:37 -07:00 |
|
|
e1882b614b
|
Some cleanup, Multicaster now sends multicasts as it gets additional members.
|
2014-10-01 14:05:25 -07:00 |
|
|
ae082c3cb8
|
Yay... now everything compiles! Getting close to testing on this. Still have not added backward compatibility support for relaying of multicasts to 0.9.X clients yet but that will be easy. Will test with heterogenous 1.0.0 clients only first.
|
2014-10-01 12:41:48 -07:00 |
|
|
8607aa7c3c
|
Everything in for new multicast except IncomingPacket parsing...
|
2014-09-30 08:38:03 -07:00 |
|
|
81b12b6826
|
Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables.
|
2014-09-24 13:53:03 -07:00 |
|
|
431476e2e4
|
Some more multicast algo work...
|
2014-09-24 13:45:58 -07:00 |
|
|
557801a09e
|
Rename PacketDecoder to much more descriptive IncomingPacket
|
2014-09-24 09:04:09 -07:00 |
|
|
d9abd4d9be
|
Work on defining new direct broadcast multicast algorithm.
|
2014-09-18 18:28:14 -07:00 |
|
|
4e9280fc7a
|
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
|
2014-09-05 16:23:24 -07:00 |
|
|
282114e96c
|
Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup.
|
2014-08-19 10:09:21 -07:00 |
|
|
8a804b5257
|
(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable.
|
2014-08-05 14:05:50 -07:00 |
|
|
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 |
|
|
458f6ae7c3
|
Only add active bridges to top of MC propagation list if they are alive. Otherwise a dead active bridge might kill multicast for us.
|
2014-06-26 18:13:48 -07:00 |
|
|
ae7143d693
|
Comments and cleanup.
|
2014-06-21 12:19:10 -07:00 |
|
|
aead1050fb
|
Bridging (GitHub issue #68) does indeed work! Just needed to fix a packet size thinko.
|
2014-06-21 12:29:33 -04:00 |
|
|
11e1f7a3fb
|
.
|
2014-06-21 12:01:26 -04:00 |
|
|
0b0d5fabac
|
Bridging #68 should work now!
|
2014-06-21 11:59:08 -04:00 |
|
|
35aa0921ee
|
.
|
2014-06-21 11:47:26 -04:00 |
|
|
2f8936181c
|
Debug code -- temporary.
|
2014-06-21 08:36:23 -07:00 |
|
|
5d467f0f45
|
Some TRACE improvements and comment revs.
|
2014-06-18 08:25:30 -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 |
|
|
5682f0b772
|
Some more bridging work... wiring up in Switch - GitHub issue #68
|
2014-06-13 17:49:33 -07:00 |
|
|
657f6ae342
|
Don't transmit broadcasts if enableBroadcast is false on a network.
|
2014-05-23 19:52:39 -04:00 |
|
|
beb7b5bbe5
|
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
|
2014-05-23 14:32:31 -07:00 |
|
|
aee742e767
|
More toward GitHub issue #56
|
2014-04-10 16:30:15 -07:00 |
|
|
c9294c1a78
|
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
|
2014-04-10 14:22:25 -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 |
|
|
316e8d1939
|
Build fix.
|
2014-03-31 22:30:08 -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 |
|
|
daaec84c6b
|
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
|
2014-03-26 15:35:15 -07:00 |
|