dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
2015-06-29 10:21:28 -07:00
c287ae4d1d
Redo conversion of _networks to a vector. Just use a simple linear search and put the nwid in a pair with the pointer so linear search can be done without pointer chasing. This should be the fastest option for anything less than dozens of networks, and should save memory over the old map.
2015-06-26 11:38:31 -07:00
4aa8449fe1
Merge branch '_networks_vector' of https://github.com/mwarning/ZeroTierOne into adamierymenko-dev
2015-06-22 10:34:55 -07:00
787608b568
use _network function to reduce source code complexity
2015-06-20 16:34:19 +02:00
2b04ac5e9b
replace _networks map by vector
...
_networks is usually quite small, using binary search on a vector might be faster comapred to std::map.
This is especially true when using uClibc++, which uses a list.
2015-06-20 16:25:21 +02:00
7bae95836c
Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address.
2015-06-19 10:23:25 -07:00
ecb6a1d84f
docs
2015-06-01 19:12:20 -07:00
5341e32729
Fix to GitHub issue #140 -- network preferred relays. Also go ahead and allow RENDEZVOUS from regular peers.
2015-06-01 19:05:27 -07:00
318c2f025b
Call it _relays since there might be other kinds later.
2015-06-01 17:09:37 -07:00
5bc89034bc
Always ping / contact network preferred relays (if any).
2015-06-01 16:53:58 -07:00
9774f789f2
TCP fallback tunneling is now working. That hurt more than expected.
2015-05-22 14:52:23 -07:00
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
1213073916
Apple auto-update stuff, now for Windows.
2015-05-20 19:38:49 -07:00
2810cd7c15
Build fixes for G++, building without SQLite3 present, and warning removal.
2015-05-17 23:56:47 +00:00
a425bbc673
Renamed supernode to rootserver
2015-05-06 12:05:20 +02:00
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
604576075e
Add some missing includes that older G++ cares about.
2015-04-30 20:40:33 -07:00
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
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
54954f5b88
First pass of Windows cleanup and build fixes...
2015-04-24 13:35:17 -07:00
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
d2503172d8
Add some additional detail to the peer record in CAPI and JSON control plane.
2015-04-15 19:00:26 -07:00
6369c264e2
Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency.
2015-04-15 15:12:09 -07:00
1c9ca73065
Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes.
2015-04-15 13:09:20 -07:00
c9af603b9f
Add beacon broadcasting back into Node.
2015-04-14 18:20:03 -07:00
1cfa67bbdd
Bunch more control plane work, and shelve old UI -- React FTW.
2015-04-14 13:56:28 -07:00
a2605561af
Basic control plane queries working.
2015-04-13 18:43:33 -07:00
b888e033c0
JSON control plane, almost done...
2015-04-13 18:12:45 -07:00
068d311ecc
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
2015-04-09 20:54:00 -07:00
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
ccc73b920e
Node peer list function for CAPI, and some Peer cleanup.
2015-04-08 18:45:21 -07:00
d9e9b60a98
Node status and network list.
2015-04-08 18:25:40 -07:00
e34bc961db
Add awareness of online status, and put old OS-dep utils in OSUtils.
2015-04-08 17:10:21 -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
9d9d0ef12c
Rename StatusCallback to more descriptive EventCallback.
2015-04-08 16:07:47 -07:00
c894710ac1
Remove Logger.hpp references.
2015-04-08 16:00:48 -07:00
6de7996218
Math fix.
2015-04-07 19:32:26 -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
9e55f882d3
Starting to port from old Node() -- identity generation.
2015-04-07 16:41:56 -07:00
8210ed4805
Implement read from object store.
2015-04-07 14:11:47 -07:00
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
51f46a009a
Multicast group join/leave and group membership announcement.
2015-04-06 18:27:24 -07:00
8001b2c0cb
Network now calls port config function as per new API.
2015-04-06 16:52:52 -07:00
5f351f2f6b
build fixes.
2015-04-06 14:55:40 -07:00
f4fd2d4971
Bring IncomingPacket into line with new changes.
2015-04-06 14:50:53 -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
1f28ce3980
Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc.
2015-04-01 19:09:18 -07:00
49349470a0
...
2015-04-01 16:27:14 -07:00