Commit Graph

224 Commits

Author SHA1 Message Date
Adam Ierymenko
37d508ab96
Refactoring in prep for mirroring 2019-08-06 07:51:50 -05:00
Adam Ierymenko
f6b080b8a2 Abstract out change listener from controller itself to permit DBs to shadow changes from other DBs. 2019-07-26 17:39:00 -07:00
Adam Ierymenko
d4d350a285 Work in progress 2019-07-23 09:29:08 -07:00
Adam Ierymenko
5edd04638d LFDB work in progress 2019-07-22 13:43:06 -07:00
Adam Ierymenko
700cc92083 Indent fix 2019-06-11 11:01:12 -07:00
Adam Ierymenko
cacdb445c7 Bump protocol version to 10 2019-05-14 13:54:27 -07:00
Adam Ierymenko
2966eac64f Get rid of ZT_FAST_MEMCPY because this is not really needed. 2019-03-22 15:50:15 -07:00
Grant Limberg
fcb4221f97 rabbitMQ implementation 2019-03-05 15:11:50 -08:00
Adam Ierymenko
5b1ef2fb03 Take netmask bits from most specific route. 2019-02-01 14:05:29 -08:00
Adam Ierymenko
34c1023ba7 Wrong criteria was wrong. Now with less wrong. 2019-02-01 11:37:30 -08:00
Grant Limberg
2294770e56 Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev 2019-01-21 11:18:25 -08:00
Grant Limberg
d98bdb5643 WIP: Pass listen port down to Postgres 2019-01-21 11:18:20 -08:00
Joseph Henry
0e597191b8 Updated licenses for 2019 2019-01-14 10:25:53 -08:00
Grant Limberg
d87fcca176 Fully operational pgsql controller 2018-10-24 12:06:17 -07:00
Grant Limberg
c1ea1329c1 Merge branch 'dev' into libpq 2018-09-28 10:56:40 -07:00
Adam Ierymenko
7a42416a78
Merge pull request #822 from dschulz/controller-patch1-dschulz
Add functionality to erase members from networks using file backend i…
2018-09-25 11:38:25 -07:00
Grant Limberg
17af09a5cc Postgres Integration has begun 2018-08-31 14:58:15 -07:00
Diego Schulz
fc6dba0797
Add functionality to erase members from networks using file backend in controller microservice
Signed-off-by: Diego Schulz <dschulz@gmail.com>
2018-08-02 17:13:55 -04:00
Adam Ierymenko
f94aea8119 Return error 503 if RethinkDB is down when built as RethinkDB-based controller. 2018-07-11 10:42:31 -07:00
Adam Ierymenko
37ae3b2b80 Remote debug printf. 2018-07-03 12:52:35 -07:00
Adam Ierymenko
73e4286fbf Fix two controller bugs: filesystem bug and another possible infinite recursion bug. 2018-07-03 12:51:41 -07:00
Grant Limberg
9463d4abe4 Fix for issue #778
Double quote before member name in `/controller/network/network_id/member` API
2018-06-05 12:55:39 -07:00
Adam Ierymenko
574b24c082 docs 2018-03-08 22:41:42 -08:00
Adam Ierymenko
f7019d9e80 Tie up the rest of hub and spoke designated replicator multicast mode. 2018-01-26 22:14:10 -05:00
Adam Ierymenko
4e689998f9 Sanity checks on array sizes and fix a bug in IPv4 auto-assign. 2018-01-12 10:38:19 -08:00
Adam Ierymenko
a1992d76f2 Doc updates and other fixes. 2018-01-10 14:31:28 -08:00
Adam Ierymenko
9bab49d2f9 Move DB stuff into Db. 2018-01-09 12:39:25 -08:00
Adam Ierymenko
0608704626 Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions. 2017-12-15 11:03:20 -08:00
Adam Ierymenko
4704d115c4 Some controller fixes. 2017-12-14 08:53:24 -08:00
Adam Ierymenko
8d9464c414 docs, and make RethinkDB controller DB driver upsert into the Controller DB and also update the hostname field. 2017-12-07 13:39:25 -08:00
Adam Ierymenko
520b0601db Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev 2017-12-05 14:51:06 -08:00
Adam Ierymenko
926ecf9640 docs 2017-12-05 14:50:59 -08:00
Adam Ierymenko
c57198decd Add remoteTraceLevel to controller. 2017-12-05 17:49:20 -05:00
Adam Ierymenko
0fb22df633 Get ephemeral status fields out of the configs. They do not belong there and it just complicates things. 2017-11-09 17:01:16 -05:00
Adam Ierymenko
f7f658605d Move more ephemeral stuff to a tiny MemberLastRequest table instead of the main Member table. 2017-11-08 20:19:46 -05:00
Adam Ierymenko
c12b68a6b2 More Central work. 2017-11-08 11:32:01 -08:00
Adam Ierymenko
4166d8ca35 Fix a deadlock and some more work on RethinkDB (for central) integration. 2017-11-08 11:06:14 -08:00
Adam Ierymenko
7fc9094d8e More fixes to RethinkDB. 2017-11-03 22:40:26 -04:00
Adam Ierymenko
92c7070aa8 RethinkDB fixes. 2017-11-03 20:55:16 -04:00
Adam Ierymenko
b68bca35db Linux build fixes, linux build rule for RethinkDB mode controller, also force disable shitty allocators in libstdc++. 2017-11-03 16:59:36 -04:00
Adam Ierymenko
d97adc8789 Preparing for test. 2017-11-03 12:32:56 -07:00
Adam Ierymenko
f5014d7d71 RethinkDB direct connectivity integration. 2017-11-03 11:39:27 -07:00
Adam Ierymenko
395d8b3139 Full and clearer implementation of GitHub issue #588 2017-10-24 13:33:53 -07:00
Grant Limberg
b1d60df44c timestamps changed from uint64_t to int64_t
There were cases in the code where time calculations and comparisons were overflowing and causing connection instability.  This will keep time calculations within expected ranges.
2017-10-02 15:52:57 -07:00
Adam Ierymenko
283e8d5bc0 Start threads in Central harnessed mode. 2017-08-31 18:01:21 -04:00
Adam Ierymenko
5bf5d5e9cb Minor controller stuff. 2017-08-30 17:22:25 -07:00
Adam Ierymenko
106dff0d53 Make remote trace target null by default, which is probably what we want. 2017-08-18 13:52:10 -07:00
Adam Ierymenko
174ba8884e Delete support in harnessed mode. 2017-08-17 13:10:10 -07:00
Adam Ierymenko
1ce0dcf0ea Another Central harnessed mode fix. 2017-08-16 14:41:42 -07:00
Adam Ierymenko
50e7ea088b More work on controller for new Central harnessed mode, remove old http mode. 2017-08-16 14:14:49 -07:00
Adam Ierymenko
2c682b4d1c Small controller revisions, first run of controller API model JavaScript. 2017-08-09 14:37:19 -07:00
Adam Ierymenko
e4823381c6 . 2017-07-19 15:16:15 -07:00
Adam Ierymenko
66feaeb519 . 2017-07-19 15:06:23 -07:00
Adam Ierymenko
b62296a40b Bug fixes in new harness mode. 2017-07-19 14:13:17 -07:00
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