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");
        }

Reply via email to