Torlando
2eec34dfe1
test: extract unknown-source key-request policy + host tests
...
Move the rate-limit/cooldown/cap decision out of the UIManager.cpp
anonymous namespace into a pure, header-only policy
(UI/LXMF/UnknownSourceKeyRequest.h) so it is host-testable without the
ESP/microReticulum stack. UIManager keeps only the side effect
(Transport::request_path).
Adds tests/native/test_unknown_source_key_request.{cpp,py} (24 checks,
ASan+UBSan): new-source request, 5-min cooldown boundary, re-record
resets the window, per-source independence, 64-entry cap with oldest
eviction, and steady-state cost.
2026-09-02 16:22:56 +00:00
..
2026-08-17 09:11:10 +00:00
2026-08-17 09:11:10 +00:00
2026-06-19 16:31:43 -04:00
2026-08-18 01:30:14 +00:00
2026-08-17 23:49:13 +00:00
2026-08-28 22:44:27 +00:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-08-07 01:23:08 +00:00
2026-08-17 16:50:21 +00:00
2026-08-18 01:30:14 +00:00
2026-05-08 13:27:34 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-07-22 11:46:10 -04:00
2026-07-22 11:46:10 -04:00
2026-07-23 02:11:39 +00:00
2026-07-23 02:11:39 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 23:00:01 +00:00
2026-08-01 23:00:01 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 14:14:56 +00:00
2026-08-02 00:39:45 +00:00
2026-08-02 00:39:45 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 01:37:13 +00:00
2026-08-07 01:37:13 +00:00
2026-05-04 14:50:16 -04:00
2026-05-04 14:50:16 -04:00
2026-08-12 16:44:06 +00:00
2026-08-12 16:44:06 +00:00
2026-08-07 01:26:12 +00:00
2026-08-07 01:25:48 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:27:49 +00:00
2026-08-07 01:27:07 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:27:49 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:27:07 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 19:30:29 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 01:27:07 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 01:23:08 +00:00
2026-08-07 01:23:08 +00:00
2026-08-17 09:11:10 +00:00
2026-08-03 02:30:22 +00:00
2026-08-03 02:30:22 +00:00
2026-08-20 04:53:00 +00:00
2026-08-20 04:53:00 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:23:28 +00:00
2026-08-11 01:19:07 +00:00
2026-08-07 01:31:17 +00:00
2026-08-12 19:02:03 +00:00
2026-08-12 19:02:03 +00:00
2026-08-08 18:10:02 +00:00
2026-08-08 15:21:42 +00:00
2026-08-07 03:27:18 +00:00
2026-08-07 03:27:18 +00:00
2026-08-20 04:53:00 +00:00
2026-08-20 04:53:00 +00:00
2026-08-28 22:44:27 +00:00
2026-08-28 22:44:27 +00:00
2026-08-07 01:37:13 +00:00
2026-08-07 01:37:13 +00:00
2026-08-20 04:53:00 +00:00
2026-08-07 03:27:18 +00:00
2026-08-07 01:31:17 +00:00
2026-08-07 01:27:49 +00:00
2026-08-17 06:03:38 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 05:48:30 +00:00
2026-08-16 21:36:30 +00:00
2026-08-17 01:07:19 +00:00
2026-08-18 01:30:14 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 23:49:13 +00:00
2026-08-04 20:41:15 +00:00
2026-08-05 00:22:59 +00:00
2026-05-04 15:43:14 -04:00
2026-05-04 14:50:16 -04:00
2026-08-05 16:05:04 +00:00
2026-08-04 01:52:37 +00:00
2026-08-04 01:52:37 +00:00
2026-08-06 01:35:55 +00:00
2026-08-06 04:31:43 +00:00
2026-09-02 16:22:56 +00:00
2026-09-02 16:22:56 +00:00