Enforce the RRDP XMLNS to "http://www.ripe.net/rpki/rrdp"
authorclaudio <claudio@openbsd.org>
Thu, 3 Feb 2022 18:19:32 +0000 (18:19 +0000)
committerclaudio <claudio@openbsd.org>
Thu, 3 Feb 2022 18:19:32 +0000 (18:19 +0000)
Missing check reported by Ties de Kock
OK tb@ benno@

usr.sbin/rpki-client/rrdp.h
usr.sbin/rpki-client/rrdp_delta.c
usr.sbin/rpki-client/rrdp_notification.c
usr.sbin/rpki-client/rrdp_snapshot.c

index 7c7258a..36c9756 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rrdp.h,v 1.7 2021/11/24 15:24:16 claudio Exp $ */
+/*     $OpenBSD: rrdp.h,v 1.8 2022/02/03 18:19:32 claudio Exp $ */
 /*
  * Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
  * Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
@@ -18,6 +18,7 @@
 #ifndef _RRDPH_
 #define _RRDPH_
 
+#define RRDP_XMLNS     "http://www.ripe.net/rpki/rrdp"
 #define MAX_VERSION 1
 
 #define log_debuginfo(format, ...) logx(format, ##__VA_ARGS__)
index 52683c4..3a8629a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rrdp_delta.c,v 1.6 2021/11/09 11:01:04 claudio Exp $ */
+/*     $OpenBSD: rrdp_delta.c,v 1.7 2022/02/03 18:19:32 claudio Exp $ */
 /*
  * Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
  * Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
@@ -66,7 +66,8 @@ start_delta_elem(struct delta_xml *dxml, const char **attr)
                    "parse failed - entered delta elem unexpectedely");
        for (i = 0; attr[i]; i += 2) {
                const char *errstr;
-               if (strcmp("xmlns", attr[i]) == 0) {
+               if (strcmp("xmlns", attr[i]) == 0 &&
+                   strcmp(RRDP_XMLNS, attr[i + 1]) == 0) {
                        has_xmlns = 1;
                        continue;
                }
index 9bc4155..c6cdb0b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rrdp_notification.c,v 1.12 2021/11/24 15:24:16 claudio Exp $ */
+/*     $OpenBSD: rrdp_notification.c,v 1.13 2022/02/03 18:19:32 claudio Exp $ */
 /*
  * Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
  * Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
@@ -120,7 +120,8 @@ start_notification_elem(struct notification_xml *nxml, const char **attr)
                    "parse failed - entered notification elem unexpectedely");
        for (i = 0; attr[i]; i += 2) {
                const char *errstr;
-               if (strcmp("xmlns", attr[i]) == 0) {
+               if (strcmp("xmlns", attr[i]) == 0 &&
+                   strcmp(RRDP_XMLNS, attr[i + 1]) == 0) {
                        has_xmlns = 1;
                        continue;
                }
index 3e060d3..47423c1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rrdp_snapshot.c,v 1.5 2021/11/09 11:01:04 claudio Exp $ */
+/*     $OpenBSD: rrdp_snapshot.c,v 1.6 2022/02/03 18:19:32 claudio Exp $ */
 /*
  * Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
  * Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
@@ -58,7 +58,8 @@ start_snapshot_elem(struct snapshot_xml *sxml, const char **attr)
                    "parse failed - entered snapshot elem unexpectedely");
        for (i = 0; attr[i]; i += 2) {
                const char *errstr;
-               if (strcmp("xmlns", attr[i]) == 0) {
+               if (strcmp("xmlns", attr[i]) == 0 &&
+                   strcmp(RRDP_XMLNS, attr[i + 1]) == 0) {
                        has_xmlns = 1;
                        continue;
                }