Monday, October 04, 2021

[SECURITY UPDATE] net/muniupnp

Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/net/miniupnp/Makefile.inc,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 Makefile.inc
--- Makefile.inc 12 Jul 2019 20:48:32 -0000 1.7
+++ Makefile.inc 8 Sep 2021 07:31:45 -0000
@@ -2,10 +2,10 @@

CATEGORIES= net

-HOMEPAGE= http://miniupnp.free.fr/
+HOMEPAGE= https://miniupnp.tuxfamily.org/

# BSD
PERMIT_PACKAGE= Yes

-MASTER_SITES= http://miniupnp.free.fr/files/
+MASTER_SITES= https://miniupnp.tuxfamily.org/files/
NO_TEST= Yes
Index: libnatpmp/Makefile
===================================================================
RCS file: /cvs/ports/net/miniupnp/libnatpmp/Makefile,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 Makefile
--- libnatpmp/Makefile 24 Apr 2019 16:26:56 -0000 1.11
+++ libnatpmp/Makefile 8 Sep 2021 07:31:45 -0000
@@ -3,7 +3,7 @@
COMMENT = NAT Port Mapping Protocol client library

DISTNAME = libnatpmp-20150609
-REVISION = 1
+REVISION = 2

SHARED_LIBS = natpmp 0.1

Index: minissdpd/Makefile
===================================================================
RCS file: /cvs/ports/net/miniupnp/minissdpd/Makefile,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 Makefile
--- minissdpd/Makefile 11 Mar 2019 04:04:53 -0000 1.12
+++ minissdpd/Makefile 8 Sep 2021 07:31:45 -0000
@@ -2,7 +2,7 @@

COMMENT= daemon keeping track of UPnP devices up

-DISTNAME= minissdpd-1.5
+DISTNAME= minissdpd-1.5.20200928

WANTLIB += c

Index: minissdpd/distinfo
===================================================================
RCS file: /cvs/ports/net/miniupnp/minissdpd/distinfo,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 distinfo
--- minissdpd/distinfo 11 Mar 2019 04:04:53 -0000 1.6
+++ minissdpd/distinfo 8 Sep 2021 07:31:45 -0000
@@ -1,2 +1,2 @@
-SHA256 (minissdpd-1.5.tar.gz) = 39Y3sYVzHhrLQSqG+qlxjrk8BMoIKAVBptItFNH7iQ8=
-SIZE (minissdpd-1.5.tar.gz) = 34404
+SHA256 (minissdpd-1.5.20200928.tar.gz) = F3qxkHzA/SDIyv0TyoZ0x+wYKKphAdqbsGZAjMrac1A=
+SIZE (minissdpd-1.5.20200928.tar.gz) = 37860
Index: miniupnpc/Makefile
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpc/Makefile,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 Makefile
--- miniupnpc/Makefile 11 Mar 2019 04:07:15 -0000 1.11
+++ miniupnpc/Makefile 8 Sep 2021 07:31:45 -0000
@@ -2,9 +2,9 @@

COMMENT= UPnP IGD client lightweight library

-DISTNAME= miniupnpc-2.1
+DISTNAME= miniupnpc-2.2.2

-SHARED_LIBS += miniupnpc 3.0
+SHARED_LIBS += miniupnpc 4.0

WANTLIB += c

Index: miniupnpc/distinfo
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpc/distinfo,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 distinfo
--- miniupnpc/distinfo 11 Mar 2019 04:07:15 -0000 1.5
+++ miniupnpc/distinfo 8 Sep 2021 07:31:45 -0000
@@ -1,2 +1,2 @@
-SHA256 (miniupnpc-2.1.tar.gz) = 4Z+14B6lpwfiqMuW9Tf72fOpE9U9gEoyZeOuqz0gZMY=
-SIZE (miniupnpc-2.1.tar.gz) = 91914
+SHA256 (miniupnpc-2.2.2.tar.gz) = iI+wl2umFRgnb+HtqYhYnHAKPypp1xCJJg11Vir9Noc=
+SIZE (miniupnpc-2.2.2.tar.gz) = 100008
Index: miniupnpc/patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpc/patches/patch-Makefile,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 patch-Makefile
--- miniupnpc/patches/patch-Makefile 11 Mar 2019 04:07:15 -0000 1.6
+++ miniupnpc/patches/patch-Makefile 8 Sep 2021 07:31:45 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-Makefile,v 1.6 2019/03/1
Index: Makefile
--- Makefile.orig
+++ Makefile
-@@ -149,7 +149,7 @@ endif
+@@ -155,7 +155,7 @@ endif
INSTALLDIRINC = $(INSTALLPREFIX)/include/miniupnpc
INSTALLDIRLIB = $(INSTALLPREFIX)/$(LIBDIR)
INSTALLDIRBIN = $(INSTALLPREFIX)/bin
@@ -11,7 +11,7 @@ Index: Makefile
PKGCONFIGDIR = $(INSTALLDIRLIB)/pkgconfig

FILESTOINSTALL = $(LIBRARY) $(EXECUTABLES)
-@@ -238,7 +238,6 @@ install: updateversion $(FILESTOINSTALL)
+@@ -249,7 +249,6 @@ install: updateversion $(FILESTOINSTALL)
$(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(INSTALLDIRLIB)
ifeq (, $(findstring amiga, $(OS)))
$(INSTALL) -m 644 $(SHAREDLIBRARY) $(DESTDIR)$(INSTALLDIRLIB)/$(SONAME)
Index: miniupnpc/patches/patch-miniupnpcmodule_c
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpc/patches/patch-miniupnpcmodule_c,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-miniupnpcmodule_c
--- miniupnpc/patches/patch-miniupnpcmodule_c 11 Mar 2019 04:07:15 -0000 1.3
+++ miniupnpc/patches/patch-miniupnpcmodule_c 8 Sep 2021 07:31:45 -0000
@@ -5,7 +5,7 @@ Fix error: expected expression before '/
Index: miniupnpcmodule.c
--- miniupnpcmodule.c.orig
+++ miniupnpcmodule.c
-@@ -323,9 +323,9 @@ Py_END_ALLOW_THREADS
+@@ -339,9 +339,9 @@ Py_END_ALLOW_THREADS
}
else
{
Index: miniupnpc/pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpc/pkg/PLIST,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 PLIST
--- miniupnpc/pkg/PLIST 11 Mar 2019 04:07:15 -0000 1.1
+++ miniupnpc/pkg/PLIST 8 Sep 2021 07:31:45 -0000
@@ -13,7 +13,7 @@ include/miniupnpc/upnpcommands.h
include/miniupnpc/upnpdev.h
include/miniupnpc/upnperrors.h
include/miniupnpc/upnpreplyparse.h
-lib/libminiupnpc.a
+@static-lib lib/libminiupnpc.a
@lib lib/libminiupnpc.so.${LIBminiupnpc_VERSION}
lib/pkgconfig/miniupnpc.pc
@man man/man3/miniupnpc.3
Index: miniupnpd/Makefile
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpd/Makefile,v
retrieving revision 1.20
diff -u -p -u -p -r1.20 Makefile
--- miniupnpd/Makefile 19 Mar 2019 17:28:32 -0000 1.20
+++ miniupnpd/Makefile 8 Sep 2021 07:31:45 -0000
@@ -2,21 +2,18 @@

COMMENT= UPnP IGD daemon

-DISTNAME= miniupnpd-2.1
-REVISION= 2
+DISTNAME= miniupnpd-2.2.2

WANTLIB += c crypto kvm ssl

MAKE_FLAGS= INSTALLETCDIR=${PREFIX}/share/examples/miniupnpd \
- INSTALLMANDIR=${PREFIX}/man/man8
+ INSTALLMANDIR=${PREFIX}/man

FAKE_FLAGS= PREFIX=${TRUEPREFIX}

CONFIGURE_STYLE= simple
-CONFIGURE_SCRIPT= genconfig.sh

post-install:
- ${INSTALL_MAN_DIR} ${PREFIX}/man/man8
${SUBST_DATA} ${WRKBUILD}/miniupnpd.8 \
${PREFIX}/man/man8/miniupnpd.8

Index: miniupnpd/distinfo
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpd/distinfo,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 distinfo
--- miniupnpd/distinfo 11 Mar 2019 04:06:37 -0000 1.6
+++ miniupnpd/distinfo 8 Sep 2021 07:31:45 -0000
@@ -1,2 +1,2 @@
-SHA256 (miniupnpd-2.1.tar.gz) = lQiUd5ZhGX/gk4Vf2imnKPQ0tXVutPpstfe5v/f/4ME=
-SIZE (miniupnpd-2.1.tar.gz) = 225458
+SHA256 (miniupnpd-2.2.2.tar.gz) = SwHEA9AcarFAyeTnRMic22bL4lFF16DUVmzD/cwCQMM=
+SIZE (miniupnpd-2.2.2.tar.gz) = 250649
Index: miniupnpd/patches/patch-Makefile
===================================================================
RCS file: miniupnpd/patches/patch-Makefile
diff -N miniupnpd/patches/patch-Makefile
--- miniupnpd/patches/patch-Makefile 11 Mar 2019 04:06:37 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-Makefile,v 1.6 2019/03/11 04:06:37 bket Exp $
-Index: Makefile
---- Makefile.orig
-+++ Makefile
-@@ -176,7 +176,7 @@ clean:
- $(PFOBJS) $(IPFOBJS) $(IPFWOBJS)
- $(RM) validateupnppermissions validategetifaddr validatessdppktgen
-
--install: miniupnpd genuuid
-+install: miniupnpd
- $(STRIP) miniupnpd
- $(INSTALL) -d $(DESTDIR)$(INSTALLBINDIR)
- $(INSTALL) -m 755 miniupnpd $(DESTDIR)$(INSTALLBINDIR)
Index: miniupnpd/patches/patch-Makefile_bsd
===================================================================
RCS file: miniupnpd/patches/patch-Makefile_bsd
diff -N miniupnpd/patches/patch-Makefile_bsd
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ miniupnpd/patches/patch-Makefile_bsd 8 Sep 2021 07:31:45 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: Makefile.bsd
+--- Makefile.bsd.orig
++++ Makefile.bsd
+@@ -144,7 +144,7 @@ clean:
+ $(RM) $(TESTMINISSDPOBJS)
+ $(RM) validateupnppermissions validategetifaddr validatessdppktgen
+
+-install: miniupnpd genuuid
++install: miniupnpd
+ $(STRIP) miniupnpd
+ $(INSTALL) -d $(DESTDIR)$(INSTALLBINDIR)
+ $(INSTALL) -m 755 miniupnpd $(DESTDIR)$(INSTALLBINDIR)
Index: miniupnpd/patches/patch-asyncsendto_c
===================================================================
RCS file: miniupnpd/patches/patch-asyncsendto_c
diff -N miniupnpd/patches/patch-asyncsendto_c
--- miniupnpd/patches/patch-asyncsendto_c 10 Sep 2016 13:03:42 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-$OpenBSD: patch-asyncsendto_c,v 1.1 2016/09/10 13:03:42 ajacoutot Exp $
---- asyncsendto.c.orig Sat Sep 10 12:01:40 2016
-+++ asyncsendto.c Sat Sep 10 12:01:47 2016
-@@ -6,6 +6,7 @@
- * in the LICENCE file provided within the distribution */
-
- #include <sys/types.h>
-+#include <sys/select.h> /* fd_set */
- #include <sys/socket.h>
- #include <sys/time.h>
- #include <sys/queue.h>
Index: miniupnpd/patches/patch-genconfig_sh
===================================================================
RCS file: miniupnpd/patches/patch-genconfig_sh
diff -N miniupnpd/patches/patch-genconfig_sh
--- miniupnpd/patches/patch-genconfig_sh 11 Mar 2019 04:06:37 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-genconfig_sh,v 1.4 2019/03/11 04:06:37 bket Exp $
-
-Index: genconfig.sh
---- genconfig.sh.orig
-+++ genconfig.sh
-@@ -162,7 +162,9 @@ case $OS_NAME in
- FW=pf
- echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
- OS_URL=http://www.openbsd.org/
-- V6SOCKETS_ARE_V6ONLY=`sysctl -n net.inet6.ip6.v6only`
-+ # net.inet6.ip6.v6only has been on by default for many years
-+ # and this sysctl node has been removed
-+ V6SOCKETS_ARE_V6ONLY=1
- ;;
- FreeBSD | GNU/kFreeBSD)
- VER=`grep '#define __FreeBSD_version' /usr/include/sys/param.h | awk '{print $3}'`
Index: miniupnpd/patches/patch-miniupnpd_8
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpd/patches/patch-miniupnpd_8,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-miniupnpd_8
--- miniupnpd/patches/patch-miniupnpd_8 11 Mar 2019 04:06:37 -0000 1.2
+++ miniupnpd/patches/patch-miniupnpd_8 8 Sep 2021 07:31:45 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-miniupnpd_8,v 1.2 2019/0
Index: miniupnpd.8
--- miniupnpd.8.orig
+++ miniupnpd.8
-@@ -17,7 +17,7 @@ clients on the LAN to ask for port redirections.
+@@ -18,7 +18,7 @@ clients on the LAN to ask for port redirections.
.SH OPTIONS
.TP
.BI \-f " config_file"
Index: miniupnpd/patches/patch-miniupnpd_conf
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpd/patches/patch-miniupnpd_conf,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 patch-miniupnpd_conf
--- miniupnpd/patches/patch-miniupnpd_conf 11 Mar 2019 04:06:37 -0000 1.5
+++ miniupnpd/patches/patch-miniupnpd_conf 8 Sep 2021 07:31:45 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-miniupnpd_conf,v 1.5 201
Index: miniupnpd.conf
--- miniupnpd.conf.orig
+++ miniupnpd.conf
-@@ -121,7 +121,7 @@ clean_ruleset_interval=600
+@@ -151,7 +151,7 @@ clean_ruleset_interval=600
# active when compiled with PF_ENABLE_FILTER_RULES (see config.h file)
#quickrules=no

@@ -11,7 +11,7 @@ Index: miniupnpd.conf
uuid=00000000-0000-0000-0000-000000000000

# Daemon's serial and model number when reporting to clients
-@@ -145,8 +145,8 @@ uuid=00000000-0000-0000-0000-000000000000
+@@ -175,8 +175,8 @@ uuid=00000000-0000-0000-0000-000000000000
# modify the IP ranges to match their own internal networks, and
# also consider implementing network-specific restrictions
# CAUTION: failure to enforce any rules may permit insecure requests to be made!
Index: miniupnpd/patches/patch-testasyncsendto_c
===================================================================
RCS file: miniupnpd/patches/patch-testasyncsendto_c
diff -N miniupnpd/patches/patch-testasyncsendto_c
--- miniupnpd/patches/patch-testasyncsendto_c 11 Mar 2019 04:06:37 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-$OpenBSD: patch-testasyncsendto_c,v 1.2 2019/03/11 04:06:37 bket Exp $
-
-warning: format '%ld' expects type 'long int', but argument 4 has type 'time_t'
-
-Index: testasyncsendto.c
---- testasyncsendto.c.orig
-+++ testasyncsendto.c
-@@ -74,8 +74,8 @@ int test(void)
- int max_fd;
- struct timeval timeout;
- struct timeval now;
-- syslog(LOG_DEBUG, "get_next_scheduled_send : %d next_send=%ld.%06ld",
-- i, (long)next_send.tv_sec, (long)next_send.tv_usec);
-+ syslog(LOG_DEBUG, "get_next_scheduled_send : %d next_send==%lld.%06ld",
-+ i, (long long)next_send.tv_sec, (long)next_send.tv_usec);
- FD_ZERO(&writefds);
- max_fd = 0;
- gettimeofday(&now, NULL);
-@@ -100,8 +100,8 @@ int test(void)
- }
- }
- syslog(LOG_DEBUG, "get_sendto_fds() returned %d", i);
-- syslog(LOG_DEBUG, "select(%d, NULL, xx, NULL, %ld.%06ld)",
-- max_fd, (long)timeout.tv_sec, (long)timeout.tv_usec);
-+ syslog(LOG_DEBUG, "select(%d, NULL, xx, NULL, %lld.%06ld)",
-+ max_fd, (long long)timeout.tv_sec, (long)timeout.tv_usec);
- i = select(max_fd, NULL, &writefds, NULL, &timeout);
- if(i < 0) {
- syslog(LOG_ERR, "select: %m");
Index: miniupnpd/patches/patch-upnpevents_c
===================================================================
RCS file: miniupnpd/patches/patch-upnpevents_c
diff -N miniupnpd/patches/patch-upnpevents_c
--- miniupnpd/patches/patch-upnpevents_c 11 Mar 2019 20:05:23 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,64 +0,0 @@
-$OpenBSD: patch-upnpevents_c,v 1.3 2019/03/11 20:05:23 bket Exp $
-
-Cherrypick patch from upstream: Check the return value of snprintf().
-
-Mitigate read out-of-bounds vulnerability as reported by
-https://github.com/b1ack0wl/miniupnpd_poc
-
-Index: upnpevents.c
---- upnpevents.c.orig
-+++ upnpevents.c
-@@ -14,6 +14,7 @@
- #include <unistd.h>
- #include <time.h>
- #include <sys/types.h>
-+#include <sys/select.h> /* fd_set */
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
-@@ -443,19 +444,34 @@ static void upnp_event_prepare(struct upnp_event_notif
- l = 0;
- }
- obj->buffersize = 1024;
-- obj->buffer = malloc(obj->buffersize);
-- if(!obj->buffer) {
-- syslog(LOG_ERR, "%s: malloc returned NULL", "upnp_event_prepare");
-- if(xml) {
-- free(xml);
-+ for (;;) {
-+ obj->buffer = malloc(obj->buffersize);
-+ if(!obj->buffer) {
-+ syslog(LOG_ERR, "%s: malloc returned NULL", "upnp_event_prepare");
-+ if(xml) {
-+ free(xml);
-+ }
-+ obj->state = EError;
-+ return;
- }
-- obj->state = EError;
-- return;
-+ obj->tosend = snprintf(obj->buffer, obj->buffersize, notifymsg,
-+ obj->path, obj->addrstr, obj->portstr, l+2,
-+ obj->sub->uuid, obj->sub->seq,
-+ l, xml);
-+ if (obj->tosend < 0) {
-+ syslog(LOG_ERR, "%s: snprintf() failed", "upnp_event_prepare");
-+ if(xml) {
-+ free(xml);
-+ }
-+ obj->state = EError;
-+ return;
-+ } else if (obj->tosend < obj->buffersize) {
-+ break; /* the buffer was large enough */
-+ }
-+ /* Try again with a buffer big enough */
-+ free(obj->buffer);
-+ obj->buffersize = obj->tosend + 1; /* reserve space for the final 0 */
- }
-- obj->tosend = snprintf(obj->buffer, obj->buffersize, notifymsg,
-- obj->path, obj->addrstr, obj->portstr, l+2,
-- obj->sub->uuid, obj->sub->seq,
-- l, xml);
- if(xml) {
- free(xml);
- xml = NULL;
Index: miniupnpd/patches/patch-upnppinhole_c
===================================================================
RCS file: /cvs/ports/net/miniupnp/miniupnpd/patches/patch-upnppinhole_c,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-upnppinhole_c
--- miniupnpd/patches/patch-upnppinhole_c 10 Sep 2016 13:03:42 -0000 1.1
+++ miniupnpd/patches/patch-upnppinhole_c 8 Sep 2021 07:31:45 -0000
@@ -1,7 +1,8 @@
$OpenBSD: patch-upnppinhole_c,v 1.1 2016/09/10 13:03:42 ajacoutot Exp $
---- upnppinhole.c.orig Sat Sep 10 12:03:05 2016
-+++ upnppinhole.c Sat Sep 10 12:03:10 2016
-@@ -9,6 +9,7 @@
+Index: upnppinhole.c
+--- upnppinhole.c.orig
++++ upnppinhole.c
+@@ -10,6 +10,7 @@
#include <string.h>
#include <syslog.h>
#include <sys/types.h>
Index: miniupnpd/patches/patch-upnpsoap_c
===================================================================
RCS file: miniupnpd/patches/patch-upnpsoap_c
diff -N miniupnpd/patches/patch-upnpsoap_c
--- miniupnpd/patches/patch-upnpsoap_c 19 Mar 2019 17:28:32 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-$OpenBSD: patch-upnpsoap_c,v 1.4 2019/03/19 17:28:32 steven Exp $
-
-Index: upnpsoap.c
---- upnpsoap.c.orig
-+++ upnpsoap.c
-@@ -590,7 +590,7 @@ AddAnyPortMapping(struct upnphttp * h, const char * ac
- if(leaseduration == 0)
- leaseduration = 604800;
-
-- if (!int_ip || !ext_port || !int_port)
-+ if (!int_ip || !ext_port || !int_port || !protocol)
- {
- ClearNameValueList(&data);
- SoapError(h, 402, "Invalid Args");
-@@ -1841,6 +1841,13 @@ GetOutboundPinholeTimeout(struct upnphttp * h, const c
- rem_host = GetValueFromNameValueList(&data, "RemoteHost");
- rem_port = GetValueFromNameValueList(&data, "RemotePort");
- protocol = GetValueFromNameValueList(&data, "Protocol");
-+
-+ if (!int_port || !rem_port || !protocol)
-+ {
-+ ClearNameValueList(&data);
-+ SoapError(h, 402, "Invalid Args");
-+ return;
-+ }
-
- rport = (unsigned short)atoi(rem_port);
- iport = (unsigned short)atoi(int_port);
Hi,
This is an update for minissdpd, miniupnpc an miniupnpd.
It fixes five CVEs [0] in miniupnpd and updates miniupnpc and minissdpd
to their latest versions. While here switch HOMEPAGE an MASTER_SITES
to HTTPS.
Seems to work on my amd64 GW with 6.9-beta from 20/03/2021.
Needs testing on -current as I have no opportunities to update my GW now.
Comments, OKs?

[0] https://repology.org/project/miniupnpd/cves?version=2.1

No comments:

Post a Comment