Adam Ierymenko
|
31785f7f6e
|
Automatic periodic status dump from controller.
|
2017-07-18 15:36:33 -07:00 |
|
Adam Ierymenko
|
ae65eb5105
|
Cleanup and replace trace field names with sane ones because usability > a few bytes.
|
2017-07-18 14:28:38 -07:00 |
|
Adam Ierymenko
|
1685659e37
|
Remote tracing works.
|
2017-07-17 17:02:50 -07:00 |
|
Adam Ierymenko
|
d9552fb120
|
Add remoteTraceTarget to network and member configs in controller.
|
2017-07-14 14:33:36 -07:00 |
|
Adam Ierymenko
|
4ecc0c59ca
|
Plumbing through of remote trace into controller code.
|
2017-07-14 13:03:16 -07:00 |
|
Adam Ierymenko
|
d2415dee00
|
Cleanup.
|
2017-07-06 16:11:11 -07:00 |
|
Adam Ierymenko
|
355cce3938
|
Rename Utils::snprintf due to it being a #define on one platform.
|
2017-06-27 11:31:29 -07:00 |
|
Adam Ierymenko
|
2ec88e8008
|
Remove old circuit test code. Rules engine will let us do this much better and more simply.
|
2017-05-30 10:19:45 -07:00 |
|
Adam Ierymenko
|
d905607353
|
Small optimizations.
|
2017-05-08 08:35:55 -07:00 |
|
Adam Ierymenko
|
909a14fb48
|
MTU support in controller.
|
2017-05-04 17:22:24 -07:00 |
|
Adam Ierymenko
|
39db45e144
|
Fix crash on exit (sometimes) in controller.
|
2017-05-03 09:48:08 -07:00 |
|
Adam Ierymenko
|
d7c99728bc
|
Echo back ping payload.
|
2017-05-02 17:28:18 -07:00 |
|
Adam Ierymenko
|
8e19188f49
|
Do the sometimes rather big "pong" in a background worker thread.
|
2017-05-02 16:58:51 -07:00 |
|
Adam Ierymenko
|
625e3e8e25
|
Tiny optimization to prealloc string space.
|
2017-05-02 13:53:47 -07:00 |
|
Adam Ierymenko
|
132643cd4a
|
Fix small issue preventing pongs if there are never seen members.
|
2017-05-02 10:34:33 -07:00 |
|
Adam Ierymenko
|
faf7b81c01
|
Send last requets time in status, and do not set physicalAddr unless we know one.
|
2017-05-01 15:48:52 -07:00 |
|
Adam Ierymenko
|
bcc6799902
|
Send member uptime in pong posts.
|
2017-05-01 15:23:21 -07:00 |
|
Adam Ierymenko
|
718e1d6c08
|
Finish removing constantly changing stuff from controller.
|
2017-05-01 13:21:26 -07:00 |
|
Adam Ierymenko
|
a9ce773584
|
Remove lastModified field in config which literally nothing uses anywhere, and prevent some unnecessary writes.
|
2017-04-28 19:58:21 -07:00 |
|
Adam Ierymenko
|
62578a2162
|
Reduce memory use and a bit of cleanup.
|
2017-04-27 19:36:03 -07:00 |
|
Adam Ierymenko
|
9e80db0fd1
|
Cleanup, fix a valgrind error, stack use reduction.
|
2017-04-27 00:59:36 -07:00 |
|
Adam Ierymenko
|
1205578935
|
Big cleanup of controller code, should help performance.
|
2017-04-26 06:48:08 -07:00 |
|
Adam Ierymenko
|
4f2a779769
|
JSONDB performance improvements, threading fix.
|
2017-04-24 20:51:02 -07:00 |
|
Adam Ierymenko
|
cafbe44dde
|
Controller optimizations -- make locking more fine-grained, use true hardware concurrency, etc.
|
2017-04-24 19:16:36 -07:00 |
|
Adam Ierymenko
|
bc61357a44
|
HTTP backend support for JSONDB
|
2017-04-18 17:37:44 -07:00 |
|
Adam Ierymenko
|
f6d92eb737
|
JSONDB fix.
|
2017-04-18 13:48:19 -07:00 |
|
Adam Ierymenko
|
b48a70db2e
|
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
|
2017-04-04 08:39:22 -07:00 |
|
Adam Ierymenko
|
cd050b3423
|
Performance improvement in controller.
|
2017-04-04 08:39:19 -07:00 |
|
Adam Ierymenko
|
eddbc7e757
|
Logic simplification, cleanup, and memory use improvements in Membership. Also fix an issue that may cause network instability in some cases.
|
2017-04-04 08:07:38 -07:00 |
|
Adam Ierymenko
|
e5284771e4
|
Add ping/pong to API so controller supervisor in Central can do a full-path check of controller uptime, etc.
|
2017-03-30 09:54:04 -07:00 |
|
Adam Ierymenko
|
57b5a33fbb
|
Fix bug preventing default from being set to null if already set to an integer.
|
2017-03-29 12:32:59 -07:00 |
|
Adam Ierymenko
|
e4896b257f
|
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
|
2017-03-27 17:03:17 -07:00 |
|
Adam Ierymenko
|
5268909075
|
Add a facility for full flow-through uptime test of controller by Central.
|
2017-03-21 06:31:15 -07:00 |
|
Adam Ierymenko
|
c62141fd98
|
Make controller do a simple write-through cache without revalidating. Means you must restart if files change on disk, but will decrease I/O considerably.
|
2017-03-21 06:15:49 -07:00 |
|
Adam Ierymenko
|
4f3f471b4c
|
GitHub issue #460
|
2017-03-17 18:19:51 -07:00 |
|
Adam Ierymenko
|
8f592ff6e8
|
Controller performance tweaks.
|
2017-03-13 13:58:29 -07:00 |
|
Adam Ierymenko
|
37629aaf87
|
Use cache on requests to decrease DB load.
|
2017-03-13 12:22:06 -07:00 |
|
Adam Ierymenko
|
7ea7e1898a
|
Fix a bug that could cause duplicate IP address assignment on networks if many new members join the controller at once.
|
2017-03-06 16:21:49 -08:00 |
|
Adam Ierymenko
|
5e6a4e5f5e
|
Send revocations automatically on deauth for instant kill, also fix some issues with the RP.
|
2017-03-06 15:12:28 -08:00 |
|
Adam Ierymenko
|
66dfc33de9
|
Fix circuit test post in controller.
|
2017-03-06 11:23:46 -08:00 |
|
Adam Ierymenko
|
a109d341ef
|
Send timestamp with new circuit test response.
|
2017-03-02 14:35:38 -08:00 |
|
Adam Ierymenko
|
a577b8d381
|
Update how controller handles circuit tests -- save results to filesystem.
|
2017-03-01 16:33:34 -08:00 |
|
Adam Ierymenko
|
2b10a982e9
|
Match on tag sender equals or tag recipient equals.
|
2017-02-28 09:22:10 -08:00 |
|
Adam Ierymenko
|
10185e92fa
|
Certificate of ownership -- used to secure against IP address spoofing, especially for IPv4 and regular IPv6.
|
2017-02-23 11:47:36 -08:00 |
|
Adam Ierymenko
|
54fa73844c
|
Fix crash.
|
2017-02-21 13:48:29 -08:00 |
|
Adam Ierymenko
|
32f5a0ab18
|
Add default tag values and default set capabilities for new members.
|
2017-02-21 13:27:20 -08:00 |
|
Adam Ierymenko
|
672f17c6e9
|
Add a mask and value range to the IP tos rule field. This allows TOS to be matched more usefully. This will break anyone using tos in the beta, but nobody seems to be and its pre-release so now is the time.
|
2017-02-07 09:33:39 -08:00 |
|
Adam Ierymenko
|
ac3e883c05
|
One more place to add "break".
|
2017-02-06 14:07:30 -08:00 |
|
Adam Ierymenko
|
31db768e4d
|
A bit of code cleanup.
|
2017-02-04 00:23:31 -08:00 |
|
Adam Ierymenko
|
a064e19b8a
|
Refactor some JSON stuff for performance, and fix a build error.
|
2017-01-10 13:51:10 -08:00 |
|
Adam Ierymenko
|
bf2b9e3692
|
Auto-authorize new members on public networks properly.
|
2016-12-22 18:52:34 -08:00 |
|
Adam Ierymenko
|
0d066e3b08
|
Fix JSON parse bug in REDIRECT target.
|
2016-12-22 18:26:43 -08:00 |
|
Adam Ierymenko
|
fe530548bb
|
Fix MATCH_RANDOM in controller.
|
2016-12-22 16:57:45 -08:00 |
|
Adam Ierymenko
|
a54c2b438c
|
Basic support for streaming of changes via stdout from controller.
|
2016-12-15 15:08:47 -08:00 |
|
Adam Ierymenko
|
ccdd4ffda7
|
Move split() to OSUtils since it is not used in core.
|
2016-11-18 15:49:28 -08:00 |
|
Adam Ierymenko
|
25f9c294dc
|
Small bug fix and warning removal.
|
2016-11-18 13:01:45 -08:00 |
|
Adam Ierymenko
|
07b2a3818c
|
Fix TTL scaling in cert.
|
2016-11-15 14:26:05 -08:00 |
|
Adam Ierymenko
|
15c6e2ec70
|
Fix member deauthorization time threshold bug.
|
2016-11-15 14:06:25 -08:00 |
|
Adam Ierymenko
|
e26bee45fb
|
Multithreading in network controller. Threads are only started if controller is used.
|
2016-11-10 13:57:01 -08:00 |
|
Adam Ierymenko
|
1b10d3413a
|
Use circuit breaker only for requests.
|
2016-11-10 13:08:43 -08:00 |
|
Adam Ierymenko
|
f0fcd222a1
|
Actually push updates when things change.
|
2016-11-10 12:54:43 -08:00 |
|
Adam Ierymenko
|
298e4a9f14
|
Also avoid sending tags and caps to old members since there is no point.
|
2016-11-10 12:33:09 -08:00 |
|
Adam Ierymenko
|
226123ca08
|
Refactor controller to permit sending of pushes as well as just replies to config requests.
|
2016-11-10 11:54:47 -08:00 |
|
Adam Ierymenko
|
5ebf5077f5
|
Log last meta-data in controller, and ease up just a bit on keepalives.
|
2016-11-09 17:11:10 -08:00 |
|
Adam Ierymenko
|
1ebfca666d
|
Memo-ize some computed stuff to control CPU utilization.
|
2016-11-09 12:34:20 -08:00 |
|
Adam Ierymenko
|
3d948a930e
|
Send a blanket rule to old versions. New versions will still bidirecitonally enforce on the inbound side.
|
2016-11-08 14:24:30 -08:00 |
|
Adam Ierymenko
|
4524899e4d
|
Update LM time on members on request.
|
2016-11-08 12:41:27 -08:00 |
|
Adam Ierymenko
|
360c84e035
|
Minor fixes.
|
2016-11-08 00:05:18 +00:00 |
|
Adam Ierymenko
|
4868d21526
|
Bug fixes in controller refactor.
|
2016-11-07 23:49:03 +00:00 |
|
Adam Ierymenko
|
a78d7311a6
|
Fix network list API call.
|
2016-11-04 16:23:41 -07:00 |
|
Adam Ierymenko
|
08ff666e99
|
.
|
2016-11-04 16:14:58 -07:00 |
|
Adam Ierymenko
|
0d108d37f6
|
.
|
2016-11-04 16:12:44 -07:00 |
|
Adam Ierymenko
|
b03c7b2f30
|
Refactor controller to use split-out DB for better performance and less ugly.
|
2016-11-04 15:18:31 -07:00 |
|
Grant Limberg
|
8ffae313fd
|
add new files & remove old ones from VS project. Now builds & runs on Windows again
|
2016-11-03 12:10:50 -07:00 |
|
Adam Ierymenko
|
2cb760e0ac
|
Fix ICMP json.
|
2016-10-13 14:14:46 -07:00 |
|
Adam Ierymenko
|
2d6a4e5974
|
cleanup
|
2016-10-13 13:52:45 -07:00 |
|
Adam Ierymenko
|
e53f63ca87
|
Broke down and added an OR to the rules engine. It is now possible to have a series of MATCHes that are ORed.
|
2016-10-11 12:00:16 -07:00 |
|
Adam Ierymenko
|
45c4ccb153
|
Add a tags both equal match.
|
2016-10-05 16:38:42 -07:00 |
|
Adam Ierymenko
|
adeb7e7da0
|
Make capability flags match more user-friendly and appropriate since "match any flag" is generally what we want.
|
2016-10-05 12:54:46 -07:00 |
|
Adam Ierymenko
|
988049f39b
|
Add new rule to rules engine: random match.
|
2016-09-30 14:07:00 -07:00 |
|
Adam Ierymenko
|
f0794e09b7
|
Controller cleanup.
|
2016-09-30 13:04:26 -07:00 |
|
Adam Ierymenko
|
1eeebba2f7
|
Drop old /active path from network.
|
2016-09-29 17:59:27 -07:00 |
|
Adam Ierymenko
|
2fc3d12fb6
|
Minor tweaks to member code in controller, and fix Linux build.
|
2016-09-29 14:48:39 -07:00 |
|
Adam Ierymenko
|
7e4b6b594b
|
It now builds.
|
2016-09-26 17:05:39 -07:00 |
|
Adam Ierymenko
|
1f74dd4589
|
Revocation work in progress, add WATCH which is TEE with implicit rate sync (thanks JG@DCVC!), and clean up some cruft in Network.
|
2016-09-23 16:08:38 -07:00 |
|
Adam Ierymenko
|
68e549233d
|
Revise bearer token code in controller, and add relay policy as a meta-data item presented to controller by nodes (to facilitate future meshiness).
|
2016-09-15 13:17:37 -07:00 |
|
Adam Ierymenko
|
ab9afbc749
|
(1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup.
|
2016-09-09 11:36:10 -07:00 |
|
Adam Ierymenko
|
0d4109a9f1
|
More refactoring to clean up code, and add a gate function to make sure we do not handle OK packets we did not expect. This hardens up a few potential edge cases around security, since such messages might be used to e.g. pollute a cache and DOS under certain conditions.
|
2016-09-09 08:43:58 -07:00 |
|
Adam Ierymenko
|
c9ee8612e4
|
Credential TTL (tags/capabilities) should be credential time max delta, since we could get pushed one that is newer.
|
2016-09-07 12:12:52 -07:00 |
|
Adam Ierymenko
|
74afef8eb1
|
Think through and refine a few things in rules, especially edge case TEE and REDIRECT behavior and semantics.
|
2016-08-31 16:50:22 -07:00 |
|
Adam Ierymenko
|
54489a7f61
|
rename SAMENESS to DIFFERENCE which is less confusing
|
2016-08-31 14:14:58 -07:00 |
|
Adam Ierymenko
|
8e3004591b
|
Add overlooked MATCH_ICMP to rule set.
|
2016-08-31 14:01:15 -07:00 |
|
Adam Ierymenko
|
7a00036954
|
Tweak log length to fit JSON for members within two 4096-kb blocks.
|
2016-08-29 18:10:02 -07:00 |
|
Adam Ierymenko
|
914c42537c
|
Type fixes.
|
2016-08-29 17:48:36 -07:00 |
|
Adam Ierymenko
|
297b1b4258
|
Another tiny API bug fix.
|
2016-08-26 14:16:55 -07:00 |
|
Adam Ierymenko
|
35ac995d05
|
Fix setting of v6AssignMode in controller.
|
2016-08-26 14:04:27 -07:00 |
|
Adam Ierymenko
|
d637988ccf
|
Fix chicken or egg problem in tags, and better filter debug instrumentation.
|
2016-08-25 18:21:20 -07:00 |
|
Adam Ierymenko
|
858e8c5217
|
one more...
|
2016-08-25 16:28:54 -07:00 |
|
Adam Ierymenko
|
df1ce856c9
|
A little bit more controller code cleanup.
|
2016-08-25 16:25:28 -07:00 |
|
Adam Ierymenko
|
b5e0d014ab
|
Controller bug fixes
|
2016-08-25 16:08:40 -07:00 |
|
Adam Ierymenko
|
5eaf397a94
|
Add a debug log feature in the filter, which only works if enabled in Network.cpp.
|
2016-08-25 13:31:23 -07:00 |
|
Adam Ierymenko
|
1814016eb7
|
Add daemon thread to controller and move network member cache refreshes there.
|
2016-08-25 11:26:45 -07:00 |
|
Adam Ierymenko
|
6ecb42b031
|
docs and null check in controller code
|
2016-08-25 10:46:03 -07:00 |
|
Adam Ierymenko
|
60bc291414
|
Add noAutoAssignIps for member of networks.
|
2016-08-24 17:05:43 -07:00 |
|
Adam Ierymenko
|
ccea3d04d6
|
Push NETWORK_CONFIG_REFRESH on POSTs to /member/... in controller.
|
2016-08-24 14:28:16 -07:00 |
|
Adam Ierymenko
|
8e3463d47a
|
Add length limit to TEE and REDIRECT, and completely factor out old C json-parser to eliminate a dependency.
|
2016-08-24 13:37:57 -07:00 |
|
Adam Ierymenko
|
8d594f8b53
|
cleanup
|
2016-08-23 16:05:10 -07:00 |
|
Adam Ierymenko
|
5f4df0c6a9
|
Controller cleanup and perf improvements.
|
2016-08-23 15:30:36 -07:00 |
|
Adam Ierymenko
|
32fa061700
|
Compute credential TTL et al.
|
2016-08-23 13:02:59 -07:00 |
|
Adam Ierymenko
|
9a3c652a51
|
Get rid of expiration in Capability and Tag and move this to NetworkConfig so it can be set network-wide and reset if needed. Also add NetworkConfig field for this and centralize checking of credential time validity.
|
2016-08-22 18:06:46 -07:00 |
|
Adam Ierymenko
|
b0d888d235
|
Signing of Capability and Tag objects.
|
2016-08-22 14:25:59 -07:00 |
|
Adam Ierymenko
|
4dce71879f
|
.
|
2016-08-18 18:18:50 -07:00 |
|
Adam Ierymenko
|
212a5af9a5
|
Capabilities and tags in POST JSON.
|
2016-08-18 14:37:56 -07:00 |
|
Adam Ierymenko
|
1cadbfb4d1
|
Little fixes.
|
2016-08-18 13:47:02 -07:00 |
|
Adam Ierymenko
|
f119c4a456
|
Cache network members for performance, add network non-persisted fields.
|
2016-08-18 12:59:48 -07:00 |
|
Adam Ierymenko
|
faa9a06bf5
|
Controller fixes...
|
2016-08-17 17:37:37 -07:00 |
|
Adam Ierymenko
|
b7ebf6edbf
|
Cleanup and log how member was authorized.
|
2016-08-17 13:54:32 -07:00 |
|
Adam Ierymenko
|
b72847d504
|
Finally implement network join auth tokens, at least at the protocol level.
|
2016-08-17 13:41:45 -07:00 |
|
Adam Ierymenko
|
168b86fdcd
|
Controller docs and API fix.
|
2016-08-17 12:27:07 -07:00 |
|
Adam Ierymenko
|
a13f4d8353
|
We now always build the controller in ZeroTier One, at least for desktop and server targets. Also means that ZeroTier One now requires C++11. (Still keeping C++11 out of the core in node/ though.)
|
2016-08-17 10:42:32 -07:00 |
|