summaryrefslogtreecommitdiff
path: root/node/Node.cpp
AgeCommit message (Collapse)Author
2015-09-24(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local ↵Adam Ierymenko
interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
2015-09-23Fix for timer jitter problem.Adam Ierymenko
2015-09-23Plumb through localInterfaceId to track local interfaces corresponding with ↵Adam Ierymenko
remote addresses.
2015-09-04Swap out std::map<> for Hashtable<> for main peer database in Topology. ↵Adam Ierymenko
(ongoing std::map-ectomy)
2015-08-25Ignore old root-topology if present -- fix for upgrading on Linux and ↵Adam Ierymenko
possibly elsewhere.
2015-07-24Fix leaving of networks to actually call Network::destroy().Adam Ierymenko
2015-07-13Clean up some YAGNI issues with implementation of GitHub issue #180, and ↵Adam Ierymenko
make best path choice aware of path rank.
2015-07-07Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG ↵Adam Ierymenko
and replacing it with a simple non-crypto PRNG that just uses Salsa20.
2015-07-07A bunch of comments and cleanup, including some to yesterday's direct path ↵Adam Ierymenko
pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
2015-07-06Plumbing for local interface addresses -- GitHub issue #180Adam Ierymenko
2015-07-06Almost everything for GitHub issue #180 except direct path map setup.Adam Ierymenko
2015-07-06Some cleanup, docs, and Path -> Path > RemotePath refactor.Adam Ierymenko
2015-06-29Fix semantics of std::unique() to actually remove duplicates (hidden memory ↵Adam Ierymenko
leak?)
2015-06-26Redo conversion of _networks to a vector. Just use a simple linear search ↵Adam Ierymenko
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-22Merge branch '_networks_vector' of https://github.com/mwarning/ZeroTierOne ↵Adam Ierymenko
into adamierymenko-dev
2015-06-20use _network function to reduce source code complexityMoritz Warning
2015-06-20replace _networks map by vectorMoritz Warning
_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-19Root server terminology cleanup, and tighten up a security check by checking ↵Adam Ierymenko
full identity of peers instead of just address.
2015-06-01docsAdam Ierymenko
2015-06-01Fix to GitHub issue #140 -- network preferred relays. Also go ahead and ↵Adam Ierymenko
allow RENDEZVOUS from regular peers.
2015-06-01Call it _relays since there might be other kinds later.Adam Ierymenko
2015-06-01Always ping / contact network preferred relays (if any).Adam Ierymenko
2015-05-22TCP fallback tunneling is now working. That hurt more than expected.Adam Ierymenko
2015-05-21Completely factor out "desperation" from the core. I thought of a ↵Adam Ierymenko
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-20Apple auto-update stuff, now for Windows.Adam Ierymenko
2015-05-17Build fixes for G++, building without SQLite3 present, and warning removal.Adam Ierymenko
2015-05-06Renamed supernode to rootserverKees Bos
2015-05-04So we need to keep track of external surface per reporter, since some NATs ↵Adam Ierymenko
assign different external IPs for each external destination. Keeping just one known surface could create a race condition.
2015-04-30Add some missing includes that older G++ cares about.Adam Ierymenko
2015-04-30Make sure identity.public exists and stays in sync, cleanup extra new in ↵Adam Ierymenko
Node, and test script for local testnets.
2015-04-24Windows now builds and runs selftest correctly, and fixed a Windows (and ↵Adam Ierymenko
possibly other platforms) issue in Phy<>.
2015-04-24First pass of Windows cleanup and build fixes...Adam Ierymenko
2015-04-20(1) now builds and works on Linux, (2) fix a threading problem causing carsh ↵Adam Ierymenko
on shutdown, (3) cleanup in selftest, re-enable Phy and Http tests.
2015-04-15Add some additional detail to the peer record in CAPI and JSON control plane.Adam Ierymenko
2015-04-15Rename netconf to controller and NetworkConfigMaster to NetworkController ↵Adam Ierymenko
for consistency.
2015-04-15Fix some deadlock issues, move awareness of broadcast subscription into ↵Adam Ierymenko
core, other bug fixes.
2015-04-14Add beacon broadcasting back into Node.Adam Ierymenko
2015-04-14Bunch more control plane work, and shelve old UI -- React FTW.Adam Ierymenko
2015-04-13Basic control plane queries working.Adam Ierymenko
2015-04-13JSON control plane, almost done...Adam Ierymenko
2015-04-09TRACE compile fixes, other fixes, and it basically works! It says HELLO.Adam Ierymenko
2015-04-09Starting on new service/ code to encapsulate node/ with osdep/ stuff, and ↵Adam Ierymenko
add a user pointer to the CAPI.
2015-04-08Node peer list function for CAPI, and some Peer cleanup.Adam Ierymenko
2015-04-08Node status and network list.Adam Ierymenko
2015-04-08Add awareness of online status, and put old OS-dep utils in OSUtils.Adam Ierymenko
2015-04-08Add events for packet decode errors, etc., and re-implement TRACE as an event.Adam Ierymenko
2015-04-08Rename StatusCallback to more descriptive EventCallback.Adam Ierymenko
2015-04-08Remove Logger.hpp references.Adam Ierymenko
2015-04-07Math fix.Adam Ierymenko
2015-04-07Tons of refactoring, change to desperation algorithm to use max of core or ↵Adam Ierymenko
link, porting over core loop code from old Node.cpp to new CAPI version, etc.