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
dba91eaa09
Apply same Linux compiler-picker logic to Mac.
2015-07-24 13:17:41 -07:00
d57ea671d7
Add version to log.
2015-07-24 09:59:17 -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
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.
2015-07-23 13:05:18 -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
b41079ddf9
Update Application Mac Menu. Small MacGap leftover.
...
Hide ZeroTier One, not MacGap.
Just a papercut.
2015-07-22 22:40:43 -07:00
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.
2015-07-22 14:01:49 -07:00
8ca885d27c
Merge pull request #212 from keesbos/fix
...
Fix for output of empty (no members) network
2015-07-22 09:34:17 -07:00
bc0954381c
Merge branch 'adamierymenko-dev' into android-jni
2015-07-21 17:53:39 -07:00
7c761dea72
Fix to member listing: I wanted an object with member IDs as keys and member revisions as values, not an array.
2015-07-21 14:12:22 -07:00
3f8a5b8b76
List members in the form of a hash of member ID and member revision so code can quickly detect which members have changed.
2015-07-21 13:38:59 -07:00
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.
2015-07-21 12:57:01 -07:00
b343eac10d
Fix IP auto-assign bug due to missing subnet routes.
2015-07-21 12:42:43 -07:00
649a12472b
Report controllerInstanceId in all objects so that controller resets can be easily detected by whatever is using the service.
2015-07-21 10:39:29 -07:00
d05e8a9772
Merge branch 'adamierymenko-dev' into android-jni
2015-07-20 19:51:58 -07:00
cac6be87ba
Fix bug in rules JSON output.
2015-07-20 16:31:37 -07:00
38d34a7495
Proper handling of NULL entry for etherType in rules table.
2015-07-20 15:11:53 -07:00
fb4c3dd8d4
Fix string overwrite bug.
2015-07-20 14:31:33 -07:00
1ffd67e014
Get rid of false foreign key in Relay.
2015-07-20 14:28:30 -07:00
8c18c60c00
sp.
2015-07-17 15:30:13 -07:00
bca8886ff8
IP assignment pool range bug fix.
2015-07-17 15:09:28 -07:00
1f7bb67069
Fix some SQL and make instanceId more robustly random.
2015-07-17 13:09:53 -07:00
712e2785f2
Fix bad JSON in response.
2015-07-17 12:24:42 -07:00
5515909c1e
Add a concept of an "instanceId" to the controller, which the OnePoint can use to determine whether it is the same running database instance it already knows.
2015-07-17 10:47:21 -07:00
5ef806c43c
Fix addLocalInterfaceAddress call in OneService on Windows
2015-07-16 19:20:43 -07:00
1e8ead441c
Merge branch 'adamierymenko-dev' into android-jni
2015-07-16 18:09:57 -07:00
0db7c94c90
Add memberRevision stuff to JSON output, and update docs.
2015-07-16 17:42:47 -07:00
99969b186b
Add a concept of a member revision counter to networks. This can be used to select all members that have been added or changed since a given point.
2015-07-16 17:34:03 -07:00
f9f7de0ec7
Networks don't need their ID as a default name.
2015-07-14 15:54:56 -07:00
d27c14af48
Don't allow zero as a network number.
2015-07-14 12:32:57 -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
d78e3bb307
Disable HTTP test in selftest since it works, and GitHub issue #207 .
2015-07-13 07:42:20 -07:00
e45475c5b5
fixed a misspelling
2015-07-09 20:26:23 -07:00
a408e5f685
set ZT_NO_TYPE_PUNNING and -O3 for Android builds
2015-07-08 18:00:13 -07:00
f67ddb579d
Merge branch 'adamierymenko-dev' into android-jni
2015-07-08 17:30:22 -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
1ad2cfeedf
Merge branch 'adamierymenko-dev' into android-jni
2015-07-07 19:24:02 -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