Commit Graph

90 Commits

Author SHA1 Message Date
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
f42841a6ab fix init order for EmbeddedNetworkController (#2014) 2023-05-25 11:09:08 -07:00
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
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
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
b65c1ed3a0 Add inja
Requries update to C++17 standard
2022-05-13 09:34:15 -07:00
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
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
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
42a2afaef9 This may improve controller behavior with SSO and mixed SSO, needs testing! 2022-04-13 21:39:56 -04:00
e6b4fb5af7 add "ssoRedirectURL" to local.conf
plumbed it through to the central controller code
2021-06-04 16:29:03 -07:00
c470c6255e Postgres code for SSO (almost certainly needs work) 2021-05-28 17:08:24 -04:00
b270d527f4 Basic plumbing for authentication requirement and piping through of URL information. 2021-05-24 22:58:17 -04:00
06730c7d1d BSL date bump 2020-08-20 12:51:39 -07:00
154470b570 add original hiredis 2020-05-11 15:03:56 -07:00
73b1d57b13 rip out rabbitMQ 2020-05-11 12:29:06 -07:00
52a166a71f Relicense: GPLv3 -> ZeroTier BSL 1.1 2019-08-23 09:23:39 -07:00
f7e8d8f1dd Fix LFDB path issue when using with Postgress in DBMirrorSet config 2019-08-07 11:23:48 -05:00
5289d3327c Build fixes 2019-08-06 11:00:35 -05:00
00fb9c475e More work on DB mirroring. 2019-08-06 10:42:54 -05:00
37d508ab96 Refactoring in prep for mirroring 2019-08-06 07:51:50 -05:00
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
5edd04638d LFDB work in progress 2019-07-22 13:43:06 -07:00
fcb4221f97 rabbitMQ implementation 2019-03-05 15:11:50 -08:00
2294770e56 Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev 2019-01-21 11:18:25 -08:00
d98bdb5643 WIP: Pass listen port down to Postgres 2019-01-21 11:18:20 -08:00
0e597191b8 Updated licenses for 2019 2019-01-14 10:25:53 -08:00
c9c17eaddd Retire RethinkDB, simple receive path multithreading. 2018-11-11 22:35:15 -08:00
17af09a5cc Postgres Integration has begun 2018-08-31 14:58:15 -07:00
574b24c082 docs 2018-03-08 22:41:42 -08:00
6d8e1e8783 More cleanup of old stuff. 2018-01-26 21:34:56 -05:00
9bab49d2f9 Move DB stuff into Db. 2018-01-09 12:39:25 -08:00
4704d115c4 Some controller fixes. 2017-12-14 08:53:24 -08:00
c57198decd Add remoteTraceLevel to controller. 2017-12-05 17:49:20 -05:00
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
1613f42d00 Re-integrate in-filesystem DB into new controller DB structure. 2017-11-07 14:44:46 -08:00
92c7070aa8 RethinkDB fixes. 2017-11-03 20:55:16 -04:00
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
d97adc8789 Preparing for test. 2017-11-03 12:32:56 -07:00
f5014d7d71 RethinkDB direct connectivity integration. 2017-11-03 11:39:27 -07:00
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
283e8d5bc0 Start threads in Central harnessed mode. 2017-08-31 18:01:21 -04:00
174ba8884e Delete support in harnessed mode. 2017-08-17 13:10:10 -07:00
1ce0dcf0ea Another Central harnessed mode fix. 2017-08-16 14:41:42 -07:00
50e7ea088b More work on controller for new Central harnessed mode, remove old http mode. 2017-08-16 14:14:49 -07:00
2c682b4d1c Small controller revisions, first run of controller API model JavaScript. 2017-08-09 14:37:19 -07:00
31785f7f6e Automatic periodic status dump from controller. 2017-07-18 15:36:33 -07:00
d9552fb120 Add remoteTraceTarget to network and member configs in controller. 2017-07-14 14:33:36 -07:00
4ecc0c59ca Plumbing through of remote trace into controller code. 2017-07-14 13:03:16 -07:00
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