Commit Graph

91 Commits

Author SHA1 Message Date
Adam Ierymenko
1982071d46 1.14.0 version bump for Linux and macOS, date update. 2024-03-19 14:38:48 -07:00
Joseph Henry
7637ef10d7
Fix primary port binding issue in 1.12 (#2107)
* Add test for primary port bindings to validator - See #2105

* Add delay to binding test

* Remove TCP binding logic from Binder to fix #2105

* add second control plane socket for ipv6

* fix controller network post endpoint

* exit if we can't bind at least one of IPV4 or IPV6 for control plane port

---------

Co-authored-by: Grant Limberg <grant.limberg@zerotier.com>
2023-08-25 12:51:33 -04:00
Grant Limberg
f42841a6ab
fix init order for EmbeddedNetworkController (#2014) 2023-05-25 11:09:08 -07:00
Grant Limberg
17f6b3a10b
central controller metrics & request path updates (#2012)
* internal db metrics

* use shared mutexes for read/write locks

* remove this lock. only used for a metric

* more metrics

* remove exploratory metrics

place controller request benchmarks behind ifdef
2023-05-23 12:11:26 -07:00
Grant Limberg
adfbbc3fb0
Controller Metrics & Network Config Request Fix (#2003)
* add new metrics for network config request queue size and sso expirations
* move sso expiration to its own thread in the controller
* fix potential undefined behavior when modifying a set
2023-05-16 11:56:58 -07:00
Grant Limberg
e5fc89821f
use cpp-httplib for HTTP control plane (#1979)
refactored the old control plane code to use [cpp-httplib](https://github.com/yhirose/cpp-httplib) instead of a hand rolled HTTP server.  Makes the control plane code much more legible.  Also no longer randomly stops responding.
2023-04-28 11:03:28 -07:00
Grant Limberg
b65c1ed3a0
Add inja
Requries update to C++17 standard
2022-05-13 09:34:15 -07:00
Adam Ierymenko
ef08346a74
Fix a possible excessive memory use issue in controller and clean up a bunch of COM handling and other code in the normal node. 2022-04-19 19:59:54 -04:00
Adam Ierymenko
a4e8847664
Restore sending of rejections but move it exclusively to a thread, widen netconf window to 30 minutes. 2022-04-19 10:37:58 -04:00
Adam Ierymenko
55a99f34d0
Tighten certificate window and deprecate sending of revocations for ordinary SSO timeouts. Revocations should only be for deliberate deauth to kick people off networks. Cert window should now stay within refresh window for SSO so normal cert expiration should handle it just fine. 2022-04-15 14:23:26 -04:00
Adam Ierymenko
42a2afaef9
This may improve controller behavior with SSO and mixed SSO, needs testing! 2022-04-13 21:39:56 -04:00
Grant Limberg
e6b4fb5af7
add "ssoRedirectURL" to local.conf
plumbed it through to the central controller code
2021-06-04 16:29:03 -07:00
Adam Ierymenko
c470c6255e
Postgres code for SSO (almost certainly needs work) 2021-05-28 17:08:24 -04:00
Adam Ierymenko
b270d527f4
Basic plumbing for authentication requirement and piping through of URL information. 2021-05-24 22:58:17 -04:00
Adam Ierymenko
06730c7d1d BSL date bump 2020-08-20 12:51:39 -07:00
Grant Limberg
154470b570
add original hiredis 2020-05-11 15:03:56 -07:00
Grant Limberg
73b1d57b13
rip out rabbitMQ 2020-05-11 12:29:06 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1 2019-08-23 09:23:39 -07:00
Adam Ierymenko
f7e8d8f1dd
Fix LFDB path issue when using with Postgress in DBMirrorSet config 2019-08-07 11:23:48 -05:00
Adam Ierymenko
5289d3327c
Build fixes 2019-08-06 11:00:35 -05:00
Adam Ierymenko
00fb9c475e
More work on DB mirroring. 2019-08-06 10:42:54 -05:00
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
5edd04638d LFDB work in progress 2019-07-22 13:43:06 -07:00
Grant Limberg
fcb4221f97 rabbitMQ implementation 2019-03-05 15:11:50 -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
Adam Ierymenko
c9c17eaddd Retire RethinkDB, simple receive path multithreading. 2018-11-11 22:35:15 -08:00
Grant Limberg
17af09a5cc Postgres Integration has begun 2018-08-31 14:58:15 -07:00
Adam Ierymenko
574b24c082 docs 2018-03-08 22:41:42 -08:00
Adam Ierymenko
6d8e1e8783 More cleanup of old stuff. 2018-01-26 21:34:56 -05:00
Adam Ierymenko
9bab49d2f9 Move DB stuff into Db. 2018-01-09 12:39:25 -08:00
Adam Ierymenko
4704d115c4 Some controller fixes. 2017-12-14 08:53:24 -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
1613f42d00 Re-integrate in-filesystem DB into new controller DB structure. 2017-11-07 14:44:46 -08: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
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
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
31785f7f6e Automatic periodic status dump from controller. 2017-07-18 15:36:33 -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