Commit graph

6836 commits

Author SHA1 Message Date
Grant Limberg
8c3a777108
addressing pr comments 2026-05-04 16:27:45 -07:00
Grant Limberg
23d395d781
change sso topic names for clarity 2026-04-30 09:41:24 -07:00
Grant Limberg
0e8ec661c8
make sure subscribe pulls stay running 2026-04-11 13:42:44 -07:00
Grant Limberg
d2361a9a66
logging 2026-04-11 12:39:05 -07:00
Grant Limberg
910334c2a5
Fix silent PubSub message loss in controller subscription loop
The 10-second session.cancel() loop raced with in-flight acks — when
cancel fired while the GCP client was processing messages, acks were
lost before reaching the server. With message ordering enabled, an
unacked message blocks all subsequent messages on that ordering key,
causing silent stalls with no error output.

Two fixes:
- Replace the cancel/reconnect timer with a blocking session.get(),
  storing the session future so the destructor can cancel on shutdown.
- Always ack messages even when onNotification fails — permanent errors
  (bad protobuf, missing fields) will never succeed on retry and would
  otherwise poison the ordering key indefinitely.
2026-04-11 09:30:21 -07:00
Grant Limberg
4ca5c9b820
fix poison pill blocking proccessing 2026-04-11 07:40:11 -07:00
Grant Limberg
1f3a04f303
periodic queue size logging, and fix some db connection leaks 2026-04-03 10:28:28 -07:00
Grant Limberg
af7eae5d9e
Added a little bit more logging for the node checkin/bigtable write process 2026-04-03 09:52:55 -07:00
Grant Limberg
ea5c91b0e9
Remove smee from CentralDB.
Now handled in CV1 on new member join via pubsub integration when a new member comes through
2026-04-02 10:04:23 -07:00
Grant Limberg
20f7311622
Skip redundant nonce sending with an expiry time of 0 2026-04-01 09:48:05 -07:00
Grant Limberg
dd6e69f530
sso query fix in controller 2026-03-31 14:04:30 -07:00
Grant Limberg
78b25f4ae2
update settings to enable SSO networks 2026-03-31 13:24:03 -07:00
Grant Limberg
895b06033d
temporary logging 2026-03-31 10:56:04 -07:00
Grant Limberg
b047038ca1
print a message when the SSO PSK is configured 2026-03-31 08:48:00 -07:00
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