rcourtman
61c8e8ca00
Make agent command-exec token rejection actionable, not a silent 'Invalid token'
...
An agent enrolled for metrics but whose token the server doesn't recognise (or
that lacks the agent:exec scope, or is bound to a different agent) was rejected
on the command-exec WebSocket with a bare 'Invalid token' and — for the
token-not-found case — no server log at all. The agent then retried forever,
logging only 'Invalid token', so the operator had no signal that discovery
deep-scan was failing or why. (Confirmed live: delly/minipc agents pointed at a
backend that didn't recognise their token retried thousands of times; discovery
abstained for every guest as a result.)
- agentexec/server.go: the registration-rejection message the agent logs
verbatim now says 'agent token not authorized for command execution — re-run
the agent installer to enroll an agent:exec-scoped token'.
- api/agent_exec_token_binding.go: the previously-silent token-not-recognised
branch now logs the specific reason with the agent hostname.
Contract-neutral: same rejection behaviour, just legible. Regression test:
TestHandleWebSocket_RejectionMessageIsActionable. Verified live end-to-end.
2026-06-09 17:55:09 +01:00
..
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-13 14:04:14 +01:00
2026-05-13 14:04:14 +01:00
2026-05-28 13:44:20 +01:00
2026-04-22 00:05:57 +01:00
2026-04-22 00:05:57 +01:00
2026-04-22 00:05:57 +01:00
2026-02-04 14:24:42 +00:00
2026-05-28 16:31:19 +01:00
2026-05-28 16:31:19 +01:00
2026-05-12 12:06:27 +01:00
2026-05-13 18:36:00 +01:00
2026-06-03 12:29:37 +01:00
2026-06-09 17:55:09 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 08:39:31 +01:00
2026-05-05 14:19:50 +01:00
2026-05-04 00:50:14 +01:00
2026-02-04 13:43:28 +00:00
2026-01-25 21:08:44 +00:00
2026-01-19 19:26:18 +00:00
2026-03-18 16:06:30 +00:00
2026-06-04 21:56:36 +01:00
2026-06-04 21:56:36 +01:00
2026-05-28 16:31:19 +01:00
2026-04-22 22:57:08 +01:00
2026-03-24 23:59:52 +00:00
2026-03-27 08:39:59 +00:00
2026-06-07 18:01:55 +01:00
2026-06-04 11:23:05 +01:00
2026-06-07 18:01:55 +01:00
2026-03-18 16:06:30 +00:00
2026-06-07 18:01:55 +01:00
2026-03-18 16:06:30 +00:00
2026-01-25 21:08:44 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-19 04:04:14 +00:00
2026-04-23 15:54:48 +01:00
2026-04-09 20:15:17 +01:00
2026-04-11 16:47:37 +01:00
2026-04-22 00:39:53 +01:00
2026-05-12 12:06:27 +01:00
2026-03-18 16:06:30 +00:00
2026-05-15 22:45:48 +01:00
2026-03-18 16:06:30 +00:00
2026-06-07 00:06:34 +01:00
2026-06-09 09:43:21 +01:00
2026-06-09 09:43:21 +01:00
2026-04-28 15:49:18 +01:00
2026-06-03 12:29:37 +01:00
2026-03-26 17:12:27 +00:00
2026-04-11 16:47:37 +01:00
2026-03-18 16:06:30 +00:00
2026-05-06 16:31:51 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-28 15:10:39 +01:00
2026-05-06 16:31:51 +01:00
2026-01-25 21:08:44 +00:00
2026-05-08 02:21:31 +01:00
2026-05-11 23:10:35 +01:00
2026-03-30 13:22:50 +01:00
2026-03-18 16:06:30 +00:00
2026-05-28 13:15:55 +01:00
2026-06-03 12:29:37 +01:00
2026-03-28 21:14:54 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-28 13:44:20 +01:00
2026-04-22 07:59:12 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-11 16:47:37 +01:00
2026-03-25 00:36:47 +00:00
2026-01-24 22:42:23 +00:00
2026-05-21 16:11:30 +01:00
2026-05-28 14:49:20 +01:00
2026-05-04 00:16:31 +01:00
2026-05-04 00:16:31 +01:00
2026-02-04 09:52:32 +00:00
2026-03-24 23:59:52 +00:00
2026-05-28 14:49:20 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-04 23:16:15 +01:00
2026-03-18 16:06:30 +00:00
2026-05-06 14:25:36 +01:00
2026-05-06 14:08:03 +01:00
2026-03-18 16:06:30 +00:00
2026-05-05 12:59:59 +01:00
2026-05-03 12:25:56 +01:00
2026-05-03 12:25:56 +01:00
2026-04-01 01:04:06 +01:00
2026-02-02 18:59:44 +00:00
2026-06-05 20:15:55 +01:00
2026-06-04 14:07:14 +01:00
2026-06-02 12:45:48 +01:00
2026-06-02 17:34:10 +01:00
2026-06-01 22:41:10 +01:00
2026-03-26 20:51:29 +00:00
2026-05-04 09:47:54 +01:00
2026-05-04 09:47:54 +01:00
2026-05-04 23:16:15 +01:00
2026-03-18 16:06:30 +00:00
2026-05-05 12:59:59 +01:00
2026-03-18 16:06:30 +00:00
2026-04-22 01:03:10 +01:00
2026-04-09 20:15:17 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2025-12-01 23:50:10 +00:00
2026-05-05 12:59:59 +01:00
2026-06-03 22:40:30 +01:00
2026-03-31 12:53:08 +01:00
2025-12-01 14:46:00 +00:00
2026-03-18 16:06:30 +00:00
2026-04-19 20:42:22 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2025-12-02 17:21:48 +00:00
2026-04-22 20:26:15 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-28 20:35:10 +00:00
2026-03-18 16:06:30 +00:00
2026-04-26 17:26:16 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-01-25 21:08:44 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-28 15:51:31 +01:00
2026-04-10 12:33:57 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-05-25 18:20:11 +01:00
2026-06-03 12:29:37 +01:00
2026-05-14 00:22:18 +01:00
2026-05-14 00:22:18 +01:00
2026-05-25 18:20:11 +01:00
2026-05-06 14:25:36 +01:00
2026-05-25 18:20:11 +01:00
2026-06-03 12:29:37 +01:00
2026-04-22 01:18:33 +01:00
2026-05-13 20:16:35 +01:00
2026-06-09 09:43:21 +01:00
2026-03-18 16:06:30 +00:00
2026-04-26 15:27:10 +01:00
2026-04-26 15:27:10 +01:00
2026-05-04 09:14:09 +01:00
2026-04-11 17:20:58 +01:00
2026-05-05 12:59:59 +01:00
2026-06-03 12:29:37 +01:00
2026-05-04 09:14:09 +01:00
2026-05-04 09:14:09 +01:00
2026-05-05 12:59:59 +01:00
2026-05-05 12:59:59 +01:00
2026-03-18 16:06:30 +00:00
2026-06-02 23:54:48 +01:00
2026-04-30 09:23:40 +01:00
2026-04-30 09:23:40 +01:00
2026-06-04 10:07:10 +01:00
2026-06-04 11:49:17 +01:00
2026-03-18 16:06:30 +00:00
2026-05-20 14:54:19 +01:00
2026-06-05 09:21:53 +01:00
2026-03-24 16:05:19 +00:00
2026-06-02 23:54:48 +01:00
2026-03-18 16:06:30 +00:00
2026-06-02 23:54:48 +01:00
2025-11-29 17:06:18 +00:00
2026-06-02 23:54:48 +01:00
2026-04-30 09:13:04 +01:00
2026-04-30 09:13:04 +01:00
2026-03-28 20:35:10 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-25 23:40:22 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-04-22 04:23:23 +01:00
2026-05-13 00:28:24 +01:00
2026-05-13 00:28:24 +01:00
2026-03-18 16:06:30 +00:00
2026-02-02 22:01:46 +00:00
2026-03-18 16:06:30 +00:00
2026-01-25 21:08:44 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-02 17:34:10 +01:00
2026-04-05 13:18:30 +01:00
2026-04-28 15:49:18 +01:00
2026-04-28 15:49:18 +01:00
2026-04-28 16:36:09 +01:00
2026-03-18 16:06:30 +00:00
2026-05-04 09:33:19 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-10 12:54:12 +01:00
2026-05-05 09:26:10 +01:00
2026-05-03 12:48:01 +01:00
2026-03-18 16:06:30 +00:00
2026-05-05 12:59:59 +01:00
2026-03-18 16:06:30 +00:00
2026-05-05 12:59:59 +01:00
2026-04-28 19:12:21 +01:00
2026-04-11 16:47:37 +01:00
2026-04-10 12:33:57 +01:00
2026-05-05 12:59:59 +01:00
2026-05-05 12:59:59 +01:00
2026-04-28 19:12:21 +01:00
2026-06-03 12:29:37 +01:00
2026-05-05 12:59:59 +01:00
2026-04-16 10:17:37 +01:00
2026-06-03 12:29:37 +01:00
2026-06-03 18:12:42 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-02-02 22:02:22 +00:00
2025-12-12 11:05:24 +00:00
2026-04-22 00:39:53 +01:00
2026-05-04 22:43:35 +01:00
2026-05-04 22:43:35 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-15 13:40:24 +01:00
2026-05-12 21:10:58 +01:00
2026-05-12 21:10:58 +01:00
2026-05-12 21:10:58 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-01-19 19:26:18 +00:00
2025-12-10 00:29:07 +00:00
2026-04-10 23:40:13 +01:00
2026-06-02 21:10:13 +01:00
2026-05-10 22:59:23 +01:00
2026-06-03 12:29:37 +01:00
2026-05-21 12:33:10 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-04-22 05:42:45 +01:00
2026-04-22 05:42:45 +01:00
2026-03-18 16:06:30 +00:00
2026-04-11 16:47:37 +01:00
2026-04-11 16:47:37 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-05 12:59:59 +01:00
2026-06-03 12:29:37 +01:00
2026-06-03 12:29:37 +01:00
2026-06-03 12:29:37 +01:00
2026-04-23 23:04:03 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-01-25 21:08:44 +00:00
2026-02-02 22:02:22 +00:00
2025-12-02 16:47:13 +00:00
2026-02-04 15:10:02 +00:00
2026-06-04 09:29:47 +01:00
2026-06-04 09:29:47 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-29 16:25:09 +01:00
2026-05-04 00:16:31 +01:00
2026-06-03 12:29:37 +01:00
2026-04-22 05:42:45 +01:00
2026-04-01 16:36:44 +01:00
2026-04-22 05:42:45 +01:00
2026-03-18 16:06:30 +00:00
2026-04-18 00:06:50 +01:00
2026-04-18 00:06:50 +01:00
2026-05-25 09:25:03 +01:00
2026-05-25 09:25:03 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-05 12:59:59 +01:00
2026-05-25 21:47:12 +01:00
2026-05-25 21:47:12 +01:00
2026-04-22 00:39:53 +01:00
2026-05-25 21:38:43 +01:00
2026-05-21 15:15:23 +01:00
2026-05-21 15:15:23 +01:00
2026-03-18 16:06:30 +00:00
2026-01-19 19:26:18 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-02-04 14:35:08 +00:00
2026-05-04 09:33:19 +01:00
2026-04-08 20:42:36 +01:00
2026-04-09 08:07:34 +01:00
2026-05-16 13:57:53 +01:00
2026-03-18 16:06:30 +00:00
2026-03-26 20:51:29 +00:00
2026-03-26 20:51:29 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-03 23:14:25 +01:00
2026-03-27 12:04:44 +00:00
2026-04-22 00:39:53 +01:00
2026-03-18 16:06:30 +00:00
2026-02-02 18:59:44 +00:00
2026-02-02 23:01:29 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-25 23:40:22 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-26 17:26:16 +01:00
2026-01-22 00:30:15 +00:00
2026-03-26 22:43:26 +00:00
2026-03-31 15:42:16 +01:00
2026-02-04 15:01:09 +00:00
2026-04-22 00:39:53 +01:00
2026-05-01 21:36:28 +01:00
2026-04-24 13:13:36 +01:00
2026-03-25 12:14:16 +00:00
2026-06-06 18:32:21 +01:00
2026-06-06 18:32:21 +01:00
2026-04-30 12:53:29 +01:00
2026-04-11 16:47:37 +01:00
2026-04-11 16:47:37 +01:00
2026-05-16 13:57:53 +01:00
2026-03-25 22:27:35 +00:00
2026-06-02 21:10:13 +01:00
2026-03-26 09:15:15 +00:00
2026-03-26 22:58:27 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-02-04 10:28:41 +00:00
2026-05-24 12:07:10 +01:00
2026-03-18 16:06:30 +00:00
2026-05-13 14:19:59 +01:00
2026-05-13 14:19:59 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-04 21:56:36 +01:00
2026-06-04 21:56:36 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-04-26 17:26:16 +01:00
2026-03-18 16:06:30 +00:00
2026-04-26 15:27:10 +01:00
2026-04-28 16:36:09 +01:00
2026-03-26 17:12:27 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-22 01:18:33 +01:00
2026-04-18 00:06:50 +01:00
2026-04-23 23:04:03 +01:00
2026-04-23 23:04:03 +01:00
2026-05-27 18:36:33 +01:00
2026-05-03 12:25:56 +01:00
2026-03-18 16:06:30 +00:00
2026-04-11 15:35:05 +01:00
2026-05-22 08:54:43 +01:00
2026-02-04 10:28:41 +00:00
2026-02-04 10:28:41 +00:00
2026-05-09 23:04:22 +01:00
2026-02-04 10:28:41 +00:00
2026-04-22 00:39:53 +01:00
2026-06-07 18:01:55 +01:00
2026-03-26 21:43:30 +00:00
2026-04-26 17:26:16 +01:00
2026-03-26 21:43:30 +00:00
2026-03-26 21:43:30 +00:00
2026-05-10 14:30:41 +01:00
2026-05-07 21:58:06 +01:00
2026-05-07 21:58:06 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-04-28 16:36:09 +01:00
2026-04-26 17:26:16 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-30 12:24:22 +01:00
2026-05-25 21:47:12 +01:00
2026-05-06 10:35:34 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 14:42:43 +01:00
2026-03-18 16:06:30 +00:00
2026-06-06 19:42:27 +01:00
2026-04-29 16:25:09 +01:00
2026-05-21 16:26:00 +01:00
2026-05-03 13:19:51 +01:00
2026-05-21 16:26:00 +01:00
2026-05-03 12:48:01 +01:00
2026-04-29 16:25:09 +01:00
2026-04-01 12:00:31 +01:00
2026-05-21 16:15:53 +01:00
2026-02-04 10:28:41 +00:00
2026-03-30 09:52:07 +01:00
2026-03-30 09:52:07 +01:00
2026-06-06 18:32:21 +01:00
2026-05-04 00:50:14 +01:00
2026-05-10 22:25:34 +01:00
2026-05-10 22:25:34 +01:00
2026-04-22 07:59:12 +01:00
2026-06-03 12:29:37 +01:00
2026-05-21 12:29:32 +01:00
2026-03-24 23:59:52 +00:00
2026-03-18 16:06:30 +00:00
2026-05-04 00:50:14 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-04 00:50:14 +01:00
2026-05-21 12:29:32 +01:00
2026-05-28 14:49:20 +01:00
2026-05-28 14:49:20 +01:00
2026-05-28 14:49:20 +01:00
2026-06-04 14:07:14 +01:00
2026-04-12 09:02:56 +01:00
2026-04-11 14:51:10 +01:00
2026-05-03 12:48:01 +01:00
2026-04-01 12:00:31 +01:00
2026-04-01 16:36:44 +01:00
2026-04-01 16:36:44 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-05-05 12:59:59 +01:00
2026-05-05 12:59:59 +01:00
2026-06-03 12:29:37 +01:00
2026-04-07 10:24:53 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-28 23:13:43 +00:00
2026-04-26 17:26:16 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-02 21:10:13 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-02-04 14:48:03 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-05-04 23:16:15 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-28 16:36:09 +01:00
2026-03-29 19:50:31 +01:00
2026-03-29 20:36:43 +01:00
2026-03-29 20:13:39 +01:00
2026-05-05 12:59:59 +01:00
2026-05-05 12:59:59 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 14:42:43 +01:00
2026-06-04 11:49:17 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-05-13 19:00:02 +01:00
2026-06-02 10:15:35 +01:00
2026-06-04 08:39:31 +01:00
2026-05-29 14:51:18 +01:00
2026-05-29 14:19:04 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-03-18 16:06:30 +00:00
2026-06-02 23:54:48 +01:00
2026-06-03 09:18:07 +01:00
2026-06-03 09:18:07 +01:00
2026-06-03 09:18:07 +01:00
2026-05-28 17:22:01 +01:00
2026-03-18 16:06:30 +00:00
2026-04-22 03:06:22 +01:00
2026-05-22 20:26:56 +01:00
2026-05-22 20:26:56 +01:00
2026-06-03 12:29:37 +01:00
2026-04-22 04:46:13 +01:00