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.
|
9 years ago |
Adam Ierymenko
|
2a527ea82e
Fix for timer jitter problem.
|
9 years ago |
Adam Ierymenko
|
367ffde00c
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
9 years ago |
Adam Ierymenko
|
3a959a7763
Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy)
|
9 years ago |
Adam Ierymenko
|
5fcef91278
Ignore old root-topology if present -- fix for upgrading on Linux and possibly elsewhere.
|
9 years ago |
Adam Ierymenko
|
7a15d8a7e3
Fix leaving of networks to actually call Network::destroy().
|
9 years ago |
Adam Ierymenko
|
0b354803f3
Clean up some YAGNI issues with implementation of GitHub issue #180, and make best path choice aware of path rank.
|
9 years ago |
Adam Ierymenko
|
3f567a07ca
Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG and replacing it with a simple non-crypto PRNG that just uses Salsa20.
|
9 years ago |
Adam Ierymenko
|
c863ff3f02
A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
|
9 years ago |
Adam Ierymenko
|
235f4762b7
Plumbing for local interface addresses -- GitHub issue #180
|
9 years ago |
Adam Ierymenko
|
79e9a8bcc2
Almost everything for GitHub issue #180 except direct path map setup.
|
9 years ago |
Adam Ierymenko
|
93bb934d4e
Some cleanup, docs, and Path -> Path > RemotePath refactor.
|
9 years ago |
Adam Ierymenko
|
dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
|
9 years ago |
Adam Ierymenko
|
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.
|
9 years ago |
Adam Ierymenko
|
4aa8449fe1
Merge branch '_networks_vector' of https://github.com/mwarning/ZeroTierOne into adamierymenko-dev
|
9 years ago |
Moritz Warning
|
787608b568
use _network function to reduce source code complexity
|
9 years ago |
Moritz Warning
|
2b04ac5e9b
replace _networks map by vector
|
9 years ago |
Adam Ierymenko
|
7bae95836c
Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address.
|
9 years ago |
Adam Ierymenko
|
ecb6a1d84f
docs
|
9 years ago |
Adam Ierymenko
|
5341e32729
Fix to GitHub issue #140 -- network preferred relays. Also go ahead and allow RENDEZVOUS from regular peers.
|
9 years ago |
Adam Ierymenko
|
318c2f025b
Call it _relays since there might be other kinds later.
|
9 years ago |
Adam Ierymenko
|
5bc89034bc
Always ping / contact network preferred relays (if any).
|
9 years ago |
Adam Ierymenko
|
9774f789f2
TCP fallback tunneling is now working. That hurt more than expected.
|
9 years ago |
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.
|
9 years ago |
Adam Ierymenko
|
1213073916
Apple auto-update stuff, now for Windows.
|
9 years ago |
Adam Ierymenko
|
2810cd7c15
Build fixes for G++, building without SQLite3 present, and warning removal.
|
9 years ago |
Kees Bos
|
a425bbc673
Renamed supernode to rootserver
|
9 years ago |
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.
|
9 years ago |
Adam Ierymenko
|
604576075e
Add some missing includes that older G++ cares about.
|
9 years ago |
Adam Ierymenko
|
9a34fde8a5
Make sure identity.public exists and stays in sync, cleanup extra new in Node, and test script for local testnets.
|
9 years ago |