aboutsummaryrefslogtreecommitdiffstats
path: root/core/module-list.c
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-28 19:42:27 +0100
committereunhhu <[email protected]>2026-09-28 19:42:27 +0100
commit3308de49adfdb2a55c646e6b675da998f2c36900 (patch)
tree6548fc239b9f0ab8aabd32747fbaae0fd5517e44 /core/module-list.c
parent63cc9554f2cd93e46d0413a21cbce05014e2f2b3 (diff)
downloadpure-3308de49adfdb2a55c646e6b675da998f2c36900.tar.gz
pure-3308de49adfdb2a55c646e6b675da998f2c36900.zip
Remember each sender's secret beside the node's key: no X25519 at restart
A listener lets a quiet sender's secret go with its active state, so a node started again made one X25519 for every sender that came back (169 us on this Pi, most of a wake's CPU): asymmetric work in proportion to the links, which design 011 counts as a reason to design again. The secret is now remembered in a file beside the key (KEY.links, 0600, begun again for another node's key): a place of 64 bytes a sender in the order allowed, mapped, so a sender at rest takes no memory for it. A place is the first 28 bytes of the sender's key, a check (FNV-1a of the key and the secret) and the secret, written secret first and key last; a place whose check fails is made again. The UDP link checks see a receiver started again make no X25519.
Diffstat (limited to 'core/module-list.c')
0 files changed, 0 insertions, 0 deletions