Adam Ierymenko
|
b4b067bf12
|
So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition.
|
2015-05-04 18:34:30 -07:00 |
|
Adam Ierymenko
|
604576075e
|
Add some missing includes that older G++ cares about.
|
2015-04-30 20:40:33 -07:00 |
|
Adam Ierymenko
|
9a34fde8a5
|
Make sure identity.public exists and stays in sync, cleanup extra new in Node, and test script for local testnets.
|
2015-04-30 16:03:44 -07:00 |
|
Adam Ierymenko
|
f5848972f9
|
Windows now builds and runs selftest correctly, and fixed a Windows (and possibly other platforms) issue in Phy<>.
|
2015-04-24 15:05:28 -07:00 |
|
Adam Ierymenko
|
54954f5b88
|
First pass of Windows cleanup and build fixes...
|
2015-04-24 13:35:17 -07:00 |
|
Adam Ierymenko
|
60f05518aa
|
(1) now builds and works on Linux, (2) fix a threading problem causing carsh on shutdown, (3) cleanup in selftest, re-enable Phy and Http tests.
|
2015-04-20 15:12:31 -07:00 |
|
Adam Ierymenko
|
d2503172d8
|
Add some additional detail to the peer record in CAPI and JSON control plane.
|
2015-04-15 19:00:26 -07:00 |
|
Adam Ierymenko
|
6369c264e2
|
Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency.
|
2015-04-15 15:12:09 -07:00 |
|
Adam Ierymenko
|
1c9ca73065
|
Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes.
|
2015-04-15 13:09:20 -07:00 |
|
Adam Ierymenko
|
c9af603b9f
|
Add beacon broadcasting back into Node.
|
2015-04-14 18:20:03 -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
2c5dbecb3c
|
More CAPI work, and move old control/ and old node/Node to attic.
|
2015-03-31 13:54:50 -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
|
278c8fd9f1
|
Wire up externally specified NetworkConfigMaster
|
2015-03-13 13:53:15 -07: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
|
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
|
c8c5d3b06e
|
Create netconf master if redis options are in local.conf.
|
2015-01-09 18:25:41 -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
|
4e95384ad6
|
Cleanup, add tristate to config code in Network, and happy new year!
|
2015-01-05 17:47:59 -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
|
30e82a4d9c
|
Fix network enumeration buffer size bug -- reported by user Neal Symms via LiveAgent
|
2014-12-02 12:53:30 -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 |
|
Adam Ierymenko
|
95f421024a
|
Code cleanup, and fix some unsafe pointer handling in Network.
|
2014-10-29 13:57:37 -07:00 |
|
Adam Ierymenko
|
3d85a615fb
|
NULL dereference on still-initializing node bug fix in status query commands, and doc updates.
|
2014-10-28 14:17:39 -07:00 |
|
Adam Ierymenko
|
934a575a74
|
Testnet seems to work a bit better now...
|
2014-10-27 18:23:10 -07:00 |
|
Adam Ierymenko
|
4fbb098daa
|
Testnet work... getting there!
|
2014-10-23 16:46:09 -07:00 |
|
Adam Ierymenko
|
2436e22f46
|
More work on abstracting socket manager.
|
2014-10-21 15:18:50 -07:00 |
|
Adam Ierymenko
|
8730d30575
|
Now for some clang compile fixes...
|
2014-10-19 13:07:50 -07:00 |
|
Adam Ierymenko
|
74f36f5dc0
|
Windows build fixes.
|
2014-10-19 12:56:39 -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
|
6e23986bb3
|
Another build fix.
|
2014-10-13 13:09:02 -07:00 |
|
Adam Ierymenko
|
52314dcdf6
|
GitHub issue #111
|
2014-10-13 11:47:14 -07:00 |
|
Adam Ierymenko
|
496109fdcc
|
Announce multicast group changes on network rescanMulticastGroups()
|
2014-10-03 18:27:42 -07:00 |
|
Adam Ierymenko
|
351db7f1a0
|
Plumb injectPacketFromHost through to API.
|
2014-10-03 14:49:11 -07:00 |
|
Adam Ierymenko
|
67aa23530b
|
More work on adding testnet and user-mode capabilities for local network simulation.
|
2014-10-03 11:59:50 -07:00 |
|
Adam Ierymenko
|
e1882b614b
|
Some cleanup, Multicaster now sends multicasts as it gets additional members.
|
2014-10-01 14:05:25 -07:00 |
|
Adam Ierymenko
|
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 |
|
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
|
8607aa7c3c
|
Everything in for new multicast except IncomingPacket parsing...
|
2014-09-30 08:38:03 -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
|
d9abd4d9be
|
Work on defining new direct broadcast multicast algorithm.
|
2014-09-18 18:28:14 -07:00 |
|
Adam Ierymenko
|
4708231046
|
Fix for GitHub issue #122 and other fixes
|
2014-09-18 10:01:30 -07:00 |
|
Adam Ierymenko
|
6b76cac6cf
|
Back off from thrashing shutdownIfUnreadableCheck, fix bug in control service.
|
2014-09-17 14:19:58 -07:00 |
|
Adam Ierymenko
|
2762db8408
|
More work on control bus refactor...
|
2014-09-17 12:54:39 -07:00 |
|
Adam Ierymenko
|
fb22ef053b
|
Move rest of NodeControl stuff out of node/ and into control/
|
2014-09-15 16:32:55 -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
|
dcea212e40
|
Add noupdate flag in root topologies, add ability for mktopology to read from a template.
|
2014-09-03 11:56:36 -07:00 |
|
Adam Ierymenko
|
721625d512
|
Add MAC to listnetworks, and some other make stuff.
|
2014-08-19 14:11:02 -07:00 |
|
Adam Ierymenko
|
715afc0314
|
Default to built-in root topology if signature check fails (instead of exiting)
|
2014-08-16 14:01:25 -07:00 |
|
Adam Ierymenko
|
4f0fcc582e
|
Refactor HttpClient a bit.
|
2014-08-16 09:08:52 -07:00 |
|
Adam Ierymenko
|
aa59cfd545
|
Web request part of supernode resync (not quite done, needs test)
|
2014-08-15 23:37:35 -04: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
|
b80c229d87
|
Tons of code cleanup, refactor Network to use EthernetTapFactory, probably also fix GitHub issue #90
|
2014-07-31 14:09:32 -07:00 |
|
Adam Ierymenko
|
f15271f31f
|
Get rid of pointer type punning warning/issue on g++.
|
2014-06-17 15:54:35 -04:00 |
|
Adam Ierymenko
|
aee742e767
|
More toward GitHub issue #56
|
2014-04-10 16:30:15 -07:00 |
|
Adam Ierymenko
|
c9294c1a78
|
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
|
2014-04-10 14:22:25 -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 |
|
Adam Ierymenko
|
28a6d328a5
|
Some adjustments to TCP logic for GitHub issue #60
|
2014-04-09 11:55:24 -07:00 |
|
Adam Ierymenko
|
158002d2d1
|
Tweak some timings and stuff.
|
2014-04-03 16:19:41 -07:00 |
|
Adam Ierymenko
|
c96d3ebf8c
|
Such ping logic. So edge case.
|
2014-04-03 14:36:52 -07:00 |
|
Adam Ierymenko
|
f0223490be
|
Make GUI work with new control client API, make control client look for user authtoken.secret if system unreadable.
|
2014-04-02 17:12:04 -07:00 |
|
Adam Ierymenko
|
81e5690410
|
More tweaks to TCP failover logic. Such edge case.
|
2014-04-02 17:32:47 -04: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
|
c3b41c289d
|
Resynchronize on startup.
|
2014-04-01 14:12:54 -07:00 |
|
Adam Ierymenko
|
b73c36acbf
|
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com:222/git/ZeroTierOne into adamierymenko-dev
|
2014-03-27 18:23:02 -07:00 |
|
Adam Ierymenko
|
181369964f
|
Make TCP optional, rename port constant.
|
2014-03-27 18:22:53 -07:00 |
|
Adam Ierymenko
|
c231510f8b
|
More TCP-related fixes and tweaks to ping timing, resynchronize, and startup.
|
2014-03-27 17:02:52 -07:00 |
|
Adam Ierymenko
|
2ac56fd120
|
Fix TCP connection accumulation problem, still having issues with TCP tunneling.
|
2014-03-26 17:59:45 -07:00 |
|