aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rpkid/rpki/left_right.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py
index d3ae3598..a3b43b16 100644
--- a/rpkid/rpki/left_right.py
+++ b/rpkid/rpki/left_right.py
@@ -506,9 +506,14 @@ class self_elt(data_elt):
publisher = rpki.rpki_engine.publication_queue()
ca_details = set()
+ seen = set()
for roa_request in roa_requests:
try:
k = (roa_request.asn, str(roa_request.ipv4), str(roa_request.ipv6))
+ if k in seen:
+ rpki.log.warn("Skipping duplicate ROA request %r for %r" % (k, roa_request))
+ continue
+ seen.add(k)
roa = roas.pop(k, None)
if roa is None:
roa = rpki.rpki_engine.roa_obj(self.gctx, self.self_id, roa_request.asn, roa_request.ipv4, roa_request.ipv6)