Adam Ierymenko
2436e22f46
More work on abstracting socket manager.
2014-10-21 15:18:50 -07:00
Adam Ierymenko
128a131070
About halfway there in refactoring to support pluggable SocketManager.
2014-10-21 14:26:10 -07:00
Adam Ierymenko
6bc9a938cf
Move socket manager implementation into osnet/
2014-10-21 11:25:31 -07:00
Adam Ierymenko
0e47f13f14
Simplify locking semantics some more to address a deadlock.
2014-10-21 10:42:04 -07:00
Adam Ierymenko
7c0f5e97e1
Don't need to check peer version for every item in txQueue since there is only one peer.
2014-10-19 15:20:19 -07:00
Adam Ierymenko
0fd562bebc
One more Windows build fix.
2014-10-19 13:10:23 -07:00
Adam Ierymenko
8730d30575
Now for some clang compile fixes...
2014-10-19 13:07:50 -07:00
Adam Ierymenko
babf3787c6
Switch VS2012 build back to real, not self-test.
2014-10-19 12:58:13 -07:00
Adam Ierymenko
74f36f5dc0
Windows build fixes.
2014-10-19 12:56:39 -07:00
Adam Ierymenko
2eeb3dee9e
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com:222/git/ZeroTierOne into adamierymenko-dev
2014-10-18 15:02:03 +02:00
Adam Ierymenko
4951e5e1b5
This is a --strategy=ours merge to allow adamierymenko-dev to replace
...
the current content of detached-network-test. This is ready for another
test in 'headless' mode.
Merge branch 'detached-network-test' into adamierymenko-dev
2014-10-18 15:00:47 +02:00
Adam Ierymenko
6429c51ec7
Merge branch 'detached-network-test' into adamierymenko-dev
2014-10-18 14:57:04 +02:00
Adam Ierymenko
a8bd8fff93
Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup.
2014-10-14 16:38:27 -07:00
Adam Ierymenko
a94b0e6a43
Get rid of rescanMulticastGroups() in Network thread since this can deadlock... the fact that this can happen is probably bad design.
2014-10-14 15:58:03 -07:00
Adam Ierymenko
7a37326cc0
Fix sleeper bug that probably did nothing in setSupernodes().
2014-10-14 14:59:17 -07:00
Adam Ierymenko
42d644a57e
More fixes to legacy support, and to a potential issue on quit.
2014-10-14 12:37:35 -07:00
Adam Ierymenko
023cac4ebb
Add -g to optimized crypto code in ZT_DEBUG=1 build mode.
2014-10-14 10:22:27 -07:00
Adam Ierymenko
2416491cbc
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
2014-10-13 14:12:51 -07:00
Adam Ierymenko
6e23986bb3
Another build fix.
2014-10-13 13:09:02 -07:00
Adam Ierymenko
1921e28c5f
Build fix.
2014-10-13 12:35:43 -07:00
Adam Ierymenko
52314dcdf6
GitHub issue #111
2014-10-13 11:47:14 -07:00
Adam Ierymenko
d8d4aace42
Fix for init.d/zerotier-one (again)
2014-10-13 12:55:16 -04:00
Adam Ierymenko
05309037a8
Yank potentially costly support for TTL out of UdpSocket since we dont use this anymore.
2014-10-13 09:37:17 -07:00
Adam Ierymenko
7943414c89
Part two of fix to GitHub issue #118 -- need to test thoroughly though.
2014-10-13 08:15:00 -07:00
Adam Ierymenko
c7c545bf6c
Fix for part one of GitHub issue #118
2014-10-13 08:11:19 -07:00
Adam Ierymenko
6316011024
Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth.
2014-10-12 11:42:49 -07:00
Adam Ierymenko
8b0846d077
Delete bunch of commented out code.
2014-10-11 16:53:21 -07:00
Adam Ierymenko
0d017c043f
Stop persisting last announcement time since Multicaster is volatile. Also some more legacy multicast fixes.
2014-10-11 16:26:02 -07:00
Adam Ierymenko
c2aac69a9f
Fixes to legacy peer support.
2014-10-11 15:49:31 -07:00
Adam Ierymenko
a9c6913f12
.
2014-10-11 10:38:52 -07:00
Adam Ierymenko
e071c05f1b
Add a sanity limit to legacy multicast repeater function in supernode-mode nodes, and change netconf-master to issue multicast limit (ml) instead of old p5 stuff.
2014-10-10 14:59:07 -07:00
Adam Ierymenko
03dc823ad7
(1) Back off a little on default max multicast limit since 128 is pretty 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-10 12:55:06 -07:00
Adam Ierymenko
1774e615a1
<= MTU
2014-10-10 09:09:56 -07:00
Adam Ierymenko
56f8f8aa24
Return self in GATHER requests if self is a member of multicast group, and reinstate legacy support.
2014-10-09 18:32:05 -07:00
Adam Ierymenko
4941c8a1f3
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
2014-10-09 17:58:31 -07:00
Adam Ierymenko
d5e0f7e3e4
Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership.
2014-10-09 12:42:25 -07:00
Adam Ierymenko
620e64c58f
Supernode propagation of legacy multicast frames was brokezored.
2014-10-09 09:03:12 -07:00
Adam Ierymenko
b809dad94a
Bug fix in zerotier-cli (Unix)
2014-10-07 16:16:22 -07:00
Adam Ierymenko
b13845e528
.
2014-10-07 15:26:12 -07:00
Adam Ierymenko
3f15752f73
Add IPv4 address assignment to ffffffffffffffff test network.
2014-10-07 14:34:00 -07:00
Adam Ierymenko
cb6fd3afb3
g++ compiler warning fix
2014-10-07 13:18:08 -07:00
Adam Ierymenko
7788a3d45d
.
2014-10-06 14:56:49 -07:00
Adam Ierymenko
923c325a40
Add another private-testnet root topology debug option using 10.0.0.1 as the supernode.
2014-10-06 13:19:04 -07:00
Adam Ierymenko
87f1b1b1e3
Bug fix in new multicast frame handler, handling of old "P5" multicast frames in new way.
2014-10-06 13:16:16 -07:00
Adam Ierymenko
ab22feba9a
Bump version to 1.0.0, add legacy support code to Multicaster to not send new frame to known-to-be-old peers.
2014-10-05 10:34:25 -07:00
Adam Ierymenko
10c196df50
Send a VERB_P5_MULTICAST_FRAME to the supernode for each multicast -- for now. This will allow supernodes to echo these down to pre-1.0.0 peers.
2014-10-04 13:46:29 -07:00
Adam Ierymenko
2c8321be1f
Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
2014-10-04 13:15:02 -07:00
Adam Ierymenko
62da7e67b6
Add some rate limiting to implicit gathers, and always send multicasts to at least one supernode so they can broadcast to old peers (temporary).
2014-10-03 22:30:10 -07:00
Adam Ierymenko
e7c81ef34e
Turns out that needed to be a list after all. Also clean up Multicaster::gather().
2014-10-03 22:03:19 -07:00
Adam Ierymenko
3f7e7e8a88
Do not multicast to self.
2014-10-03 18:42:41 -07:00