Martin Vogel
45bac491ed
fix(daemon): cache only the process's own image fingerprint
...
The fingerprint cache sat in every fingerprinting acquire, including
peer verification. Limit it to the process's own image: every acquire
site now passes the process id to the shared resolve step, which marks
a peer's key invalid, so a peer is never looked up, never committed,
and is hashed on every fingerprint. Re-hashing of verified peer copies
is handled by the runtime service's retained peer references (#2335 ).
The daemon's saving is unchanged: it hashes its own image once at start
instead of twice.
A process has one own image, so the cache drops from 8 entries to 1,
which removes the slot search and the round-robin eviction.
The cache comment no longer claims that SetFileTime cannot reset the
Windows change time; SetFileInformationByHandle can set it. Limited to
the own image, the key does not rely on it: Windows keeps a running
image locked against modification for as long as the process, and so
the cache, exists.
Test: daemon_runtime_process_fingerprint_caches_only_own_image spawns
this runner as a peer, whose image has the same file identity as the
own image, and asserts that two peer fingerprints cost two hashes, two
own fingerprints one more, and a later peer fingerprint one more again.
Before this change the second peer fingerprint was served from the
cache.
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-11-10 23:06:35 +01:00
..
2026-09-07 00:32:02 +02:00
2026-09-18 23:27:23 +02:00
2026-09-05 19:05:08 +02:00
2026-09-05 06:05:27 +02:00
2026-06-05 21:53:25 +02:00
2026-09-05 06:05:08 +02:00
2026-07-13 01:50:03 +02:00
2026-03-15 22:37:34 +01:00
2026-09-12 16:50:42 +02:00
2026-08-11 13:37:32 +02:00
2026-09-28 00:30:10 +02:00
2026-09-04 21:45:24 +07:00
2026-09-18 03:31:22 +02:00
2026-09-07 23:17:50 -06:00
2026-06-29 09:45:28 -06:00
2026-07-22 17:48:20 +02:00
2026-09-14 06:11:03 +02:00
2026-07-18 15:52:50 +02:00
2026-09-30 11:30:37 -04:00
2026-09-25 22:24:01 +02:00
2026-09-11 23:26:33 +02:00
2026-09-08 02:04:51 +02:00
2026-09-08 02:04:51 +02:00
2026-09-08 19:55:13 +02:00
2026-08-06 08:24:23 -04:00
2026-08-04 16:37:06 +02:00
2026-06-06 22:16:04 +02:00
2026-08-15 08:44:20 +02:00
2026-08-14 06:46:05 -04:00
2026-07-18 15:52:50 +02:00
2026-09-21 20:29:27 +02:00
2026-09-25 23:15:24 +02:00
2026-09-22 00:48:20 +02:00
2026-08-27 20:32:19 +02:00
2026-09-22 01:12:51 +02:00
2026-08-09 13:06:42 +02:00
2026-07-18 11:48:59 +02:00
2026-11-10 23:06:35 +01:00
2026-08-11 13:37:32 +02:00
2026-09-28 00:01:56 +02:00
2026-09-06 16:23:45 +02:00
2026-08-13 14:04:51 +02:00
2026-09-05 06:05:08 +02:00
2026-09-25 19:07:17 +02:00
2026-09-22 08:48:33 +02:00
2026-06-23 06:38:45 +09:00
2026-08-27 10:15:09 +02:00
2026-03-25 09:28:11 +01:00
2026-08-31 17:51:21 +03:00
2026-09-22 08:06:50 +02:00
2026-09-21 09:07:56 +02:00
2026-06-07 12:35:53 +02:00
2026-08-18 15:56:41 +08:00
2026-09-29 00:31:19 +02:00
2026-08-28 12:22:23 +03:00
2026-06-05 21:53:25 +02:00
2026-09-04 20:36:38 +09:00
2026-08-06 03:30:32 +02:00
2026-09-01 15:51:50 +08:00
2026-08-26 22:51:29 +02:00
2026-09-03 16:24:29 -04:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-27 16:23:26 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-08-20 00:12:28 +02:00
2026-08-28 21:30:06 +02:00
2026-09-20 17:52:45 +02:00
2026-09-18 23:27:23 +02:00
2026-07-24 16:08:42 +02:00
2026-08-17 22:07:11 +03:00
2026-09-25 23:15:24 +02:00
2026-08-28 20:56:33 +02:00
2026-09-08 01:42:50 +02:00
2026-08-25 11:57:49 +03:00
2026-09-09 16:06:59 +08:00
2026-09-05 16:24:08 -04:00
2026-09-09 16:35:05 +02:00
2026-09-22 00:48:43 +02:00
2026-07-18 13:48:06 +02:00
2026-06-02 18:52:37 +02:00
2026-07-18 15:52:50 +02:00
2026-07-18 15:52:50 +02:00
2026-09-22 08:06:50 +02:00
2026-08-28 21:30:06 +02:00
2026-09-25 22:24:01 +02:00
2026-09-04 15:42:15 +02:00
2026-09-05 07:59:14 +02:00
2026-08-29 17:30:00 +02:00
2026-03-15 22:37:34 +01:00
2026-09-25 19:07:24 +02:00
2026-07-18 01:26:08 +02:00
2026-06-08 22:55:23 +02:00
2026-07-18 15:52:50 +02:00
2026-09-28 00:10:09 +02:00
2026-09-04 22:02:47 +02:00
2026-08-11 17:01:24 +02:00
2026-09-18 23:27:23 +02:00
2026-09-18 23:26:28 +02:00
2026-09-13 13:52:08 +03:00
2026-06-12 02:17:39 +02:00
2026-08-20 21:20:44 +02:00
2026-09-05 21:11:48 +02:00
2026-09-18 23:26:48 +02:00
2026-09-06 13:12:20 +08:00
2026-09-28 00:42:58 +02:00
2026-07-03 19:57:01 +02:00
2026-07-18 15:52:50 +02:00
2026-07-18 15:52:50 +02:00
2026-09-29 00:30:50 +02:00
2026-09-22 22:34:11 +09:00
2026-07-18 01:26:08 +02:00
2026-07-18 01:26:08 +02:00
2026-08-10 16:40:31 +02:00
2026-08-11 05:30:17 +02:00
2026-05-09 14:16:15 +02:00
2026-07-18 15:52:50 +02:00
2026-09-27 09:53:55 -07:00
2026-08-11 17:01:24 +02:00
2026-09-04 22:02:47 +02:00
2026-08-18 22:30:28 +02:00
2026-06-23 13:52:08 -03:00
2026-08-17 22:07:11 +03:00
2026-07-18 15:52:50 +02:00
2026-09-28 00:13:39 +02:00
2026-08-03 15:42:32 +02:00
2026-08-17 22:07:11 +03:00
2026-09-13 01:27:43 +02:00
2026-08-12 20:57:43 +02:00
2026-08-08 17:35:05 +02:00
2026-09-18 03:31:22 +02:00
2026-09-18 03:31:42 +02:00
2026-09-18 23:27:23 +02:00
2026-06-28 21:57:35 -06:00
2026-09-08 22:08:39 +02:00
2026-09-21 11:29:04 +03:00
2026-07-25 00:37:05 +02:00
2026-09-13 13:52:00 +03:00
2026-08-07 14:58:22 +02:00
2026-09-20 17:52:45 +02:00
2026-08-10 12:57:34 +01:00
2026-08-29 17:44:43 +02:00
2026-03-20 20:32:38 +01:00
2026-08-01 01:29:20 +02:00
2026-07-03 20:16:39 +02:00
2026-09-05 22:54:51 +05:30
2026-09-05 06:05:08 +02:00
2026-08-29 01:04:35 +02:00
2026-03-24 23:48:23 +01:00
2026-09-21 20:29:27 +02:00
2026-09-11 13:25:58 +02:00
2026-09-18 23:26:05 +02:00
2026-09-02 21:55:30 -04:00
2026-09-20 07:18:15 +08:00
2026-06-10 12:11:02 +02:00
2026-07-21 15:32:15 +02:00
2026-08-09 13:06:42 +02:00
2026-04-06 14:34:07 +02:00
2026-08-08 17:35:05 +02:00
2026-09-18 03:31:42 +02:00
2026-09-04 09:41:30 +02:00
2026-09-26 06:23:52 +08:00
2026-09-19 16:30:15 +02:00
2026-08-08 17:35:05 +02:00
2026-06-05 21:53:25 +02:00
2026-08-14 00:21:31 +02:00
2026-08-14 04:40:07 +02:00
2026-08-14 12:48:40 +02:00
2026-08-24 07:25:34 +09:00
2026-09-27 16:06:29 +02:00
2026-09-12 16:21:30 +02:00
2026-09-09 16:06:59 +08:00
2026-06-06 19:48:48 +02:00
2026-09-20 21:40:37 +02:00
2026-09-09 16:06:59 +08:00
2026-08-27 04:40:26 +02:00
2026-03-24 23:48:23 +01:00
2026-04-15 23:56:03 +02:00