Adam Ierymenko
30e82a4d9c
Fix network enumeration buffer size bug -- reported by user Neal Symms via LiveAgent
2014-12-02 12:53:30 -08:00
Adam Ierymenko
8c64046a53
docs
2014-11-26 14:59:43 -08:00
Adam Ierymenko
04e4c5263e
Remove more legacy code -- just doing the supernode redist for old multicast is now good enough given the small number of legacy nodes left.
2014-11-26 13:39:57 -08:00
Adam Ierymenko
4303376ba6
cleanup and docs
2014-11-26 13:30:00 -08:00
Adam Ierymenko
cda61fe2d9
docs and cleanup
2014-11-26 13:14:18 -08:00
Adam Ierymenko
0f505411cf
Enable legacy multicast in Constants.
2014-11-25 14:12:33 -08:00
Adam Ierymenko
15d3e383e6
Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled.
2014-11-25 12:46:51 -08:00
Adam Ierymenko
6888c6482c
Re-enable legacy multicast distribution -- still too many pre1.0.0 nodes online.
2014-11-24 10:37:34 -08:00
Adam Ierymenko
d772639cc6
Multicast code cleanup.
2014-11-24 10:05:16 -08:00
Adam Ierymenko
acac88cf77
A few more tweaks to MC algo...
2014-11-23 14:00:27 -08:00
Adam Ierymenko
0bcac1fd79
Add a bunch of high-resolution try/catch safety in Node main loop to attempt to snare gremlin.
2014-11-21 11:54:06 -08:00
Adam Ierymenko
959f611a65
Fix thinko in multicast changes... works now!
2014-11-21 11:27:53 -08:00
Adam Ierymenko
7619b0ecbd
Send multicasts in random order.
...
This should not affect most users, but on large networks it should cause service
announcements to work a lot better. This is the result of a prolonged discussion
with a user about the visibility of game servers on a large network. The old
multicast algorithm was de-facto randomized due to its distributed nature, while
the new algorithm is more deterministic. This will restore some randomization
beyond limit-overflow conditions.
It won't affect small networks at all.
2014-11-21 10:50:27 -08:00
Adam Ierymenko
0c85b4ef5f
Tweak to symmetric NAT buster to add one to the number of ports above the current one it attempts.
2014-11-20 13:42:18 -08:00
Adam Ierymenko
ee9e6a3c6b
Change path selection logic to exclude non-fixed and non-active paths -- possible fix for "NAT traversal coma" issue. Also fix a typo.
2014-11-20 13:20:16 -08:00
Adam Ierymenko
7b6f10e859
Optimization: we don't need to verify signatures on certs if they're certs we already have and have verified.
2014-11-13 12:40:51 -08:00
Adam Ierymenko
c61e9c0ef9
Prevent "software laser" in legacy multicast support. Already hotpatched in supernodes.
2014-11-13 14:21:06 -05:00
Adam Ierymenko
1bd5a1ebcd
Make selftest build and run on FreeBSD 10 with gmake
2014-11-04 11:20:38 -08:00
Adam Ierymenko
0e84eb3852
Back off default multicast limit just a little.
2014-10-29 18:25:24 -07:00
Adam Ierymenko
5484cf4309
More cleanup, and fix a bug in Multicaster::gather()
2014-10-29 16:24:19 -07:00
Adam Ierymenko
22d8aa4dc9
Moderate efficiency improvement on multicast gather result parsing, and go ahead and keep track of total known peers.
2014-10-29 15:26:32 -07:00
Adam Ierymenko
95f421024a
Code cleanup, and fix some unsafe pointer handling in Network.
2014-10-29 13:57:37 -07:00
Adam Ierymenko
5bb854e504
Fix a nasty bug introduced in packet fragmentation a while back during refactoring, and a few other things related to multicast.
2014-10-28 17:25:34 -07:00
Adam Ierymenko
4dec598fb8
Make multicast gather slightly more aggressive, and add total to list command in testnet.
2014-10-28 15:33:10 -07:00
Adam Ierymenko
3d85a615fb
NULL dereference on still-initializing node bug fix in status query commands, and doc updates.
2014-10-28 14:17:39 -07:00
Adam Ierymenko
934a575a74
Testnet seems to work a bit better now...
2014-10-27 18:23:10 -07:00
Adam Ierymenko
fe7b429866
...
2014-10-27 17:32:37 -07:00
Adam Ierymenko
3857116724
More testnet work.
2014-10-24 16:35:06 -07:00
Adam Ierymenko
4fbb098daa
Testnet work... getting there!
2014-10-23 16:46:09 -07:00
Adam Ierymenko
0a195e7bc0
Some work on simulated net...
2014-10-22 09:52:29 -07:00
Adam Ierymenko
ae228ade8c
Starting on simulated socket manager.
2014-10-21 17:00:25 -07:00
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
8730d30575
Now for some clang compile fixes...
2014-10-19 13:07:50 -07:00
Adam Ierymenko
74f36f5dc0
Windows build fixes.
2014-10-19 12:56:39 -07: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
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
52314dcdf6
GitHub issue #111
2014-10-13 11:47:14 -07: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
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