Adam Ierymenko
e3983f8a57
Get rid of -I on Mac and Linux since we include miniupnpc headers by direct path reference.
11 years ago
Adam Ierymenko
14264c2d6f
Add miniupnpc builds for Windows, fix some Windows build warnings.
11 years ago
Adam Ierymenko
3c54187c40
Linux x86 libminiupnpc.a
11 years ago
Adam Ierymenko
7df4eb69b5
Linux x64 libminiupnpc.a
11 years ago
Adam Ierymenko
559e384130
Linux make support for libminiupnpc.
11 years ago
Adam Ierymenko
ebe5c526bb
libminiupnpc.a for arm6l
11 years ago
Adam Ierymenko
5097aae716
Add miniupnpc to third party libs.
11 years ago
Adam Ierymenko
569c5e77fd
Add binary build of libminiupnpc for Mac x64.
11 years ago
Adam Ierymenko
9c87decba6
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into adamierymenko-dev
11 years ago
Adam Ierymenko
fe6d5b1402
UPNP/NAT-PMP support with libminiupnpc (if built with it) -- GitHub issue #64
11 years ago
Adam Ierymenko
eea8d58afa
docs,cleanup
11 years ago
Adam Ierymenko
21e6850722
Cancel NAT-t attempts if peer is no longer "alive"
11 years ago
Adam Ierymenko
5986d83738
Kill more kittens.
11 years ago
Adam Ierymenko
4564dd95ff
Revert... no luck with any of that.
11 years ago
Adam Ierymenko
d2bfdfa6e7
Play with NAT-t tweaks some more.
11 years ago
Adam Ierymenko
b69afa010e
Disable type punning on ARM by ifdef.
11 years ago
Adam Ierymenko
708aac1ea7
Remove some left over debug code, and fix attempt to send to self if we are an active bridge.
11 years ago
Adam Ierymenko
17bfd4d55e
Add TRACE for NAT-t debugging.
11 years ago
Adam Ierymenko
b31071463c
Try another NAT traversal improvement.
11 years ago
Adam Ierymenko
dda376c9eb
Nuke some abandoned code.
11 years ago
Adam Ierymenko
40d5c79b62
Enable SO_NO_CHECK if available to skip UDP checksum on packet send for slight performance improvement. We do our own cryptographically secure authentication so UDP checksum is worthless.
11 years ago
Adam Ierymenko
1537109514
Merge branch 'master' into adamierymenko-dev
11 years ago
Adam Ierymenko
66c74f0ad9
Merge pull request #215 from nelsonjchen/patch-2
...
Update Application Mac Menu. Small MacGap leftover.
11 years ago
Adam Ierymenko
821f1f366e
Fix to NAT escalation sequence.
11 years ago
Adam Ierymenko
e99eda4a4a
Fix IP scoping bug, and disable remotely reported surface push... not helping. :(
11 years ago
Adam Ierymenko
fadb291962
Fix infinite loop typo.
11 years ago
Adam Ierymenko
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)
11 years ago
Adam Ierymenko
e30ba3e138
Eliminate some aggressive port scanning NAT-t behavior that has proven ineffective.
11 years ago
Adam Ierymenko
7a15d8a7e3
Fix leaving of networks to actually call Network::destroy().
11 years ago
Adam Ierymenko
dba91eaa09
Apply same Linux compiler-picker logic to Mac.
11 years ago
Adam Ierymenko
d57ea671d7
Add version to log.
11 years ago
Adam Ierymenko
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.
11 years ago
Adam Ierymenko
a493fc23f4
Fix for make-linux: detect whether CC/CXX were explicitly overridden, and if not then use the gcc/clang selection logic. Otherwise ?= breaks this.
11 years ago
Adam Ierymenko
b3516c599b
Add a rate limiting circuit breaker to the network controller to prevent flooding attacks and race conditions.
11 years ago
Adam Ierymenko
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.
11 years ago
Nelson Chen
b41079ddf9
Update Application Mac Menu. Small MacGap leftover.
...
Hide ZeroTier One, not MacGap.
Just a papercut.
11 years ago
Adam Ierymenko
e2a2993b18
Add a Log table to log queries for debugging and security logging. No JSON API support for querying the log yet, but will probably come via /network/###/member/###/log/... or something.
11 years ago
Adam Ierymenko
8ca885d27c
Merge pull request #212 from keesbos/fix
...
Fix for output of empty (no members) network
11 years ago
Adam Ierymenko
7c761dea72
Fix to member listing: I wanted an object with member IDs as keys and member revisions as values, not an array.
11 years ago
Adam Ierymenko
3f8a5b8b76
List members in the form of a hash of member ID and member revision so code can quickly detect which members have changed.
11 years ago
Adam Ierymenko
a061aa3d87
Remove "members" from Network record and instead enumerate members via specific query to /network/nwid/member sub-path. More RESTful, scalable, and compatible with how OnePoint code works.
11 years ago
Adam Ierymenko
b343eac10d
Fix IP auto-assign bug due to missing subnet routes.
11 years ago
Adam Ierymenko
649a12472b
Report controllerInstanceId in all objects so that controller resets can be easily detected by whatever is using the service.
11 years ago
Adam Ierymenko
cac6be87ba
Fix bug in rules JSON output.
11 years ago
Adam Ierymenko
38d34a7495
Proper handling of NULL entry for etherType in rules table.
11 years ago
Adam Ierymenko
fb4c3dd8d4
Fix string overwrite bug.
11 years ago
Adam Ierymenko
1ffd67e014
Get rid of false foreign key in Relay.
11 years ago
Adam Ierymenko
8c18c60c00
sp.
11 years ago
Adam Ierymenko
bca8886ff8
IP assignment pool range bug fix.
11 years ago
Adam Ierymenko
1f7bb67069
Fix some SQL and make instanceId more robustly random.
11 years ago