summaryrefslogtreecommitdiff
path: root/node/Network.cpp
AgeCommit message (Collapse)Author
2015-10-27Factor out RemotePath subclass of Path -- no longer needed, just cruft.Adam Ierymenko
2015-10-23Refactor multicast group announcement to work directly or indirectly.Adam Ierymenko
2015-10-07Tune NAT-t keepalives so that timing is better obeyed, clean up a build ↵Adam Ierymenko
warning, and fix a potential source of network recursion (though harmless).
2015-10-06Fix TRACE output.Adam Ierymenko
2015-10-02no toString() method on peer. Commenting out for now.Grant Limberg
2015-10-01Always announce multicast groups, not just to peers with direct links, and ↵Adam Ierymenko
push network COMs to any MULTICAST_LIKE recipient for future use.
2015-10-01Restore group announcement on Peer::receive() but centralize packet ↵Adam Ierymenko
composition in one place.
2015-10-01Refactor: move network COMs out of Network and into Peer in prep for ↵Adam Ierymenko
tightening up multicast lookup and other things.
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-08Add a bit of useful testing instrumentation to SqliteNetworkController.Adam Ierymenko
2015-09-04Two for one! (std::map removal)Adam Ierymenko
2015-09-04... and another one!Adam Ierymenko
2015-09-04Another std::map<> dies.Adam Ierymenko
2015-07-31Add security notice to auto-update info in -h output, and fix a missing paren.Adam Ierymenko
2015-07-31Remove a bit of redundant logic, and also announce MULTICAST_LIKEs to ↵Adam Ierymenko
controllers (for future use).
2015-07-23Eliminate some poorly thought out optimizations from the netconf/controller ↵Adam Ierymenko
interaction, and go ahead and bump version to 1.0.4. For a while in 1.0.3 -dev I was trying to optimize out repeated network controller requests by using a ratcheting mechanism. If the client received a network config that was indeed different from the one it had, it would respond by instantlly requesting it again. Not sure what I was thinking. It's fundamentally unsafe to respond to a message with another message of the same type -- it risks a race condition. In this case that's exactly what could happen. It just isn't worth the added complexity to avoid a tiny, tiny amount of network overhead, so I've taken this whole path out. A few extra bytes every two minutes isn't worth fretting about, but as I recall the reason for this optimization was to save CPU on the controller. This can be achieved by just caching responses in memory *there* and serving those same responses back out if they haven't changed. I think I developed that 'ratcheting' stuff before I went full time on this. It's hard to develop stuff like this without hours of sustained focus.
2015-07-07Fix potential bug in controller config request.Adam Ierymenko
2015-07-07Revert some bad docs in Packet -- I think we will still use that. Also ↵Adam Ierymenko
rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter.
2015-06-29Fix semantics of std::unique() to actually remove duplicates (hidden memory ↵Adam Ierymenko
leak?)
2015-06-26Fix cert verification check for self signed signaturesKees Bos
2015-06-26GitHub issue #191 - kill intra-network multicast rate limits (which were not ↵Adam Ierymenko
well supported or easily configurable anyway) -- this is really left over from the old collaborative multicast propagation algorithm. New algorithm (in for a while) has been sender-side replication in which sender "pays" all bandwidth, which intrinsically limits multicast.
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-05-06Renamed supernode to rootserverKees Bos
2015-06-01Rest of GitHub issue #140 implementation.Adam Ierymenko
2015-06-01Fix for GitHub issue #170Adam Ierymenko
2015-05-25Some nodeJS work, and apply fix from GitHub issue #166 plus a small ↵Adam Ierymenko
optimization to avoid repeated calls to _allMulticastGroups().
2015-05-13Should fix deadlock issue in GitHub issue #166Adam Ierymenko
2015-04-24Windows now builds and runs selftest correctly, and fixed a Windows (and ↵Adam Ierymenko
possibly other platforms) issue in Phy<>.
2015-04-15More cleanup, and fix for the extremely unlikely case of identity collision.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-14Bunch of tap stuff, IP address assignment hookups, etc.Adam Ierymenko
2015-04-14Just return files from listDirectory() since that is all we need, fix ↵Adam Ierymenko
network request on network restore logic, and remember saved networks in service/One
2015-04-14Fix some minor issues, now to reintegrate taps.Adam Ierymenko
2015-04-08Add events for packet decode errors, etc., and re-implement TRACE as an event.Adam Ierymenko
2015-04-08Utils::now() removal and a bunch of compile fixes.Adam Ierymenko
2015-04-07Announce multicast groups on multicast subscribe.Adam Ierymenko
2015-04-06Use binary_search for multicast groups, which are kept in sorted order.Adam Ierymenko
2015-04-06Don't need to announce on multicast leave.Adam Ierymenko
2015-04-06Multicast group join/leave and group membership announcement.Adam Ierymenko
2015-04-06Network now calls port config function as per new API.Adam Ierymenko
2015-04-06Network build fixes and cleanup of remaining internal references to _tapAdam Ierymenko
2015-04-01More cleanup.Adam Ierymenko
2015-04-01More cleanup.Adam Ierymenko
2015-04-01Tons more refactoring: simplify Network, move explicit management of Tap ↵Adam Ierymenko
out, redo COM serialization, etc.
2015-03-31Phy is a better name than Wire, and other cleanup.Adam Ierymenko
2015-02-17Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]Adam Ierymenko
2015-01-09Add confirmation step to new netconf, with the caveat that it will be ↵Adam Ierymenko
disabled for older netconf servers to avoid race. Also add some comments.
2015-01-06Cleanup, new C++ netconf code is almost ready to test!Adam Ierymenko
2015-01-05Add timestamp field to network config requests.Adam Ierymenko