5fcef91278
Ignore old root-topology if present -- fix for upgrading on Linux and possibly elsewhere.
2015-08-25 09:42:37 -07:00
facb009a1d
Add security notice to auto-update info in -h output, and fix a missing paren.
2015-07-31 09:50:55 -07:00
8d09c37140
Remove a bit of redundant logic, and also announce MULTICAST_LIKEs to controllers (for future use).
2015-07-31 09:37:13 -07:00
f6ced547be
Dead code removal.
2015-07-31 08:56:31 -07:00
eea8d58afa
docs,cleanup
2015-07-28 12:39:03 -07:00
21e6850722
Cancel NAT-t attempts if peer is no longer "alive"
2015-07-28 12:18:59 -07:00
5986d83738
Kill more kittens.
2015-07-28 12:04:14 -07:00
4564dd95ff
Revert... no luck with any of that.
2015-07-28 12:00:50 -07:00
d2bfdfa6e7
Play with NAT-t tweaks some more.
2015-07-28 11:57:18 -07:00
b69afa010e
Disable type punning on ARM by ifdef.
2015-07-28 11:50:01 -07:00
708aac1ea7
Remove some left over debug code, and fix attempt to send to self if we are an active bridge.
2015-07-28 11:43:09 -07:00
17bfd4d55e
Add TRACE for NAT-t debugging.
2015-07-28 11:32:34 -07:00
b31071463c
Try another NAT traversal improvement.
2015-07-28 11:28:47 -07:00
dda376c9eb
Nuke some abandoned code.
2015-07-28 11:16:43 -07:00
821f1f366e
Fix to NAT escalation sequence.
2015-07-27 17:34:58 -07:00
e99eda4a4a
Fix IP scoping bug, and disable remotely reported surface push... not helping. :(
2015-07-27 17:28:13 -07:00
fadb291962
Fix infinite loop typo.
2015-07-27 17:14:49 -07:00
f0003ea922
Push remote surface as reported by peers along with known interface direct paths to assist with (some) NAT traversal. (trying this, may back out if not effective)
2015-07-27 17:02:43 -07:00
e30ba3e138
Eliminate some aggressive port scanning NAT-t behavior that has proven ineffective.
2015-07-27 16:43:27 -07:00
7a15d8a7e3
Fix leaving of networks to actually call Network::destroy().
2015-07-24 14:50:44 -07:00
d647a587a1
(1) Fix updating of network revision counter on member change.
...
(2) Go back to timestamp as certificate revision number. This is simpler
and more robust than using the network revision number for this and
forcing network revision fast-forward, which could cause some peers
to fall off the horizon when you don't want them to.
2015-07-23 17:18:20 -07:00
b3516c599b
Add a rate limiting circuit breaker to the network controller to prevent flooding attacks and race conditions.
2015-07-23 10:10:17 -07:00
3ba54c7e35
Eliminate some poorly thought out optimizations from the netconf/controller interaction,
...
and go ahead and bump version to 1.0.4.
For a while in 1.0.3 -dev I was trying to optimize out repeated network controller
requests by using a ratcheting mechanism. If the client received a network config
that was indeed different from the one it had, it would respond by instantlly
requesting it again.
Not sure what I was thinking. It's fundamentally unsafe to respond to a message
with another message of the same type -- it risks a race condition. In this case
that's exactly what could happen.
It just isn't worth the added complexity to avoid a tiny, tiny amount of network
overhead, so I've taken this whole path out.
A few extra bytes every two minutes isn't worth fretting about, but as I recall
the reason for this optimization was to save CPU on the controller. This can be
achieved by just caching responses in memory *there* and serving those same
responses back out if they haven't changed.
I think I developed that 'ratcheting' stuff before I went full time on this. It's
hard to develop stuff like this without hours of sustained focus.
2015-07-23 09:50:10 -07:00
8c18c60c00
sp.
2015-07-17 15:30:13 -07:00
88949a750f
Workaround for uclibc missing map::operator==()
2015-07-13 11:39:55 -07:00
547b1c6157
Add additional TRACE output in pushDirectPaths.
2015-07-13 10:35:33 -07:00
0b354803f3
Clean up some YAGNI issues with implementation of GitHub issue #180 , and make best path choice aware of path rank.
2015-07-13 10:03:04 -07:00
0b9524f23d
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into adamierymenko-dev
2015-07-13 09:30:02 -07:00
4bf3bcbd55
Fixes to PUSH_DIRECT_PATHS.
2015-07-13 09:29:51 -07:00
3f0eca72f7
ZT_TRACE build fix.
2015-07-13 08:36:22 -07:00
fe20f0d7cd
Put back legacy code to listen for LAN announcements to support same network location with pre-1.0.4 clients.
2015-07-13 08:33:02 -07:00
a297e4a5bf
Add build def ZT_NO_TYPE_PUNNING, which when defined disables type punning code that might cause unaligned access errors on architectures that care (e.g. Android/ARM)
2015-07-08 09:12:51 -07:00
412389ec75
Implement ERROR_UNWATNED_MULTICAST
2015-07-07 11:49:38 -07:00
cf6f30963c
Kill a potential source of type punning BUS errors on Android, and besides that hack probably did not improve performance at all given the short lenghts of things compared with secureEq()
2015-07-07 10:59:59 -07:00
3f567a07ca
Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG and replacing it with a simple non-crypto PRNG that just uses Salsa20.
2015-07-07 10:49:50 -07:00
41fc08b330
etherTypeName() is only used in Switch and only with ZT_TRACE
2015-07-07 10:06:05 -07:00
07ea4fd4f9
Fix potential bug in controller config request.
2015-07-07 10:02:48 -07:00
778c7e6e70
More cleanup to direct path push, comment fixes, etc.
2015-07-07 10:00:34 -07:00
c863ff3f02
A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
2015-07-07 08:54:48 -07:00
f398952a6c
Revert some bad docs in Packet -- I think we will still use that. Also rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter.
2015-07-07 08:14:41 -07:00
6da9d2d36f
Remove debug printf().
2015-07-06 17:23:22 -07:00
f881cdd767
Add new .h file to VS build, and Windows side of local interface address enumeration.
2015-07-06 17:22:37 -07:00
84ba365c77
Fix bug in direct path push send.
2015-07-06 17:20:41 -07:00
cac55105c3
Fix a regression.
2015-07-06 16:40:23 -07:00
a87cd2d094
Unix side of local interface address awareness for GitHub issue #180 .
2015-07-06 16:32:34 -07:00
235f4762b7
Plumbing for local interface addresses -- GitHub issue #180
2015-07-06 15:51:04 -07:00
79e9a8bcc2
Almost everything for GitHub issue #180 except direct path map setup.
2015-07-06 15:28:48 -07:00
fad9dff2db
Almost all of GitHub issue #180
2015-07-06 15:05:04 -07:00
1632aec102
Check Network::isAllowed() always on multicast send.
2015-07-06 14:53:27 -07:00
255320e2a6
pushDirectPaths() implementation
2015-07-06 14:39:28 -07:00