Adam Ierymenko
|
5d2f523e81
|
World stuff...
|
2015-10-13 12:10:44 -07:00 |
|
Adam Ierymenko
|
76a95dc58f
|
The return of peer peristence.
|
2015-10-01 17:09:01 -07:00 |
|
Adam Ierymenko
|
5076c49210
|
Peer serialization and related changes.
|
2015-10-01 15:40:54 -07:00 |
|
Adam Ierymenko
|
64bf3ffe6c
|
Mutex cleanup.
|
2015-10-01 11:44:09 -07:00 |
|
Adam Ierymenko
|
a3db7d0728
|
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
|
2015-10-01 11:11:52 -07:00 |
|
Adam Ierymenko
|
f69454ec98
|
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
|
2015-09-24 16:21:36 -07:00 |
|
Adam Ierymenko
|
367ffde00c
|
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
2015-09-23 13:49:56 -07:00 |
|
Adam Ierymenko
|
7b8ce16057
|
Another std::map<> dies.
|
2015-09-04 13:42:19 -07:00 |
|
Adam Ierymenko
|
0b354803f3
|
Clean up some YAGNI issues with implementation of GitHub issue #180, and make best path choice aware of path rank.
|
2015-07-13 10:03:04 -07:00 |
|
Adam Ierymenko
|
778c7e6e70
|
More cleanup to direct path push, comment fixes, etc.
|
2015-07-07 10:00:34 -07:00 |
|
Adam Ierymenko
|
255320e2a6
|
pushDirectPaths() implementation
|
2015-07-06 14:39:28 -07:00 |
|
Adam Ierymenko
|
93bb934d4e
|
Some cleanup, docs, and Path -> Path > RemotePath refactor.
|
2015-07-06 14:08:13 -07:00 |
|
Adam Ierymenko
|
d9006712f6
|
Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world.
|
2015-05-21 15:58:26 -07:00 |
|
Adam Ierymenko
|
1213073916
|
Apple auto-update stuff, now for Windows.
|
2015-05-20 19:38:49 -07:00 |
|
Adam Ierymenko
|
9279bac385
|
Fix deadlock in SelfAwareness by deferring reconnects.
|
2015-04-30 21:09:41 -07:00 |
|
Adam Ierymenko
|
54954f5b88
|
First pass of Windows cleanup and build fixes...
|
2015-04-24 13:35:17 -07:00 |
|
Adam Ierymenko
|
98bcc3d4b5
|
Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding.
|
2015-04-15 13:15:09 -07:00 |
|
Adam Ierymenko
|
5e331d6733
|
Restrict unite() to desperation==0 since NAT-t only works right now with direct links.
|
2015-04-10 10:13:50 -07:00 |
|
Adam Ierymenko
|
ccc73b920e
|
Node peer list function for CAPI, and some Peer cleanup.
|
2015-04-08 18:45:21 -07:00 |
|
Adam Ierymenko
|
c894710ac1
|
Remove Logger.hpp references.
|
2015-04-08 16:00:48 -07:00 |
|
Adam Ierymenko
|
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 |
|
Adam Ierymenko
|
0a90681849
|
Add ping(), and a logic fix in SelfAwareness.
|
2015-04-07 12:32:05 -07:00 |
|
Adam Ierymenko
|
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 |
|
Adam Ierymenko
|
52c3b7c34e
|
Implemented empirical determination of external addressing, paritioned per scope.
|
2015-04-07 11:56:10 -07:00 |
|
Adam Ierymenko
|
f4fd2d4971
|
Bring IncomingPacket into line with new changes.
|
2015-04-06 14:50:53 -07:00 |
|
Adam Ierymenko
|
6eb9289367
|
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
|
2015-04-03 16:52:53 -07:00 |
|
Adam Ierymenko
|
ee0f56355b
|
Send path simplification.
|
2015-04-03 13:14:37 -07:00 |
|
Adam Ierymenko
|
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 |
|
Adam Ierymenko
|
7ff0cab1b7
|
docs
|
2015-03-31 18:33:39 -07:00 |
|
Adam Ierymenko
|
93012b0ee5
|
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
2015-02-17 13:11:34 -08:00 |
|
Adam Ierymenko
|
0b84c10ccc
|
Add confirmation step to new netconf, with the caveat that it will be disabled for older netconf servers to avoid race. Also add some comments.
|
2015-01-09 16:35:20 -05:00 |
|
Adam Ierymenko
|
4e95384ad6
|
Cleanup, add tristate to config code in Network, and happy new year!
|
2015-01-05 17:47:59 -08:00 |
|
Adam Ierymenko
|
0e47f13f14
|
Simplify locking semantics some more to address a deadlock.
|
2014-10-21 10:42:04 -07:00 |
|
Adam Ierymenko
|
2416491cbc
|
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
|
2014-10-13 14:12:51 -07:00 |
|
Adam Ierymenko
|
6316011024
|
Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth.
|
2014-10-12 11:42:49 -07:00 |
|
Adam Ierymenko
|
0d017c043f
|
Stop persisting last announcement time since Multicaster is volatile. Also some more legacy multicast fixes.
|
2014-10-11 16:26:02 -07:00 |
|
Adam Ierymenko
|
496109fdcc
|
Announce multicast group changes on network rescanMulticastGroups()
|
2014-10-03 18:27:42 -07:00 |
|
Adam Ierymenko
|
2659427864
|
Multicaster needs to be global, not per-network, and a bunch of other stuff.
|
2014-09-30 16:28:25 -07:00 |
|
Adam Ierymenko
|
050a0ce85d
|
.
|
2014-09-25 15:08:29 -07:00 |
|
Adam Ierymenko
|
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 |
|
Adam Ierymenko
|
1d37204a37
|
Refactoring in progress... pardon our dust...
|
2014-09-12 16:57:37 -07:00 |
|
Adam Ierymenko
|
4e9280fc7a
|
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
|
2014-09-05 16:23:24 -07:00 |
|
Adam Ierymenko
|
c2187c8759
|
(1) distribute default root-topology in new dictionary format, (2) bump peer serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates
|
2014-08-14 19:52:22 -04:00 |
|
Adam Ierymenko
|
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 |
|
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
|
7831c4bfef
|
Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations.
|
2014-04-18 00:14:12 -07:00 |
|
Adam Ierymenko
|
aee742e767
|
More toward GitHub issue #56
|
2014-04-10 16:30:15 -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
|
119ef5ecbf
|
More logic cleanup and some documentation / comment improvements.
|
2014-04-10 10:00:20 -07:00 |
|
Adam Ierymenko
|
8fb442d81a
|
Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send().
|
2014-04-09 17:08:35 -07:00 |
|