From 5bb8332bde291f9dbcaf8f98ce046d300060bda0 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Sun, 4 Apr 2021 23:15:14 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/net-snmp.git#25af5a1169aa3f73f208df3d25e7db34af622c13 --- net-snmp-5.9-twice-IP-parsing.patch | 34 +++++++++++++++++++++++++++++ net-snmp.spec | 11 +++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 net-snmp-5.9-twice-IP-parsing.patch diff --git a/net-snmp-5.9-twice-IP-parsing.patch b/net-snmp-5.9-twice-IP-parsing.patch new file mode 100644 index 0000000..2928e8f --- /dev/null +++ b/net-snmp-5.9-twice-IP-parsing.patch @@ -0,0 +1,34 @@ +diff --git a/snmplib/transports/snmpUDPDomain.c b/snmplib/transports/snmpUDPDomain.c +index b96497f3a..b594a389b 100644 +--- a/snmplib/transports/snmpUDPDomain.c ++++ b/snmplib/transports/snmpUDPDomain.c +@@ -387,7 +387,7 @@ netsnmp_udp_parse_security(const char *token, char *param) + /* Nope, wasn't a dotted quad. Must be a hostname. */ + int ret = netsnmp_gethostbyname_v4(sourcep, &network.s_addr); + if (ret < 0) { +- config_perror("cannot resolve source hostname"); ++ config_perror("cannot resolve IPv4 source hostname"); + return; + } + } +diff --git a/snmplib/transports/snmpUDPIPv6Domain.c b/snmplib/transports/snmpUDPIPv6Domain.c +index 238c8a9d6..43c4eaee1 100644 +--- a/snmplib/transports/snmpUDPIPv6Domain.c ++++ b/snmplib/transports/snmpUDPIPv6Domain.c +@@ -736,7 +736,15 @@ netsnmp_udp6_parse_security(const char *token, char *param) + memset(&pton_addr.sin6_addr.s6_addr, '\0', + sizeof(struct in6_addr)); + } else if (inet_pton(AF_INET6, sourcep, &pton_addr.sin6_addr) != 1) { +- /* Nope, wasn't a numeric address. Must be a hostname. */ ++ /* Nope, wasn't a numeric IPv6 address. Must be IPv4 or a hostname. */ ++ ++ /* Try interpreting as dotted quad - IPv4 */ ++ struct in_addr network; ++ if (inet_pton(AF_INET, sourcep, &network) > 0){ ++ /* Yes, it's IPv4 - those it's already parsed and we can return. */ ++ DEBUGMSGTL(("com2sec6", "IPv4 detected for IPv6 parser. Skipping.\n")); ++ return; ++ } + #if HAVE_GETADDRINFO + int gai_error; + diff --git a/net-snmp.spec b/net-snmp.spec index a04ca01..d5e3365 100644 --- a/net-snmp.spec +++ b/net-snmp.spec @@ -10,7 +10,7 @@ Summary: A collection of SNMP protocol tools and libraries Name: net-snmp Version: 5.9 -Release: 7%{?dist} +Release: 9%{?dist} Epoch: 1 License: BSD @@ -56,6 +56,7 @@ Patch26: net-snmp-5.8-empty-passphrase.patch Patch27: net-snmp-5.9-ECC-cert.patch Patch28: net-snmp-5.9-intermediate-certs.patch Patch29: net-snmp-5.9-ssl-buffer-size.patch +Patch30: net-snmp-5.9-twice-IP-parsing.patch # Modern RPM API means at least EL6 Patch101: net-snmp-5.8-modern-rpm-api.patch @@ -236,6 +237,7 @@ cp %{SOURCE10} . %patch27 -p1 -b .ECC-cert %patch28 -p1 -b .intermediate-certs %patch29 -p1 -b .ssl-buffer-size +%patch30 -p1 -b .twice-IP-parsing %patch101 -p1 -b .modern-rpm-api %patch102 -p1 @@ -503,6 +505,13 @@ LD_LIBRARY_PATH=%{buildroot}/%{_libdir} make test %{_libdir}/libnetsnmptrapd*.so.%{soname}* %changelog +* Mon Mar 15 2021 Josef Ridky - 1:5.9-9 +- fix issue with parsing IPv4 address twice + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1:5.9-8 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Thu Feb 04 2021 Josef Ridky - 1:5.9-7 - remove file with unsupported license - use make and make install macros