Adam Ierymenko
|
49d31613b9
|
Fix some minor issues, now to reintegrate taps.
|
2015-04-14 15:16:04 -07:00 |
|
Adam Ierymenko
|
758b5caf94
|
Fix < logic.
|
2015-04-14 14:52:23 -07:00 |
|
Adam Ierymenko
|
6f4b30add8
|
Turns out you do have to unpack and compare sockaddr structures due to sin_len / sin6_len not present on all platforms and other junk.
|
2015-04-14 14:49:34 -07:00 |
|
Adam Ierymenko
|
1cfa67bbdd
|
Bunch more control plane work, and shelve old UI -- React FTW.
|
2015-04-14 13:56:28 -07:00 |
|
Adam Ierymenko
|
a2605561af
|
Basic control plane queries working.
|
2015-04-13 18:43:33 -07:00 |
|
Adam Ierymenko
|
b888e033c0
|
JSON control plane, almost done...
|
2015-04-13 18:12:45 -07:00 |
|
Adam Ierymenko
|
9e651b39e4
|
Add some TRACE around pinging (for now), and refactor service/One to just run in the foreground as some platforms may not require threads at all.
|
2015-04-10 11:40:45 -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
|
068d311ecc
|
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
|
2015-04-09 20:54:00 -07:00 |
|
Adam Ierymenko
|
46ecad451c
|
Starting on new service/ code to encapsulate node/ with osdep/ stuff, and add a user pointer to the CAPI.
|
2015-04-09 18:14:27 -07:00 |
|
Adam Ierymenko
|
7192fe6d15
|
osdep/ compile fixes, and remove some lingering OS-specific stuff from node/Defaults
|
2015-04-08 19:03:30 -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
|
d9e9b60a98
|
Node status and network list.
|
2015-04-08 18:25:40 -07:00 |
|
Adam Ierymenko
|
e34bc961db
|
Add awareness of online status, and put old OS-dep utils in OSUtils.
|
2015-04-08 17:10:21 -07:00 |
|
Adam Ierymenko
|
0751eaabd8
|
Clean OS-dep stuff out of node/Utils.
|
2015-04-08 16:55:00 -07:00 |
|
Adam Ierymenko
|
4d5a6a25d3
|
Add events for packet decode errors, etc., and re-implement TRACE as an event.
|
2015-04-08 16:49:21 -07:00 |
|
Adam Ierymenko
|
9d9d0ef12c
|
Rename StatusCallback to more descriptive EventCallback.
|
2015-04-08 16:07:47 -07:00 |
|
Adam Ierymenko
|
c894710ac1
|
Remove Logger.hpp references.
|
2015-04-08 16:00:48 -07:00 |
|
Adam Ierymenko
|
37bd6fdb9c
|
Move Logger to attic -- last bit of OS-specific stuff to get out of core.
|
2015-04-08 15:56:11 -07:00 |
|
Adam Ierymenko
|
7529d050c7
|
All of node/ now compiles again!
|
2015-04-08 15:42:23 -07:00 |
|
Adam Ierymenko
|
bf2ff964e1
|
Utils::now() removal and a bunch of compile fixes.
|
2015-04-08 15:26:45 -07:00 |
|
Adam Ierymenko
|
ee2f51f48e
|
Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff.
|
2015-04-08 15:12:04 -07:00 |
|
Adam Ierymenko
|
40bfe37a19
|
Use max of core or most recent path desperation for pings.
|
2015-04-08 14:58:23 -07:00 |
|
Adam Ierymenko
|
59af674e74
|
Announce multicast groups on multicast subscribe.
|
2015-04-07 19:35:16 -07:00 |
|
Adam Ierymenko
|
6de7996218
|
Math fix.
|
2015-04-07 19:32:26 -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
|
9e55f882d3
|
Starting to port from old Node() -- identity generation.
|
2015-04-07 16:41:56 -07:00 |
|
Adam Ierymenko
|
8210ed4805
|
Implement read from object store.
|
2015-04-07 14:11:47 -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
|
eae2c89b09
|
Mutex locking fix.
|
2015-04-07 11:58:41 -07:00 |
|
Adam Ierymenko
|
52c3b7c34e
|
Implemented empirical determination of external addressing, paritioned per scope.
|
2015-04-07 11:56:10 -07:00 |
|
Adam Ierymenko
|
817824b88b
|
Some external surface awareness work, and IP scope classification.
|
2015-04-07 10:57:59 -07:00 |
|
Adam Ierymenko
|
a2821e9000
|
Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz.
|
2015-04-06 20:17:21 -07:00 |
|
Adam Ierymenko
|
76ad19f411
|
Use binary_search for multicast groups, which are kept in sorted order.
|
2015-04-06 19:41:55 -07:00 |
|
Adam Ierymenko
|
758bf949db
|
Check for subscribed multicast groups should be able to check groups bridged behind me.
|
2015-04-06 19:34:36 -07:00 |
|
Adam Ierymenko
|
4e691c8e22
|
build fixes
|
2015-04-06 18:56:08 -07:00 |
|
Adam Ierymenko
|
6807ccd710
|
Don't need to announce on multicast leave.
|
2015-04-06 18:28:18 -07:00 |
|
Adam Ierymenko
|
51f46a009a
|
Multicast group join/leave and group membership announcement.
|
2015-04-06 18:27:24 -07:00 |
|
Adam Ierymenko
|
8001b2c0cb
|
Network now calls port config function as per new API.
|
2015-04-06 16:52:52 -07:00 |
|
Adam Ierymenko
|
a86300c58f
|
Network build fixes and cleanup of remaining internal references to _tap
|
2015-04-06 15:47:57 -07:00 |
|
Adam Ierymenko
|
488f5bf977
|
More build fixes, and attic/ some stuff.
|
2015-04-06 15:14:54 -07:00 |
|
Adam Ierymenko
|
197d272287
|
More NAT strategy cleanup.
|
2015-04-06 15:08:45 -07:00 |
|
Adam Ierymenko
|
be4683a96d
|
Get rid of random port strategy -- research does not support.
|
2015-04-06 15:03:08 -07:00 |
|
Adam Ierymenko
|
5f351f2f6b
|
build fixes.
|
2015-04-06 14:55:40 -07:00 |
|
Adam Ierymenko
|
f4fd2d4971
|
Bring IncomingPacket into line with new changes.
|
2015-04-06 14:50:53 -07:00 |
|
Adam Ierymenko
|
a95f1e1418
|
Eliminate redundant SharedPtr assignment.
|
2015-04-03 17:01:07 -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
|
5f51653f9c
|
More cleanup.
|
2015-04-01 19:16:07 -07:00 |
|
Adam Ierymenko
|
0214dbc277
|
More cleanup.
|
2015-04-01 19:15:21 -07:00 |
|
Adam Ierymenko
|
1f28ce3980
|
Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc.
|
2015-04-01 19:09:18 -07:00 |
|
Adam Ierymenko
|
49349470a0
|
...
|
2015-04-01 16:27:14 -07:00 |
|
Adam Ierymenko
|
8130848020
|
More refactoring... and update the API a bit... turns out my strategy for reducing indirect function calls also increased memcpy()s which are more expensive. This is simpler and faster.
|
2015-04-01 14:59:44 -07:00 |
|
Adam Ierymenko
|
7ff0cab1b7
|
docs
|
2015-03-31 18:33:39 -07:00 |
|
Adam Ierymenko
|
b723855751
|
Refactoring... lalalala...
|
2015-03-31 18:17:11 -07:00 |
|
Adam Ierymenko
|
36eab4f1a9
|
Whole heap more cleanup and refactoring...
|
2015-03-31 17:53:34 -07:00 |
|
Adam Ierymenko
|
647ce82b86
|
Move more stuff into osdep/ -- node/ will not use threads directly.
|
2015-03-31 15:23:14 -07:00 |
|
Adam Ierymenko
|
2c5dbecb3c
|
More CAPI work, and move old control/ and old node/Node to attic.
|
2015-03-31 13:54:50 -07:00 |
|
Adam Ierymenko
|
fe94c9460b
|
Phy is a better name than Wire, and other cleanup.
|
2015-03-31 11:52:10 -07:00 |
|
Adam Ierymenko
|
fe87c1db67
|
Work on new simplified C API -- required for embedded, language bindings, mobile (language bindings again), etc.
|
2015-03-30 19:46:07 -07:00 |
|
Adam Ierymenko
|
60158aa5dd
|
Turns out that node/ likely has no business with or need for the system IP routing table. So shelve that code for now.
|
2015-03-30 17:48:48 -07:00 |
|
Adam Ierymenko
|
a8a92c5b89
|
A whole lot of Sqlite netconf master work, and some fixes elsewhere in the code.
|
2015-03-18 16:10:48 -07:00 |
|
Adam Ierymenko
|
278c8fd9f1
|
Wire up externally specified NetworkConfigMaster
|
2015-03-13 13:53:15 -07:00 |
|
Adam Ierymenko
|
b6fba5934a
|
RedisNetworkConfigMaster in its own folder. Also fix some hex/decimal Redis database confusion.
|
2015-02-24 14:17:57 -08:00 |
|
Adam Ierymenko
|
ff255a34de
|
Make NetworkConfigMaster a plugin to get Redis and other non-endpoint code out of node/
|
2015-02-24 12:28:58 -08:00 |
|
Adam Ierymenko
|
93012b0ee5
|
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
2015-02-17 13:11:34 -08:00 |
|
Adam Ierymenko
|
89f0c948f8
|
Physical address change message verb.
|
2015-02-04 11:59:02 -08:00 |
|
Adam Ierymenko
|
eeed31b396
|
Ping supernodes on surface change, and also reset TCP flag.
|
2015-02-02 17:02:23 -08:00 |
|
Adam Ierymenko
|
b7148c107d
|
Rip out network environment fingerprint. This will be replaced by constant monitoring of actual external address surface.
|
2015-02-02 16:40:57 -08:00 |
|
Adam Ierymenko
|
b1bf3f68c3
|
Drop support for legacy P5 multicast, as there are fewer than 1% of these remaining on the network.
|
2015-02-02 16:34:01 -08:00 |
|
Adam Ierymenko
|
37d23336ed
|
Surface logic in Topology.
|
2015-02-02 16:23:26 -08:00 |
|
Adam Ierymenko
|
61cff47f5b
|
Code to track externally visible address surface.
|
2015-02-02 15:24:05 -08:00 |
|
Adam Ierymenko
|
c30bf7957e
|
Hash code method for InetAddress
|
2015-02-02 14:44:24 -08:00 |
|
Adam Ierymenko
|
c8c5d3b06e
|
Create netconf master if redis options are in local.conf.
|
2015-01-09 18:25:41 -05: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
|
afea153a0b
|
Build fixes.
|
2015-01-08 18:17:02 -05:00 |
|
Adam Ierymenko
|
64ba596e0b
|
C++ network config master ready to test.
|
2015-01-08 14:27:55 -08:00 |
|
Adam Ierymenko
|
60fb28a90a
|
Cleanup, new C++ netconf code is almost ready to test!
|
2015-01-06 17:16:54 -08:00 |
|
Adam Ierymenko
|
a369c69091
|
C++ netconf master Redis plumbing.
|
2015-01-06 13:45:10 -08:00 |
|
Adam Ierymenko
|
b644d2a893
|
Add timestamp field to network config requests.
|
2015-01-05 17:51:50 -08: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
|
96e9a90e8e
|
docs
|
2015-01-05 16:19:56 -08:00 |
|
Adam Ierymenko
|
87c599df5c
|
Back out service message type -- YAGNI violation.
|
2015-01-05 15:52:02 -08:00 |
|
Adam Ierymenko
|
56cfe1d603
|
Strip out old Service code, add new service message type.
|
2015-01-05 11:47:22 -08:00 |
|
Adam Ierymenko
|
f60dfe4963
|
FreeBSD works, and some documentation fixes.
|
2014-12-19 15:18:20 -08:00 |
|
Adam Ierymenko
|
ff539c22f9
|
locallyValidate() is expensive -- stop doing it on every HELLO since in most cases we already know the identity and know it is valid
|
2014-12-16 09:29:40 -08:00 |
|
Adam Ierymenko
|
149dbff3ea
|
Windows Visual Studio meaningless-warning-ectomy.
|
2014-12-02 16:50:53 -08:00 |
|
Adam Ierymenko
|
30e82a4d9c
|
Fix network enumeration buffer size bug -- reported by user Neal Symms via LiveAgent
|
2014-12-02 12:53:30 -08:00 |
|
Adam Ierymenko
|
8c64046a53
|
docs
|
2014-11-26 14:59:43 -08:00 |
|
Adam Ierymenko
|
04e4c5263e
|
Remove more legacy code -- just doing the supernode redist for old multicast is now good enough given the small number of legacy nodes left.
|
2014-11-26 13:39:57 -08:00 |
|
Adam Ierymenko
|
4303376ba6
|
cleanup and docs
|
2014-11-26 13:30:00 -08:00 |
|
Adam Ierymenko
|
cda61fe2d9
|
docs and cleanup
|
2014-11-26 13:14:18 -08:00 |
|
Adam Ierymenko
|
0f505411cf
|
Enable legacy multicast in Constants.
|
2014-11-25 14:12:33 -08:00 |
|
Adam Ierymenko
|
15d3e383e6
|
Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled.
|
2014-11-25 12:46:51 -08:00 |
|
Adam Ierymenko
|
6888c6482c
|
Re-enable legacy multicast distribution -- still too many pre1.0.0 nodes online.
|
2014-11-24 10:37:34 -08:00 |
|
Adam Ierymenko
|
d772639cc6
|
Multicast code cleanup.
|
2014-11-24 10:05:16 -08:00 |
|
Adam Ierymenko
|
acac88cf77
|
A few more tweaks to MC algo...
|
2014-11-23 14:00:27 -08:00 |
|
Adam Ierymenko
|
0bcac1fd79
|
Add a bunch of high-resolution try/catch safety in Node main loop to attempt to snare gremlin.
|
2014-11-21 11:54:06 -08:00 |
|