Adam Ierymenko
aee742e767
More toward GitHub issue #56
12 years ago
Adam Ierymenko
c9294c1a78
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
12 years ago
Adam Ierymenko
b117ff5435
Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
12 years ago
Adam Ierymenko
316e8d1939
Build fix.
12 years ago
Adam Ierymenko
f13493edb2
Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
12 years ago
Adam Ierymenko
daaec84c6b
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
12 years ago
Adam Ierymenko
ab5a460177
Apply multicast rate limits on a network to ourselves and do not send multicasts that would exceed limits, for GitHub issue #55
12 years ago
Adam Ierymenko
6f5a4d7e29
Fix blocking socket issues in new socket I/O code.
12 years ago
Adam Ierymenko
abc82d6a52
IPC changes and SocketManager changes all build!
12 years ago
Adam Ierymenko
91fef21973
More ripping out of old condition stuff.
12 years ago
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
12 years ago
Adam Ierymenko
5b97bb247e
More Windows service work... it builds! Now to do a new installer and test. Also fix a Windows compile warning in Switch.cpp.
12 years ago
Adam Ierymenko
bf5f09a0c7
Yank a code path it turns out we probably don't want.
12 years ago
Adam Ierymenko
525ab3faa9
Take TRACE back out of Mac makefile, fix a few decode little things.
12 years ago
Adam Ierymenko
490e86dde3
Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates.
12 years ago
Adam Ierymenko
6e076e77d8
More work on connection reset stuff...
12 years ago
Adam Ierymenko
372566295e
Alternate order of packet emission in unite().
12 years ago
Adam Ierymenko
8b65b3e6d7
Yank PROBE stuff since it's not used and was a premature addition to the protocol.
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
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
10df5dcf70
Fix several things:
...
(1) The changes to path learning in the two previous releases were poorly thought out,
and this version should remedy that by introducing PROBE. This is basically a kind of
ECHO request and is used to authenticate endpoints that are not learned via a valid
request/response pair. Thus we will still passively learn endpoints, but securely.
(2) Turns out there was a security oversight in _doHELLO() that could have permitted...
well... I'm not sure it was exploitable to do anything particularly interesting since
a bad identity would be discarded anyway, but fix it just the same.
12 years ago
Adam Ierymenko
92969b4426
Fix for GitHub issue #20 (untested)
12 years ago
Adam Ierymenko
942cc0ca21
Certificate of membership works now... had to fix multicast propagation so COM is pushed with multicast, which makes tremendous sense in retrospect.
13 years ago
Adam Ierymenko
03b909603a
Clean up the awful Network::Config mess and break that out into NetworkConfig.
13 years ago
Adam Ierymenko
797bba04dd
Get rid of not used and maybe never to be used Filter code.
13 years ago
Adam Ierymenko
ce14ba9004
Take the 0.6.0 opportunity to add flags to a few protocol verbs and do a bit more cleanup. Also fix it so certificates wont be accepted unless they are newer than existing ones.
13 years ago
Adam Ierymenko
46f868bd4f
Lots of cleanup, more work on certificates, some security fixes.
13 years ago
Adam Ierymenko
58fa6cab43
Auto-pushing of membership certs on: MULTICAST_FRAME,FRAME,MULTICAST_LIKE and on receipt of MULTICAST_LIKE.
13 years ago
Adam Ierymenko
c7590634e8
Eliminate a lot of redundant WHOIS requests, clean up WHOIS clutter in TRACE, flesh out multicast tracing a bit.
13 years ago
Adam Ierymenko
58538500f2
Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them.
13 years ago
Adam Ierymenko
2cfa76fa8b
Multicast propagation is now working from non-supernodes, and working quite well. Time for some more simulation before 0.5.0!
13 years ago
Adam Ierymenko
3443b203e4
Each peer now tracks the last time it announced multicast LIKEs independently and does so frequently enough to prevent expires. Also add a multicast debug facility for use on the testnet.
13 years ago
Adam Ierymenko
9db7939d38
Make new multicast depth and prefix bits parameters configurable.
13 years ago
Adam Ierymenko
4ecb9369b5
Fix for multicast propagation -- supernodes must always keep propagating. Also fix mac-tap build on new version of Xcode CL tools. Must use old llvm-g++ instead of clang for i686 -mkernel.
13 years ago
Adam Ierymenko
0dca9964bf
Whew, it builds!
13 years ago
Adam Ierymenko
f9079a110e
Make network multicast breadth/depth parameters configurable on a per-net basis.
13 years ago
Adam Ierymenko
0133da1dcd
Get rid of onSent(), which was never used consistently anyway.
13 years ago
Adam Ierymenko
e376c6f6a9
New crypto integrated -- going to be testing new identity address generation algo a bit more before finalizing.
13 years ago
Adam Ierymenko
ceb024ab03
Integrating new crypto, work still in progress...
13 years ago
Adam Ierymenko
55e7ddba1e
Get a default rate that works for multicast.
13 years ago
Adam Ierymenko
a40b8c07f4
Apply multicast rate limits to my own multicasts. Will run locally and on a variety of system types to test the result of this.
13 years ago
Adam Ierymenko
55616388ea
Check network ethernet type whitelist instead of hard-coded ethernet types.
13 years ago
Adam Ierymenko
487eb17ec0
ZeroTierOne for Windows binary project, builds and runs and mostly works but still some issues with tap.
13 years ago
Adam Ierymenko
2efc9b31bd
Huge convoluted logic de-tangling in multicast propagation, supernodes now do random propagation for more efficient coverage with less bias in sparse graph cases.
13 years ago
Adam Ierymenko
d6414c9ff7
Windows compiles! (w/Visual Studio 2012) That's about all it does, but it's a start.
13 years ago
Adam Ierymenko
5076c75b07
More Windows port work.
13 years ago
Adam Ierymenko
f5717f4427
Fix a bug and wow, it works.
13 years ago
Adam Ierymenko
e4c5ad9f43
More work on network membership certs, and it builds now. Still in heavy development.
13 years ago
Adam Ierymenko
9cf734b74a
Sane-ify Address, get rid of goofy union thingy.
13 years ago
Adam Ierymenko
195ded4608
Cleanup, comments, regularize TRACE messages.
13 years ago