There is no need to queue up any deltas if the session-id differes from the one on disk. New session-id will always result in a snapshot download. This may help in some situation to skip queuing many deltas that are just discarded.
-- :wq Claudio Index: rrdp_notification.c =================================================================== RCS file: /cvs/src/usr.sbin/rpki-client/rrdp_notification.c,v retrieving revision 1.3 diff -u -p -r1.3 rrdp_notification.c --- rrdp_notification.c 2 Apr 2021 08:07:47 -0000 1.3 +++ rrdp_notification.c 14 Apr 2021 18:08:32 -0000 @@ -243,7 +243,9 @@ start_delta_elem(struct notification_xml /* optimisation, add only deltas that could be interesting */ if (nxml->repository->serial != 0 && - nxml->repository->serial < delta_serial) { + nxml->repository->serial < delta_serial && + nxml->repository->session_id != NULL && + strcmp(nxml->session_id, nxml->repository->session_id) == 0) { if (add_delta(nxml, delta_uri, delta_hash, delta_serial) == 0) PARSE_FAIL(p, "parse failed - adding delta failed"); }