Package: miniupnpd Version: 2.1-6 Severity: normal Tags: patch pending
Dear maintainer, I've prepared an NMU for miniupnpd (versioned as 2.1-6.1). The diff is attached to this message. The code can be merged from my git branch: https://salsa.debian.org/bigon/miniupnpd Regards. diff -Nru miniupnpd-2.1/debian/changelog miniupnpd-2.1/debian/changelog --- miniupnpd-2.1/debian/changelog 2019-06-07 00:37:36.000000000 +0200 +++ miniupnpd-2.1/debian/changelog 2020-03-27 14:11:07.000000000 +0100 @@ -1,3 +1,22 @@ +miniupnpd (2.1-6.1) unstable; urgency=medium + + * Non-maintainer upload. + [ Thomas Goirand ] + * Added a debian/salsa-ci.yml + + [ Laurent Bigonville ] + * Cherry-pick patches from upstream to fix FTBFS with linux > 5.0 + (Closes: #931978) + * Update the French debconf translation (Closes: #935152) + * Update the Italian debconf translation (Closes: #952802) + * Remove iptables-dev from the BD, add libiptc-dev and libxtables-dev + instead (Closes: #946150) + * debian/miniupnpd.service: Pass -d to miniupnpd and set Type to simple. + That way systemd will detect whether the process is exiting with a + non-zero code or not and properly track the it. + + -- Laurent Bigonville <[email protected]> Fri, 27 Mar 2020 14:11:07 +0100 + miniupnpd (2.1-6) unstable; urgency=medium * Add upstream patches for CVE-2019-12107 CVE-2019-12108 CVE-2019-12109 diff -Nru miniupnpd-2.1/debian/control miniupnpd-2.1/debian/control --- miniupnpd-2.1/debian/control 2019-06-07 00:37:36.000000000 +0200 +++ miniupnpd-2.1/debian/control 2020-03-27 14:11:07.000000000 +0100 @@ -6,7 +6,8 @@ Yangfl <[email protected]>, Build-Depends: debhelper (>= 12~), - iptables-dev, + libiptc-dev, + libxtables-dev, pkg-config, po-debconf, Standards-Version: 4.3.0 diff -Nru miniupnpd-2.1/debian/miniupnpd.service miniupnpd-2.1/debian/miniupnpd.service --- miniupnpd-2.1/debian/miniupnpd.service 2019-06-07 00:37:36.000000000 +0200 +++ miniupnpd-2.1/debian/miniupnpd.service 2020-03-27 14:11:07.000000000 +0100 @@ -4,12 +4,12 @@ After=network-online.target [Service] -Type=forking +Type=simple EnvironmentFile=-/etc/default/miniupnpd EnvironmentFile=/etc/miniupnpd/miniupnpd.conf ExecStartPre=/etc/miniupnpd/iptables_init.sh -i $ext_ifname ExecStartPre=/bin/sh -c "[ \"$MiniUPnPd_ip6tables_enable\" != 1 ] || /etc/miniupnpd/ip6tables_init.sh -i $ext_ifname" -ExecStart=/usr/sbin/miniupnpd -f /etc/miniupnpd/miniupnpd.conf $MiniUPnPd_OTHER_OPTIONS +ExecStart=/usr/sbin/miniupnpd -d -f /etc/miniupnpd/miniupnpd.conf $MiniUPnPd_OTHER_OPTIONS ExecStopPost=/etc/miniupnpd/iptables_removeall.sh -i $ext_ifname ExecStopPost=/bin/sh -c "[ \"$MiniUPnPd_ip6tables_enable\" != 1 ] || /etc/miniupnpd/ip6tables_removeall.sh -i $ext_ifname" PrivateTmp=yes diff -Nru miniupnpd-2.1/debian/patches/miniupnpd-netfilter-build-with-linux-kernel-5.0.patch miniupnpd-2.1/debian/patches/miniupnpd-netfilter-build-with-linux-kernel-5.0.patch --- miniupnpd-2.1/debian/patches/miniupnpd-netfilter-build-with-linux-kernel-5.0.patch 1970-01-01 01:00:00.000000000 +0100 +++ miniupnpd-2.1/debian/patches/miniupnpd-netfilter-build-with-linux-kernel-5.0.patch 2020-03-27 14:11:07.000000000 +0100 @@ -0,0 +1,100 @@ +From: Thomas Bernard <[email protected]> +Date: Sun, 3 Feb 2019 13:26:27 +0100 +Subject: miniupnpd/netfilter: build with linux kernel 5.0 + +should fix #346 +--- + netfilter/iptcrdr.c | 38 +++++++++++++++++++++++++++----------- + 1 file changed, 27 insertions(+), 11 deletions(-) + +diff --git a/netfilter/iptcrdr.c b/netfilter/iptcrdr.c +index 48c6dbb..82c5890 100644 +--- a/netfilter/iptcrdr.c ++++ b/netfilter/iptcrdr.c +@@ -1,7 +1,7 @@ + /* $Id: iptcrdr.c,v 1.59 2016/03/08 09:23:52 nanard Exp $ */ + /* MiniUPnP project + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ +- * (c) 2006-2016 Thomas Bernard ++ * (c) 2006-2019 Thomas Bernard + * This software is subject to the conditions detailed + * in the LICENCE file provided within the distribution */ + #include <stdio.h> +@@ -1116,9 +1116,11 @@ addnatrule(int proto, unsigned short eport, + } else { + match = get_udp_match(eport, 0); + } +- e->nfcache = NFC_IP_DST_PT; ++ e->nfcache = NFC_UNKNOWN; + target = get_dnat_target(iaddr, iport); +- e->nfcache |= NFC_UNKNOWN; ++#ifdef NFC_IP_DST_PT ++ e->nfcache |= NFC_IP_DST_PT; ++#endif + tmp = realloc(e, sizeof(struct ipt_entry) + + match->u.match_size + + target->u.target_size); +@@ -1186,9 +1188,11 @@ addmasqueraderule(int proto, + } else { + match = get_udp_match(0, iport); + } +- e->nfcache = NFC_IP_DST_PT; ++ e->nfcache = NFC_UNKNOWN; + target = get_masquerade_target(eport); +- e->nfcache |= NFC_UNKNOWN; ++#ifdef NFC_IP_DST_PT ++ e->nfcache |= NFC_IP_DST_PT; ++#endif + tmp = realloc(e, sizeof(struct ipt_entry) + + match->u.match_size + + target->u.target_size); +@@ -1266,9 +1270,14 @@ addpeernatrule(int proto, + } else { + match = get_udp_match(rport, iport); + } +- e->nfcache = NFC_IP_DST_PT | NFC_IP_SRC_PT; ++ e->nfcache = NFC_UNKNOWN; + target = get_snat_target(eaddr, eport); +- e->nfcache |= NFC_UNKNOWN; ++#ifdef NFC_IP_DST_PT ++ e->nfcache |= NFC_IP_DST_PT; ++#endif ++#ifdef NFC_IP_SRC_PT ++ e->nfcache |= NFC_IP_SRC_PT; ++#endif + tmp = realloc(e, sizeof(struct ipt_entry) + + match->u.match_size + + target->u.target_size); +@@ -1337,9 +1346,14 @@ addpeerdscprule(int proto, unsigned char dscp, + } else { + match = get_udp_match(rport, iport); + } +- e->nfcache = NFC_IP_DST_PT | NFC_IP_SRC_PT; ++ e->nfcache = NFC_UNKNOWN; + target = get_dscp_target(dscp); +- e->nfcache |= NFC_UNKNOWN; ++#ifdef NFC_IP_DST_PT ++ e->nfcache |= NFC_IP_DST_PT; ++#endif ++#ifdef NFC_IP_SRC_PT ++ e->nfcache |= NFC_IP_SRC_PT; ++#endif + tmp = realloc(e, sizeof(struct ipt_entry) + + match->u.match_size + + target->u.target_size); +@@ -1420,11 +1434,13 @@ add_filter_rule(int proto, const char * rhost, + } else { + match = get_udp_match(iport,0); + } +- e->nfcache = NFC_IP_DST_PT; + e->ip.dst.s_addr = inet_addr(iaddr); + e->ip.dmsk.s_addr = INADDR_NONE; ++ e->nfcache = NFC_UNKNOWN; + target = get_accept_target(); +- e->nfcache |= NFC_UNKNOWN; ++#ifdef NFC_IP_DST_PT ++ e->nfcache |= NFC_IP_DST_PT; ++#endif + tmp = realloc(e, sizeof(struct ipt_entry) + + match->u.match_size + + target->u.target_size); diff -Nru miniupnpd-2.1/debian/patches/miniupnpd-netfilter-ipctcrdr.c-conditionnaly-use-NFC_UNKN.patch miniupnpd-2.1/debian/patches/miniupnpd-netfilter-ipctcrdr.c-conditionnaly-use-NFC_UNKN.patch --- miniupnpd-2.1/debian/patches/miniupnpd-netfilter-ipctcrdr.c-conditionnaly-use-NFC_UNKN.patch 1970-01-01 01:00:00.000000000 +0100 +++ miniupnpd-2.1/debian/patches/miniupnpd-netfilter-ipctcrdr.c-conditionnaly-use-NFC_UNKN.patch 2020-03-27 14:11:07.000000000 +0100 @@ -0,0 +1,64 @@ +From: Thomas Bernard <[email protected]> +Date: Sun, 3 Feb 2019 19:04:44 +0100 +Subject: miniupnpd/netfilter/ipctcrdr.c: conditionnally use NFC_UNKNOWN as + well + +fix #346 +--- + netfilter/iptcrdr.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/netfilter/iptcrdr.c b/netfilter/iptcrdr.c +index 82c5890..f40b8a2 100644 +--- a/netfilter/iptcrdr.c ++++ b/netfilter/iptcrdr.c +@@ -1116,7 +1116,9 @@ addnatrule(int proto, unsigned short eport, + } else { + match = get_udp_match(eport, 0); + } ++#ifdef NFC_UNKNOWN + e->nfcache = NFC_UNKNOWN; ++#endif + target = get_dnat_target(iaddr, iport); + #ifdef NFC_IP_DST_PT + e->nfcache |= NFC_IP_DST_PT; +@@ -1188,7 +1190,9 @@ addmasqueraderule(int proto, + } else { + match = get_udp_match(0, iport); + } ++#ifdef NFC_UNKNOWN + e->nfcache = NFC_UNKNOWN; ++#endif + target = get_masquerade_target(eport); + #ifdef NFC_IP_DST_PT + e->nfcache |= NFC_IP_DST_PT; +@@ -1270,7 +1274,9 @@ addpeernatrule(int proto, + } else { + match = get_udp_match(rport, iport); + } ++#ifdef NFC_UNKNOWN + e->nfcache = NFC_UNKNOWN; ++#endif + target = get_snat_target(eaddr, eport); + #ifdef NFC_IP_DST_PT + e->nfcache |= NFC_IP_DST_PT; +@@ -1346,7 +1352,9 @@ addpeerdscprule(int proto, unsigned char dscp, + } else { + match = get_udp_match(rport, iport); + } ++#ifdef NFC_UNKNOWN + e->nfcache = NFC_UNKNOWN; ++#endif + target = get_dscp_target(dscp); + #ifdef NFC_IP_DST_PT + e->nfcache |= NFC_IP_DST_PT; +@@ -1436,7 +1444,9 @@ add_filter_rule(int proto, const char * rhost, + } + e->ip.dst.s_addr = inet_addr(iaddr); + e->ip.dmsk.s_addr = INADDR_NONE; ++#ifdef NFC_UNKNOWN + e->nfcache = NFC_UNKNOWN; ++#endif + target = get_accept_target(); + #ifdef NFC_IP_DST_PT + e->nfcache |= NFC_IP_DST_PT; diff -Nru miniupnpd-2.1/debian/patches/series miniupnpd-2.1/debian/patches/series --- miniupnpd-2.1/debian/patches/series 2019-06-07 00:37:36.000000000 +0200 +++ miniupnpd-2.1/debian/patches/series 2020-03-27 14:11:07.000000000 +0100 @@ -5,3 +5,5 @@ CVE-2019-12109_fix_error_from_commit_13585f1.patch CVE-2019-12110_upnp_redirect_accept_NULL_desc_argument.patch CVE-2019-12111_pcpserver.c_copyIPv6IfDifferent_check_for_NULL_src_argument.patch +miniupnpd-netfilter-build-with-linux-kernel-5.0.patch +miniupnpd-netfilter-ipctcrdr.c-conditionnaly-use-NFC_UNKN.patch diff -Nru miniupnpd-2.1/debian/po/fr.po miniupnpd-2.1/debian/po/fr.po --- miniupnpd-2.1/debian/po/fr.po 2019-06-07 00:37:36.000000000 +0200 +++ miniupnpd-2.1/debian/po/fr.po 2020-03-27 14:11:07.000000000 +0100 @@ -2,13 +2,13 @@ # Copyright (C) 2013 # This file is distributed under the same license as the miniupnpd package. # -# Baptiste Jammet <[email protected]>, 2013, 2018. +# Baptiste Jammet <[email protected]>, 2013, 2018, 2019. msgid "" msgstr "" "Project-Id-Version: miniupnpd\n" "Report-Msgid-Bugs-To: [email protected]\n" "POT-Creation-Date: 2019-01-06 21:56+0800\n" -"PO-Revision-Date: 2018-08-28 21:38+0100\n" +"PO-Revision-Date: 2019-07-31 14:12+0100\n" "Last-Translator: Baptiste Jammet <[email protected]>\n" "Language-Team: French <[email protected]>\n" "Language: french\n" @@ -110,7 +110,7 @@ #. Description #: ../miniupnpd.templates:6001 msgid "Force reporting IGDv1 in rootDesc?" -msgstr "" +msgstr "Forcer la déclaration IGDv1 dans rootDesc ?" #. Type: boolean #. Description @@ -120,6 +120,9 @@ "do not recognize IGDv2 as a valid IGD service. This option will fool them by " "pretending itself to be IGDv1." msgstr "" +"Certains clients IGD (principalement Microsoft® Windows® BITS) recherchent " +"des service IGDv1 et ne reconnaissent pas IGDv2 comme un service IGD valide. " +"Cette option les trompera en se présentant comme un service IGDv1." #. Type: boolean #. Description @@ -128,3 +131,5 @@ "Of course you will lose IGDv2 functions (notably IPv6 support) by enabling " "this." msgstr "" +"Bien évidement, les fonctions de IGDv2 (en particulier la prise en charge de " +"IPv6) seront perdues en activant cette option." diff -Nru miniupnpd-2.1/debian/po/it.po miniupnpd-2.1/debian/po/it.po --- miniupnpd-2.1/debian/po/it.po 2019-06-07 00:37:36.000000000 +0200 +++ miniupnpd-2.1/debian/po/it.po 2020-03-27 14:11:07.000000000 +0100 @@ -1,13 +1,13 @@ # Italian translation of miniupnpd debconf messages # Copyright (C) 2013, miniupnpd package copyright holder # This file is distributed under the same license as the miniupnpd package. -# Beatrice Torracca <[email protected]>, 2013. +# Beatrice Torracca <[email protected]>, 2013, 2020. msgid "" msgstr "" "Project-Id-Version: miniupnpd\n" "Report-Msgid-Bugs-To: [email protected]\n" "POT-Creation-Date: 2019-01-06 21:56+0800\n" -"PO-Revision-Date: 2013-09-26 18:04+0200\n" +"PO-Revision-Date: 2020-02-29 14:23+0100\n" "Last-Translator: Beatrice Torracca <[email protected]>\n" "Language-Team: Italian <[email protected]>\n" "Language: it\n" @@ -15,7 +15,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.7.1\n" +"X-Generator: Poedit 2.2.4\n" #. Type: boolean #. Description @@ -36,25 +36,19 @@ #. Type: string #. Description #: ../miniupnpd.templates:3001 -#, fuzzy -#| msgid "LAN IP address to listen on for UPnP queries:" msgid "Interfaces to listen on for UPnP queries:" -msgstr "" -"Indirizzo IP nella LAN sul quale restare in ascolto per richieste UPnP:" +msgstr "Interfacce sulle quali restare in ascolto per richieste UPnP:" #. Type: string #. Description #: ../miniupnpd.templates:3001 -#, fuzzy -#| msgid "" -#| "The MiniUPnP daemon will listen for requests on the local network. Please " -#| "enter the IP address it should listen on." msgid "" "The MiniUPnP daemon will listen for requests on the local network. Please " "enter the interfaces or IP addresses it should listen on, separated by space." msgstr "" "Il demone MiniUPnP resterà in ascolto per le richieste sulla rete locale. " -"Inserire l'indirizzo IP su cui deve restare in ascolto." +"Inserire, separati da spazi, le interfacce o gli indirizzi IP su cui deve " +"restare in ascolto." #. Type: string #. Description @@ -63,6 +57,8 @@ "Interface names are preferred, and required if you plan to enable IPv6 port " "forwarding." msgstr "" +"I nomi di interfacce sono preferiti e sono richiesti se si ha intenzione di " +"abilitare il forwarding delle porte IPv6." #. Type: string #. Description @@ -107,12 +103,14 @@ msgid "" "Note: This option is useless if you don't block any IPv6 forwarded traffic." msgstr "" +"Nota bene: questa opzione è inutile se non si blocca alcun traffico IPv6 con " +"forwarding." #. Type: boolean #. Description #: ../miniupnpd.templates:6001 msgid "Force reporting IGDv1 in rootDesc?" -msgstr "" +msgstr "Forzare la segnalazione come IGDv1 in rootDesc?" #. Type: boolean #. Description @@ -122,6 +120,9 @@ "do not recognize IGDv2 as a valid IGD service. This option will fool them by " "pretending itself to be IGDv1." msgstr "" +"Alcuni client IGD (in particolare Microsoft® Windows® BITS) cercano IGDv1 e " +"non riconoscono IGDv2 come servizio IGD valido. Questa opzione li ingannerà " +"facendo finta di essere IGDv1." #. Type: boolean #. Description @@ -130,3 +131,5 @@ "Of course you will lose IGDv2 functions (notably IPv6 support) by enabling " "this." msgstr "" +"Abilitando ciò, naturalmente verranno perse le funzioni IGDv2 (e, in modo " +"degno di nota, il supporto per IPv6)." diff -Nru miniupnpd-2.1/debian/salsa-ci.yml miniupnpd-2.1/debian/salsa-ci.yml --- miniupnpd-2.1/debian/salsa-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ miniupnpd-2.1/debian/salsa-ci.yml 2020-03-27 14:11:07.000000000 +0100 @@ -0,0 +1,3 @@ +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml \ Pas de fin de ligne à la fin du fichier

