Adam Ierymenko
0b84c10ccc
Add confirmation step to new netconf, with the caveat that it will be disabled for older netconf servers to avoid race. Also add some comments.
11 years ago
Adam Ierymenko
afea153a0b
Build fixes.
11 years ago
Adam Ierymenko
64ba596e0b
C++ network config master ready to test.
11 years ago
Adam Ierymenko
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
11 years ago
Adam Ierymenko
56cfe1d603
Strip out old Service code, add new service message type.
11 years ago
Adam Ierymenko
ff539c22f9
locallyValidate() is expensive -- stop doing it on every HELLO since in most cases we already know the identity and know it is valid
11 years ago
Adam Ierymenko
8c64046a53
docs
11 years ago
Adam Ierymenko
15d3e383e6
Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled.
11 years ago
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.
11 years ago
Adam Ierymenko
c61e9c0ef9
Prevent "software laser" in legacy multicast support. Already hotpatched in supernodes.
12 years ago
Adam Ierymenko
5484cf4309
More cleanup, and fix a bug in Multicaster::gather()
12 years ago
Adam Ierymenko
22d8aa4dc9
Moderate efficiency improvement on multicast gather result parsing, and go ahead and keep track of total known peers.
12 years ago
Adam Ierymenko
0e47f13f14
Simplify locking semantics some more to address a deadlock.
12 years ago
Adam Ierymenko
42d644a57e
More fixes to legacy support, and to a potential issue on quit.
12 years ago
Adam Ierymenko
2416491cbc
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
12 years ago
Adam Ierymenko
8b0846d077
Delete bunch of commented out code.
12 years ago
Adam Ierymenko
0d017c043f
Stop persisting last announcement time since Multicaster is volatile. Also some more legacy multicast fixes.
12 years ago
Adam Ierymenko
c2aac69a9f
Fixes to legacy peer support.
12 years ago
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.
12 years ago
Adam Ierymenko
1774e615a1
<= MTU
12 years ago
Adam Ierymenko
56f8f8aa24
Return self in GATHER requests if self is a member of multicast group, and reinstate legacy support.
12 years ago
Adam Ierymenko
4941c8a1f3
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
12 years ago
Adam Ierymenko
d5e0f7e3e4
Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership.
12 years ago
Adam Ierymenko
620e64c58f
Supernode propagation of legacy multicast frames was brokezored.
12 years ago
Adam Ierymenko
87f1b1b1e3
Bug fix in new multicast frame handler, handling of old "P5" multicast frames in new way.
12 years ago
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.
12 years ago
Adam Ierymenko
3f7e7e8a88
Do not multicast to self.
12 years ago
Adam Ierymenko
1109046782
Last steps before test: parse OK(MULTICAST_GATHER) and OK(MULTICAST_FRAME)
12 years ago
Adam Ierymenko
49dc47ff38
Make multicast gathering a bit smarter.
12 years ago
Adam Ierymenko
23836d4c11
Change "encrypted" flag to full cipher suite selector. Go ahead and reserve AES256-GCM which might be added in the future.
12 years ago
Adam Ierymenko
e53d208ea4
Improve security posture by eliminating non-const data() accessor from Buffer.
12 years ago
Adam Ierymenko
28646eee0a
A bit more IncomingPacket cleanup... almost ready to test, just need OK() handling.
12 years ago
Adam Ierymenko
ea6124dd2f
IncomingPacket builds!
12 years ago
Adam Ierymenko
b41437780b
Add origin to new MULTICAST_FRAME, move security check for certs into Network to remove redundant code and bug-proneness, more work on IncomingPacket...
12 years ago
Adam Ierymenko
2659427864
Multicaster needs to be global, not per-network, and a bunch of other stuff.
12 years ago
Adam Ierymenko
ed0ba49502
A few more revisions to new multicast verbs.
12 years ago
Adam Ierymenko
81b12b6826
Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables.
12 years ago
Adam Ierymenko
557801a09e
Rename PacketDecoder to much more descriptive IncomingPacket
12 years ago
Adam Ierymenko
9180a30986
.
12 years ago
Adam Ierymenko
954f9cbc13
Yet more WIP on mulitcast algo...
12 years ago
Adam Ierymenko
5c1c70a604
cleanup
12 years ago
Adam Ierymenko
ea0f836ef1
Turns out we do want to propagate packets unauthenticated in the supernode case. This is fine.
12 years ago
Adam Ierymenko
b8729de9da
Temporarily DISABLE multicast authentication (doing in branch, will reenable in dev)
12 years ago
Adam Ierymenko
88bdb81791
Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
12 years ago
Adam Ierymenko
40bd460b1c
Some comment revisions and additional sanity checks.
12 years ago
Adam Ierymenko
be0a8ec1f1
.
12 years ago
Adam Ierymenko
c3cea55493
Some cleanup in PacketDecoder.
12 years ago
Adam Ierymenko
2162a419e3
Some logging fixes.
12 years ago
Adam Ierymenko
6802da457e
Bridging pretty much ready to test! Got Switch all wired up. Also fix a latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68
12 years ago
Adam Ierymenko
d6a4f8d77b
Add flags to EXT_FRAME for better future proofness.
12 years ago