Commit graph

6822 commits

Author SHA1 Message Date
Grant Limberg
7ec42461d8 configure assigned central version in startup script 2026-03-19 11:57:35 -07:00
Grant Limberg
e49b347a8f plumb through config changes for sso pubsub 2026-03-19 11:56:17 -07:00
Grant Limberg
7faf30d0cc another fix 2026-03-18 13:51:16 -07:00
Grant Limberg
d9507dd895 Undo change to old migration that shouldn't have been made 2026-03-18 13:18:03 -07:00
Grant Limberg
2c57f85e25 add assigned_central_version column to controllers_ctl
Allow controllers to advertise which central version (cv1, cv2, or all)
they are assigned to handle via a new configurable field. The value is
persisted to the database on each heartbeat and validated at startup
against the DB CHECK constraint.
2026-03-17 16:30:25 -07:00
Grant Limberg
a840b94e0d add SSO nonce/auth PubSub messaging with frontend routing
Publish CTL_NONCE_UPDATE to PubSub when nonces are created or reused in
getSSOAuthInfo(), with the network's frontend as a message attribute so
only the correct CV frontend receives it. Listen for ZT1_AUTH_UPDATE
messages and update sso_expiry.authentication_expiry_time accordingly,
with a network existence check before applying.

- Add sso_send_topic/sso_recv_topic to PubSubConfig
- Add PubSubWriter::publishSSONonceUpdate() with frontend param
- Add PubSubSSOListener class for inbound auth updates
- Rename CV1_AUTH_UPDATE to ZT1_AUTH_UPDATE in sso.proto
- Fix pre-existing connection pool leak in getSSOAuthInfo() catch block
2026-03-17 14:42:49 -07:00
Grant Limberg
03aa33bba7 set network member frontend based on the network its a member of 2026-03-12 09:20:05 -07:00
Grant Limberg
38f4d124b0 woops. out of order here 2026-02-25 15:04:40 -08:00
Grant Limberg
0ad6b19705 drop index 2026-02-25 14:37:27 -08:00
Grant Limberg
ae7ee51b9d fix db migrations 2026-02-25 14:36:53 -08:00
Grant Limberg
0f0e6b3b16 add a linked_id column to the oidc_config table.
Required to get the list of configs  for a particular org that the controller has.  Named it `linked_id` rather than `org_id` since we don't know what it will be linked to in CV2
2026-02-25 13:37:04 -08:00
Grant Limberg
c653e764b8
WIP: Update sso info retrieval method 2026-02-24 14:01:33 -08:00
Grant Limberg
35f7bf2291
disable peer metrics in Central controller 2026-01-23 13:06:02 -08:00
Grant Limberg
ccb9a45d21
Remove extra verbose logging from controller 2026-01-23 11:53:06 -08:00
Grant Limberg
68a96344ed
Merge branch 'dev' into gl/ctl-pusub 2026-01-23 11:18:45 -08:00
Adam Ierymenko
67648579b5
Merge pull request #2549 from zerotier/1.16.1
1.16.1
2026-01-20 11:53:31 -05:00
Adam Ierymenko
fa601636aa
Merge branch 'dev' into 1.16.1 2025-12-22 18:20:59 -05:00
Adam Ierymenko
d2b4b6e91d
Add date to release notes. 2025-12-22 17:49:15 -05:00
Adam Ierymenko
a77009e4f0
notes 2025-12-22 16:50:13 -05:00
Chris Spiegel
9c2bd25d86 Add a couple entries to the release notes
The date still needs to be updated when this is actually released.
2025-12-22 12:50:02 -08:00
Adam Ierymenko
22b47f851e 1.16.1 Windows bump 2025-12-12 14:43:40 -05:00
Adam Ierymenko
2342926442 All version bumps but Windows. 2025-12-12 14:17:21 -05:00
Joseph Henry
458c5c9709
Merge pull request #21 from zerotier/joseph-henry-disable-http-debug
Disable debug logging for the HTTP API library
2025-12-01 14:34:32 -08:00
Joseph Henry
4f6b9038f1
Disable debug logging for the HTTP API library
This just quiets things down a little since the HTTP library produces so much verbose text.
2025-12-01 14:32:11 -08:00
Grant Limberg
2ba50f4544
set --provenance false on docker build to try and fix docker image creation issue 2025-11-12 16:17:03 -08:00
Grant Limberg
50daf9537b
controller build readme update 2025-11-11 18:40:58 -08:00
Chris Spiegel
20007a73df
Merge pull request #12 from zerotier/erase-after-unique
Ensure erase() is called after std::unique()
2025-11-10 12:45:36 -08:00
Joseph Henry
7f5850a943
Merge pull request #11 from zerotier/snprintf-into-self
Avoid using the same source and destination in snprintf()
2025-11-10 09:50:22 -08:00
Joseph Henry
8e5d81728f
Merge pull request #10 from zerotier/windows-bool-assign
Fix assignment vs comparison typo
2025-11-10 09:46:58 -08:00
Joseph Henry
300b05aaf0
Merge pull request #8 from zerotier/2152-disable-metrics
Allow metrics to be disabled
2025-11-10 09:39:43 -08:00
Joseph Henry
595a70c5ed
Remove old multipathMode setting 2025-11-10 09:38:59 -08:00
Grant Limberg
00dca6a2c0
Merge branch 'dev' into gl/ctl-pubsub 2025-11-06 10:01:11 -08:00
Chris Spiegel
9e53fe4b12 Avoid using the same source and destination in snprintf()
It's undefined to write to a buffer you're reading from in snprintf().
On modern glibc and musl versions, this results in the string
"/zerotier_dump.txt" being generated, i.e. in the root directory. Use a
new variable to hold the string dump.

This is done for MacOS as well. On Sequoia, at least, it's not
necessary, as it handles overlapping objects fine, but this is more
future-proof.

At the same time, include a specific error message when the dumpfile
can't be opened to help users track down problems. Also, truncate the
file so that new writes don't potentially leave stale data.
2025-11-06 08:28:33 -08:00
Chris Spiegel
fb162084f5 Fix assignment vs comparison typo
At the same time, ensure a newline is written after the error message.
2025-11-06 05:24:56 -08:00
Chris Spiegel
1d9f06d4ac Disable metrics by default 2025-11-06 05:18:26 -08:00
Chris Spiegel
48311896f8 Allow metrics to be disabled 2025-11-06 05:17:57 -08:00
Chris Spiegel
616698fa91 Ensure erase() is called after std::unique()
Without this the duplicates are just moved to the end of the collection,
but not actually erased.
2025-11-06 05:15:48 -08:00
Chris Spiegel
b8e3ca6a2c
Merge pull request #7 from zerotier/2279-prometheus-after-daemonize
Stop and restart the Prometheus worker thread when daemonizing
2025-11-05 15:11:00 -08:00
Chris Spiegel
f231561276 Stop and restart the Prometheus worker thread when daemonizing
Also use _Exit() instead of returning from main() to avoid duplicate
cleanup/flusing/etc.
2025-11-05 14:15:47 -08:00
Joseph Henry
ce5556a677
Merge pull request #4 from zerotier/dev-merge-from-public-repo
Dev merge from public repo
2025-11-04 15:26:05 -08:00
Joseph Henry
8d4cb1e05b
Merge pull request #2535 from cspiegel/uninitialized-vars
Ensure members in PacketMultiplexer are initialized
2025-11-03 14:21:34 -08:00
Chris Spiegel
45773f0b6e Ensure members in PacketMultiplexer are initialized
_enabled is set to true by setUpPostDecodeReceiveThreads(), so disabled
until then, but the constructor wasn't initializing it. _concurrency is
not being used before being set but for safety's sake, ensure it has a
starting value as well.

Also, remove the vestigial _rxThreadCount, which is no longer used.
2025-11-03 11:20:01 -08:00
Grant Limberg
5c27068b80
Enable cross-service propagation of otel trace metadata 2025-10-30 13:47:50 +01:00
Grant Limberg
30c4484731
Set ordering key on pubsub message publishing. 2025-10-27 11:01:36 +01:00
Grant Limberg
c21ff23477
Added some more logging to the ctl around deauths 2025-10-27 09:44:36 +01:00
Grant Limberg
76ba89060b
ensure change source is controller if otherwise unset 2025-10-09 16:29:43 -07:00
Grant Limberg
77aa8c7bf8
missed one 2025-10-09 15:47:34 -07:00
Grant Limberg
bf0fe2c09a
these should be empty json arrays, not just "[]".
Actually these *should* be structs, not filling out json.  Adding this to the tech debt backlog
2025-10-09 15:39:40 -07:00
Grant Limberg
19ccc98f91
more variations on checking json 2025-10-09 15:28:48 -07:00
Grant Limberg
e3f65ff359
compiler fix 2025-10-09 15:02:16 -07:00