Adam Ierymenko
7b6f10e859
Optimization: we don't need to verify signatures on certs if they're certs we already have and have verified.
12 years ago
Adam Ierymenko
95f421024a
Code cleanup, and fix some unsafe pointer handling in Network.
12 years ago
Adam Ierymenko
a8bd8fff93
Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup.
12 years ago
Adam Ierymenko
a94b0e6a43
Get rid of rescanMulticastGroups() in Network thread since this can deadlock... the fact that this can happen is probably bad design.
12 years ago
Adam Ierymenko
42d644a57e
More fixes to legacy support, and to a potential issue on quit.
12 years ago
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.
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
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.
12 years ago
Adam Ierymenko
496109fdcc
Announce multicast group changes on network rescanMulticastGroups()
12 years ago
Adam Ierymenko
aad344bb84
Add test network support to Network.
12 years ago
Adam Ierymenko
e53d208ea4
Improve security posture by eliminating non-const data() accessor from Buffer.
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
8607aa7c3c
Everything in for new multicast except IncomingPacket parsing...
12 years ago
Adam Ierymenko
2d41055bdc
Some Network code cleanup.
12 years ago
Adam Ierymenko
027060dad1
Most of new multicast code builds... now on to packet parsing.
12 years ago
Adam Ierymenko
9e186bbd89
.
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
9180a30986
.
12 years ago
Adam Ierymenko
61d0f27d2a
Make MulticastTopology have its own mutex.
12 years ago
Adam Ierymenko
954f9cbc13
Yet more WIP on mulitcast algo...
12 years ago
Adam Ierymenko
d9abd4d9be
Work on defining new direct broadcast multicast algorithm.
12 years ago
Adam Ierymenko
d02ecfb288
IP assignment and change cleanup -- leave IPs that were never configured via ZT static assignment alone.
12 years ago
Adam Ierymenko
eadff71d37
Another fix to Network life cycle.
12 years ago
Adam Ierymenko
de4e29288d
Fix for crazy Windows threading bug... repeatedly adding and removing a network now doesn't leave networks in limbo.
12 years ago
Adam Ierymenko
f8d4611d15
(1) Tweak LAN locator beacon frequencies, (2) Windows virtual networks
...
now show up as *real* networks and prompt the user to set their
location and firewall status (public, private, home/work, etc.).
The hack used to achieve #2 should not be examined by children or those
suffering from epilepsy or heart conditions.
12 years ago
Adam Ierymenko
77457cbff1
Windows compile fixes, compiler warning fix, unfreed memory fix in main.c (though it would not have mattered since program exits immediately after).
12 years ago
Adam Ierymenko
adfb71fa6b
Compile for for TRACE, remove old TESTNET cruft.
12 years ago
Adam Ierymenko
b80c229d87
Tons of code cleanup, refactor Network to use EthernetTapFactory, probably also fix GitHub issue #90
12 years ago
Adam Ierymenko
45a1e048bb
Add enabled/disabled status to network.
12 years ago
Adam Ierymenko
cf4700bc26
Simplify network briding modes -- we only need passive toggle and active bridge list, not three mode types. Also change isOpen to isPublic for terminology consistency.
12 years ago
Adam Ierymenko
08b7bb3c7a
Network memory for bridge-side multicast groups that we learn - GitHub issue #68
12 years ago
Adam Ierymenko
d44e1349d8
Bridge routing table - GitHub issue #68
12 years ago
Adam Ierymenko
31ddc49da2
GitHub issue #67
12 years ago
Adam Ierymenko
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
12 years ago
Adam Ierymenko
d9836adbf6
.... aaaaaand... GitHub issue #61 was caused by the fact that we were no longer deleting taps on Windows!
12 years ago
Adam Ierymenko
0b8d6c7f4a
Builds and runs on Unix with EthernetTap changes, now for Windows... and for what we did this for: a refactor of the Windows tap connector.
12 years ago
Adam Ierymenko
6f5a4d7e29
Fix blocking socket issues in new socket I/O code.
12 years ago
Adam Ierymenko
d0b506c12b
Fix crash on uninitialized taps.
12 years ago
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
12 years ago
Adam Ierymenko
3f912eb4ad
Fix for GitHub issue #37 : remember *nix device names.
12 years ago
Adam Ierymenko
ffffc0179f
Fix a couple compile items.
12 years ago
Adam Ierymenko
f80ec871f6
Make EthernetTap creation occur in a background thread in Network since it's a time consuming operation on Windows. This fixes one of the last remaining Windows problems.
12 years ago
Adam Ierymenko
afbbf61588
Delete persistent tap device on Windows when we leave a network.
12 years ago
Adam Ierymenko
9d67a02b5f
Lock down individual files in networks.d instead of directory since directory ACLs are more complex on Windows.
12 years ago
Adam Ierymenko
370dd6c4da
Several things:
...
(1) Add a bunch of tedious type casts to eliminate unnecessary compiler warnings on Windows X64 builds.
(2) Some EthernetTap work to integrate Windows custom IOCTL for multicast group lookup (not done quite yet).
(3) Dump some more info in selftest to make sure our Windows path lookup functions are returning sane results.
12 years ago
Adam Ierymenko
010616e3ae
Add some more TRACE output for certs.
13 years ago
Adam Ierymenko
5901972958
More tying up of certificate of membership stuff in the client.
13 years ago
Adam Ierymenko
40e4f39181
Peers are now dumped on shutdown in a persistence cache and reloaded on startup, which is good enough for clients right now. Supernodes will get something else for long-term authoritative identity caching.
13 years ago
Adam Ierymenko
5a8f213c23
Work in progress...
13 years ago