From c494ec7a37ff4863d420b4a9ccbe1df93e88de2d Mon Sep 17 00:00:00 2001 From: eunhhu Date: Tue, 29 Sep 2026 16:55:04 +0100 Subject: Remember the epoch of each of a peer's runs that send, not one A receiver's memo kept one run's epoch a peer. A node whose outputs send to this one sends in a run each, so after the receiver started again (or let the peer rest) all runs but the last accepted were told LOST and began their epochs again: records under the static keys for a round trip, and an X25519 each. Now a run whose peer's place holds another run still sending keeps its epoch beside, in one of two of 1,024 places its peer and run find (160 KiB at the file's head: the memo is PLM3, and a PLM2 one is begun again). A run's place beside goes once its peer's place has it, so an epoch's secrets stay only until the next one's are. test-link's three outputs of one node, each in epoch 1, go on after the receiver starts again: no LOST, no X25519 (before: two LOSTs, an accept). 012 says so. --- link/link-protocol.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'link/link-protocol.h') diff --git a/link/link-protocol.h b/link/link-protocol.h index df15246..f131e99 100644 --- a/link/link-protocol.h +++ b/link/link-protocol.h @@ -244,7 +244,9 @@ void pure_link_idle(PureLinkReceiver *, uint64_t ms); * (path, 0600; begun again for another node's key): a place a sender in * the order allowed, mapped, so a sender at rest takes no memory for it. * A node that starts again then makes no X25519 for a sender it heard from - * before. After the senders are allowed, before the first packet. */ + * before, and goes on in the epoch of each of its runs (a key's runs that + * send beside its first, as a node's outputs to this one do, in 1,024 + * places beside). After the senders are allowed, before the first packet. */ bool pure_link_remember(PureLinkReceiver *, const char *path, char *error, size_t size); /* A packet that came from an address (from_size bytes, at most * PURE_LINK_ADDRESS kept): answers to its sender go there. */ -- cgit v1.2.3