summaryrefslogtreecommitdiff
path: root/node/Network.cpp
AgeCommit message (Collapse)Author
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
2015-01-05Cleanup, add tristate to config code in Network, and happy new year!Adam Ierymenko
2014-11-13Optimization: we don't need to verify signatures on certs if they're certs ↵Adam Ierymenko
we already have and have verified.
2014-10-29Code cleanup, and fix some unsafe pointer handling in Network.Adam Ierymenko
2014-10-14Make several changes to eliminate potential deadlock or recursive lock ↵Adam Ierymenko
conditions, and add back rescan of multicast groups on network startup.
2014-10-14Get rid of rescanMulticastGroups() in Network thread since this can ↵Adam Ierymenko
deadlock... the fact that this can happen is probably bad design.
2014-10-14More fixes to legacy support, and to a potential issue on quit.Adam Ierymenko
2014-10-10(1) Back off a little on default max multicast limit since 128 is pretty ↵Adam Ierymenko
bandwidth heavy, (2) add a little to default multicast rate limit since new MC algo is fairerererer, (3) decided not to involve netconf masters in multicast so take that out of list of who gets LIKEs.
2014-10-09Reorg multicast packet, and a whole bunch of refactoring around the pushing ↵Adam Ierymenko
of certificates of membership.
2014-10-04Pull logic to always send new multicasts to supernode since we need to do ↵Adam Ierymenko
that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
2014-10-03Announce multicast group changes on network rescanMulticastGroups()Adam Ierymenko
2014-10-03Add test network support to Network.Adam Ierymenko
2014-10-02Improve security posture by eliminating non-const data() accessor from Buffer.Adam Ierymenko
2014-09-30Add origin to new MULTICAST_FRAME, move security check for certs into ↵Adam Ierymenko
Network to remove redundant code and bug-proneness, more work on IncomingPacket...