mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-04 16:10:10 +00:00
net-snmp: upgrade 5.9.3 -> 5.9.4
ChangeLog: https://github.com/net-snmp/net-snmp/blob/V5-9-patches/CHANGES * Refresh patches * Drop backport CVE patch * Drop 0001-Add-noreturn-attribute-to-netsnmp_pci_error.patch as the issue has been fixed upstream. * Add a patch to fix build on musl Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
05afab094d
commit
0178f52636
0
meta-networking/recipes-protocols/net-snmp/files/init
Executable file → Normal file
0
meta-networking/recipes-protocols/net-snmp/files/init
Executable file → Normal file
|
|
@ -1,32 +0,0 @@
|
|||
From 5719f40db65a72624a0b0f08e546d12bf823bd1e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Jan 2023 14:38:44 -0800
|
||||
Subject: [PATCH] Add noreturn attribute to netsnmp_pci_error()
|
||||
|
||||
Fixes build with clang16
|
||||
| mibgroup/if-mib/data_access/interface_linux.c:152:23: error: incompatible function pointer types assigning to 'void (*)(char *, ...) __attribute__((noreturn))' from 'void (char *, ...)' [-Wincompatible-function-pointer-types]
|
||||
| pci_access->error = netsnmp_pci_error;
|
||||
| ^ ~~~~~~~~~~~~~~~~~
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
agent/mibgroup/if-mib/data_access/interface_linux.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/agent/mibgroup/if-mib/data_access/interface_linux.c b/agent/mibgroup/if-mib/data_access/interface_linux.c
|
||||
index c6cc54e..12eb865 100644
|
||||
--- a/agent/mibgroup/if-mib/data_access/interface_linux.c
|
||||
+++ b/agent/mibgroup/if-mib/data_access/interface_linux.c
|
||||
@@ -31,7 +31,7 @@ static struct pci_access *pci_access;
|
||||
/* Avoid letting libpci call exit(1) when no PCI bus is available. */
|
||||
static int do_longjmp =0;
|
||||
static jmp_buf err_buf;
|
||||
-static void
|
||||
+__attribute__((noreturn)) static void
|
||||
netsnmp_pci_error(char *msg, ...)
|
||||
{
|
||||
va_list args;
|
||||
--
|
||||
2.39.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From ad65b106d3cb3c6e595381be1c45a73c1ef6eb5e Mon Sep 17 00:00:00 2001
|
||||
From 787269b337e70f073e194c3b361eaf4d5f2291ce Mon Sep 17 00:00:00 2001
|
||||
From: Chong Lu <Chong.Lu@windriver.com>
|
||||
Date: Thu, 28 May 2020 09:46:34 -0500
|
||||
Subject: [PATCH] net-snmp: add knob whether nlist.h are checked
|
||||
|
|
@ -9,13 +9,12 @@ Add knob to decide whether nlist.h are checked or not.
|
|||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
|
||||
|
||||
---
|
||||
configure.d/config_os_headers | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
|
||||
index b9c8c31..01c3376 100644
|
||||
index 584064e..c0688f8 100644
|
||||
--- a/configure.d/config_os_headers
|
||||
+++ b/configure.d/config_os_headers
|
||||
@@ -37,6 +37,7 @@ AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl
|
||||
|
|
@ -34,3 +33,6 @@ index b9c8c31..01c3376 100644
|
|||
|
||||
# Library:
|
||||
AC_CHECK_HEADERS([crt_externs.h ] dnl
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From ab1d77c52e84746e75506a2870783806bc77f396 Mon Sep 17 00:00:00 2001
|
||||
From 5f002c3cc46ecf4d4a29571309f2cc0d3d34330f Mon Sep 17 00:00:00 2001
|
||||
From: "Roy.Li" <rongqing.li@windriver.com>
|
||||
Date: Fri, 16 Jan 2015 14:14:01 +0800
|
||||
Subject: [PATCH] net-snmp: fix "libtool --finish"
|
||||
|
|
@ -14,16 +14,15 @@ rpm-postinst for each recipe while do_package, in package.bbclass.
|
|||
Upstream-Status: Inappropriate [cross compile specific]
|
||||
|
||||
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
||||
|
||||
---
|
||||
Makefile.top | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.top b/Makefile.top
|
||||
index a962c54..1ba5607 100644
|
||||
index d1b3923..53e0392 100644
|
||||
--- a/Makefile.top
|
||||
+++ b/Makefile.top
|
||||
@@ -89,7 +89,7 @@ LIBREVISION = 0
|
||||
@@ -89,7 +89,7 @@ LIBREVISION = 1
|
||||
LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) @LD_NO_UNDEFINED@ -o
|
||||
LIB_EXTENSION = la
|
||||
LIB_VERSION =
|
||||
|
|
@ -32,3 +31,6 @@ index a962c54..1ba5607 100644
|
|||
LINK = $(LIBTOOL) --mode=link $(LINKCC)
|
||||
# RANLIB = @RANLIB@
|
||||
RANLIB = :
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 36a5656db7ea75dd15f35a6c1728937c6e2b901c Mon Sep 17 00:00:00 2001
|
||||
From 2a1a2b58af09c6c03026474f1fd0db7d36e977c7 Mon Sep 17 00:00:00 2001
|
||||
From: Jackie Huang <jackie.huang@windriver.com>
|
||||
Date: Wed, 14 Jan 2015 15:10:06 +0800
|
||||
Subject: [PATCH] testing: add the output format for ptest
|
||||
|
|
@ -6,7 +6,6 @@ Subject: [PATCH] testing: add the output format for ptest
|
|||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
||||
|
||||
---
|
||||
testing/RUNTESTS | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
|
@ -33,3 +32,6 @@ index 6715831..a2b6fb8 100755
|
|||
done
|
||||
|
||||
if [ -f failed_tests ]; then
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From e86d5fd52f19b85da0b7cce660c6e65ec4c0f9bb Mon Sep 17 00:00:00 2001
|
||||
From b1c941c20577578aa5ff3450d9d8d7a23c55d14a Mon Sep 17 00:00:00 2001
|
||||
From: Li xin <lixin.fnst@cn.fujitsu.com>
|
||||
Date: Fri, 21 Aug 2015 18:23:13 +0900
|
||||
Subject: [PATCH] config_os_headers: Error Fix
|
||||
|
|
@ -13,13 +13,12 @@ conftest.c:168:17: fatal error: pkg.h: No such file or directory
|
|||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
|
||||
|
||||
---
|
||||
configure.d/config_os_headers | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
|
||||
index 01c3376..6edd85f 100644
|
||||
index c0688f8..f68713c 100644
|
||||
--- a/configure.d/config_os_headers
|
||||
+++ b/configure.d/config_os_headers
|
||||
@@ -395,8 +395,8 @@ then
|
||||
|
|
@ -33,3 +32,6 @@ index 01c3376..6edd85f 100644
|
|||
AC_CHECK_HEADERS(pkg.h,
|
||||
NETSNMP_SEARCH_LIBS(pkg_init, pkg,
|
||||
AC_DEFINE(HAVE_LIBPKG, 1, [define if you have BSD pkg-ng])))
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,25 +1,23 @@
|
|||
From f4e1acd4f509dd26cf88da872bd5adcf884f4a5f Mon Sep 17 00:00:00 2001
|
||||
From c790411f9aa82064fea9bbf23b499fb6b7f22c4f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 18 Sep 2015 00:28:45 -0400
|
||||
Subject: [PATCH] snmplib/keytools.c: Don't check for return from
|
||||
|
||||
EVP_MD_CTX_init()
|
||||
|
||||
EVP_MD_CTX_init() API returns void, it fixes errors with new compilers
|
||||
|
||||
snmplib/keytools.c: In function 'generate_Ku': error: invalid use of void expression
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
|
||||
---
|
||||
snmplib/keytools.c | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/snmplib/keytools.c b/snmplib/keytools.c
|
||||
index 14a452a..fb1694b 100644
|
||||
index 388e655..5a66898 100644
|
||||
--- a/snmplib/keytools.c
|
||||
+++ b/snmplib/keytools.c
|
||||
@@ -183,10 +183,7 @@ generate_Ku(const oid * hashtype, u_int hashtype_len,
|
||||
|
|
@ -34,3 +32,6 @@ index 14a452a..fb1694b 100644
|
|||
#endif
|
||||
if (!EVP_DigestInit(ctx, hashfn)) {
|
||||
rval = SNMPERR_GENERR;
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 8097734b27fd146f358a4edd0d1a0d28309bd9a4 Mon Sep 17 00:00:00 2001
|
||||
From 95868615a04b4a6f0dd5997c9726422828426116 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 22 Jul 2016 18:34:39 +0000
|
||||
Subject: [PATCH] get_pid_from_inode: Include limit.h
|
||||
|
|
@ -8,7 +8,6 @@ PATH_MAX and NAME_MAX are required by this file
|
|||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
agent/mibgroup/util_funcs/get_pid_from_inode.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
|
@ -25,3 +24,6 @@ index 5788e1d..ea380a6 100644
|
|||
#include <stdio.h>
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 6d655ba677563ac9d62d4d8eee59fdb39d486c02 Mon Sep 17 00:00:00 2001
|
||||
From 385fa343cf178ccfe2c9a9fd7795d0db3c959fdd Mon Sep 17 00:00:00 2001
|
||||
From: Wenlin Kang <wenlin.kang@windriver.com>
|
||||
Date: Wed, 24 May 2017 17:10:20 +0800
|
||||
Subject: [PATCH] configure: fix incorrect variable
|
||||
|
|
@ -8,13 +8,12 @@ For cross compile platform, this variable will not be correct, so fix it.
|
|||
Upstream-Status: Inappropriate [cross compile specific]
|
||||
|
||||
Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
|
||||
|
||||
---
|
||||
Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index f1cbbf5..1545be3 100644
|
||||
index 1c1182e..f947b8c 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -173,7 +173,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
|
||||
|
|
@ -26,3 +25,6 @@ index f1cbbf5..1545be3 100644
|
|||
if test $$? != 0 ; then \
|
||||
exit 1 ; \
|
||||
fi
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 5ad4eab43c1ea63ff343bba64d576440e8783e75 Mon Sep 17 00:00:00 2001
|
||||
From b5cbe0953a7e7a3c77c7ec69dfe81254475f08c0 Mon Sep 17 00:00:00 2001
|
||||
From: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
|
||||
Date: Wed, 9 Jun 2021 15:47:30 +0900
|
||||
Subject: [PATCH] net snmp: fix engineBoots value on SIGHUP
|
||||
|
|
@ -8,14 +8,13 @@ Upstream-Status: Pending
|
|||
Signed-off-by: Marian Florea <marian.florea@windriver.com>
|
||||
Signed-off-by: Li Zhou <li.zhou@windriver.com>
|
||||
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
|
||||
|
||||
---
|
||||
agent/snmpd.c | 1 +
|
||||
snmplib/snmpv3.c | 4 ++--
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/agent/snmpd.c b/agent/snmpd.c
|
||||
index 90de12d..1ccc4db 100644
|
||||
index fe31c87..d9f68dd 100644
|
||||
--- a/agent/snmpd.c
|
||||
+++ b/agent/snmpd.c
|
||||
@@ -1169,6 +1169,7 @@ snmpd_reconfig(void)
|
||||
|
|
@ -27,10 +26,10 @@ index 90de12d..1ccc4db 100644
|
|||
#ifdef HAVE_SIGPROCMASK
|
||||
ret = sigprocmask(SIG_UNBLOCK, &set, NULL);
|
||||
diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
|
||||
index 7b1746b..4a17e0d 100644
|
||||
index be9256f..d17d2e3 100644
|
||||
--- a/snmplib/snmpv3.c
|
||||
+++ b/snmplib/snmpv3.c
|
||||
@@ -1059,9 +1059,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
|
||||
@@ -1071,9 +1071,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
|
||||
/*
|
||||
* if our engineID has changed at all, the boots record must be set to 1
|
||||
*/
|
||||
|
|
@ -42,3 +41,6 @@ index 7b1746b..4a17e0d 100644
|
|||
engineBoots = 1;
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From b1b9980853b1083f0c8b9f628f8b4c3a484d4f91 Mon Sep 17 00:00:00 2001
|
||||
From aa1f157c675da248ed186e020d17cb2528d0be12 Mon Sep 17 00:00:00 2001
|
||||
From: Jackie Huang <jackie.huang@windriver.com>
|
||||
Date: Thu, 22 Jun 2017 10:25:08 +0800
|
||||
Subject: [PATCH] net-snmp: fix for --disable-des
|
||||
|
|
@ -9,16 +9,15 @@ the --disable-des works correctly.
|
|||
Upstream-Status: Submitted [net-snmp-coders@lists.sourceforge.net]
|
||||
|
||||
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
||||
|
||||
---
|
||||
snmplib/scapi.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/snmplib/scapi.c b/snmplib/scapi.c
|
||||
index 54fdd5c..0f7e931 100644
|
||||
index ac77004..7545bfa 100644
|
||||
--- a/snmplib/scapi.c
|
||||
+++ b/snmplib/scapi.c
|
||||
@@ -85,7 +85,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support);
|
||||
@@ -86,7 +86,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support);
|
||||
#include <openssl/hmac.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/rand.h>
|
||||
|
|
@ -28,3 +27,6 @@ index 54fdd5c..0f7e931 100644
|
|||
#ifdef HAVE_AES
|
||||
#include <openssl/aes.h>
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From b923cd38e2503b86aedf66b767fd7f51c9f25645 Mon Sep 17 00:00:00 2001
|
||||
From a96140995d10660046146d9fa75faa5f7faabab0 Mon Sep 17 00:00:00 2001
|
||||
From: "douglas.royds" <douglas.royds@taitradio.com>
|
||||
Date: Wed, 21 Nov 2018 13:52:18 +1300
|
||||
Subject: [PATCH] net-snmp: Reproducibility: Don't check build host for
|
||||
|
|
@ -8,14 +8,13 @@ cross-compiling. Use AC_CHECK_FILE to set the cached variable
|
|||
ac_cv_file__etc_printcap instead. When cross-compiling, this variable should be
|
||||
set in the environment to "yes" or "no" as appropriate for the target platform.
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
---
|
||||
configure.d/config_os_misc4 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.d/config_os_misc4 b/configure.d/config_os_misc4
|
||||
index b6864d9..07ca922 100644
|
||||
index 4c445d6..099257f 100644
|
||||
--- a/configure.d/config_os_misc4
|
||||
+++ b/configure.d/config_os_misc4
|
||||
@@ -99,9 +99,9 @@ if test x$LPSTAT_PATH != x; then
|
||||
|
|
@ -30,3 +29,6 @@ index b6864d9..07ca922 100644
|
|||
|
||||
|
||||
# Check ps args
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 98c62e24fdd05d7e8bd8149840bad8eb0feb3fb1 Mon Sep 17 00:00:00 2001
|
||||
From 85a6c5017a2cd18a5a66afcb3f6a02276c101ad0 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Fri, 29 Jan 2021 08:49:15 +0000
|
||||
Subject: [PATCH] ac_add_search_path.m4: keep consistent between 32bit and
|
||||
|
|
@ -16,7 +16,6 @@ So add the patch to fix the gap between 32bit and 64bit system.
|
|||
Upstream-Status: Inappropriate [configuration specific]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
|
||||
---
|
||||
m4/ac_add_search_path.m4 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
|
@ -36,3 +35,6 @@ index 8e0a819..e9585bc 100644
|
|||
fi
|
||||
if test -d $1/include; then
|
||||
CPPFLAGS="-I$1/include $CPPFLAGS"
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
From 21ea0b9ce5cc9445f7ffd7a9020b816681e16284 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Gajda <adgajda@users.noreply.github.com>
|
||||
Date: Mon, 2 Oct 2023 16:40:31 +0200
|
||||
Subject: [PATCH] Fix configuration of NETSNMP_FD_MASK_TYPE
|
||||
|
||||
Upstream-Status: Backport
|
||||
[https://github.com/net-snmp/net-snmp/commit/af1b7f77975bbb2fcbdb3f005f8cb010d1d33cd3]
|
||||
|
||||
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
|
||||
---
|
||||
configure | 2 +-
|
||||
configure.d/config_project_types | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 907d441..f4468c6 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -31638,7 +31638,7 @@ CFLAGS="$CFLAGS -Werror"
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the type of fd_set::fds_bits" >&5
|
||||
printf %s "checking for the type of fd_set::fds_bits... " >&6; }
|
||||
-for type in __fd_mask __int32_t unknown; do
|
||||
+for type in __fd_mask __int32_t long\ int unknown; do
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
diff --git a/configure.d/config_project_types b/configure.d/config_project_types
|
||||
index 1b4c66b..a78e8eb 100644
|
||||
--- a/configure.d/config_project_types
|
||||
+++ b/configure.d/config_project_types
|
||||
@@ -66,7 +66,7 @@ netsnmp_save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -Werror"
|
||||
|
||||
AC_MSG_CHECKING([for the type of fd_set::fds_bits])
|
||||
-for type in __fd_mask __int32_t unknown; do
|
||||
+for type in __fd_mask __int32_t long\ int unknown; do
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
||||
#include <sys/select.h>
|
||||
#include <stddef.h>
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,121 +0,0 @@
|
|||
From d13302656d9ff0807c5defe18623adc947f43a2b Mon Sep 17 00:00:00 2001
|
||||
From: Narpat Mali <narpat.mali@windriver.com>
|
||||
Date: Wed, 8 Feb 2023 13:15:39 +0000
|
||||
Subject: [PATCH] agent: Disallow SET requests with any NULL varbind Merge pull
|
||||
request #490 from fenner/set-null
|
||||
|
||||
fixes: #474 and #475
|
||||
|
||||
CVE: CVE-2022-44792, CVE-2022-44793
|
||||
|
||||
Upstream-Status: Backport [https://github.com/net-snmp/net-snmp/commit/be804106fd0771a7d05236cff36e199af077af57]
|
||||
|
||||
Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
|
||||
---
|
||||
agent/snmp_agent.c | 32 +++++++++++++++++++
|
||||
apps/snmpset.c | 1 +
|
||||
.../default/T0142snmpv2csetnull_simple | 31 ++++++++++++++++++
|
||||
3 files changed, 64 insertions(+)
|
||||
create mode 100644 testing/fulltests/default/T0142snmpv2csetnull_simple
|
||||
|
||||
diff --git a/agent/snmp_agent.c b/agent/snmp_agent.c
|
||||
index 867d0c1..3f678fe 100644
|
||||
--- a/agent/snmp_agent.c
|
||||
+++ b/agent/snmp_agent.c
|
||||
@@ -3719,12 +3719,44 @@ netsnmp_handle_request(netsnmp_agent_session *asp, int status)
|
||||
return 1;
|
||||
}
|
||||
|
||||
+static int
|
||||
+check_set_pdu_for_null_varbind(netsnmp_agent_session *asp)
|
||||
+{
|
||||
+ int i;
|
||||
+ netsnmp_variable_list *v = NULL;
|
||||
+
|
||||
+ for (i = 1, v = asp->pdu->variables; v != NULL; i++, v = v->next_variable) {
|
||||
+ if (v->type == ASN_NULL) {
|
||||
+ /*
|
||||
+ * Protect SET implementations that do not protect themselves
|
||||
+ * against wrong type.
|
||||
+ */
|
||||
+ DEBUGMSGTL(("snmp_agent", "disallowing SET with NULL var for varbind %d\n", i));
|
||||
+ asp->index = i;
|
||||
+ return SNMP_ERR_WRONGTYPE;
|
||||
+ }
|
||||
+ }
|
||||
+ return SNMP_ERR_NOERROR;
|
||||
+}
|
||||
+
|
||||
int
|
||||
handle_pdu(netsnmp_agent_session *asp)
|
||||
{
|
||||
int status, inclusives = 0;
|
||||
netsnmp_variable_list *v = NULL;
|
||||
|
||||
+#ifndef NETSNMP_NO_WRITE_SUPPORT
|
||||
+ /*
|
||||
+ * Check for ASN_NULL in SET request
|
||||
+ */
|
||||
+ if (asp->pdu->command == SNMP_MSG_SET) {
|
||||
+ status = check_set_pdu_for_null_varbind(asp);
|
||||
+ if (status != SNMP_ERR_NOERROR) {
|
||||
+ return status;
|
||||
+ }
|
||||
+ }
|
||||
+#endif /* NETSNMP_NO_WRITE_SUPPORT */
|
||||
+
|
||||
/*
|
||||
* for illegal requests, mark all nodes as ASN_NULL
|
||||
*/
|
||||
diff --git a/apps/snmpset.c b/apps/snmpset.c
|
||||
index 48e14bd..d542713 100644
|
||||
--- a/apps/snmpset.c
|
||||
+++ b/apps/snmpset.c
|
||||
@@ -182,6 +182,7 @@ main(int argc, char *argv[])
|
||||
case 'x':
|
||||
case 'd':
|
||||
case 'b':
|
||||
+ case 'n': /* undocumented */
|
||||
#ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
|
||||
case 'I':
|
||||
case 'U':
|
||||
diff --git a/testing/fulltests/default/T0142snmpv2csetnull_simple b/testing/fulltests/default/T0142snmpv2csetnull_simple
|
||||
new file mode 100644
|
||||
index 0000000..0f1b8f3
|
||||
--- /dev/null
|
||||
+++ b/testing/fulltests/default/T0142snmpv2csetnull_simple
|
||||
@@ -0,0 +1,31 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+. ../support/simple_eval_tools.sh
|
||||
+
|
||||
+HEADER SNMPv2c set of system.sysContact.0 with NULL varbind
|
||||
+
|
||||
+SKIPIF NETSNMP_DISABLE_SET_SUPPORT
|
||||
+SKIPIF NETSNMP_NO_WRITE_SUPPORT
|
||||
+SKIPIF NETSNMP_DISABLE_SNMPV2C
|
||||
+SKIPIFNOT USING_MIBII_SYSTEM_MIB_MODULE
|
||||
+
|
||||
+#
|
||||
+# Begin test
|
||||
+#
|
||||
+
|
||||
+# standard V2C configuration: testcomunnity
|
||||
+snmp_write_access='all'
|
||||
+. ./Sv2cconfig
|
||||
+STARTAGENT
|
||||
+
|
||||
+CAPTURE "snmpget -On $SNMP_FLAGS -c testcommunity -v 2c $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.4.0"
|
||||
+
|
||||
+CHECK ".1.3.6.1.2.1.1.4.0 = STRING:"
|
||||
+
|
||||
+CAPTURE "snmpset -On $SNMP_FLAGS -c testcommunity -v 2c $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.4.0 n x"
|
||||
+
|
||||
+CHECK "Reason: wrongType"
|
||||
+
|
||||
+STOPAGENT
|
||||
+
|
||||
+FINISHED
|
||||
--
|
||||
2.34.1
|
||||
|
||||
0
meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest
Executable file → Normal file
0
meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest
Executable file → Normal file
|
|
@ -14,22 +14,21 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
|
|||
file://snmptrapd.conf \
|
||||
file://snmpd.service \
|
||||
file://snmptrapd.service \
|
||||
file://net-snmp-add-knob-whether-nlist.h-are-checked.patch \
|
||||
file://fix-libtool-finish.patch \
|
||||
file://net-snmp-testing-add-the-output-format-for-ptest.patch \
|
||||
file://run-ptest \
|
||||
file://0001-config_os_headers-Error-Fix.patch \
|
||||
file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \
|
||||
file://0001-get_pid_from_inode-Include-limit.h.patch \
|
||||
file://0004-configure-fix-incorrect-variable.patch \
|
||||
file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
|
||||
file://net-snmp-fix-for-disable-des.patch \
|
||||
file://reproducibility-have-printcap.patch \
|
||||
file://0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch \
|
||||
file://0001-Add-noreturn-attribute-to-netsnmp_pci_error.patch \
|
||||
file://CVE-2022-44792-CVE-2022-44793.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "2097f29b7e1bf3f1300b4bae52fa2308d0bb8d5d3998dbe02f9462a413a2ef0a"
|
||||
file://0001-net-snmp-add-knob-whether-nlist.h-are-checked.patch \
|
||||
file://0002-net-snmp-fix-libtool-finish.patch \
|
||||
file://0003-testing-add-the-output-format-for-ptest.patch \
|
||||
file://0004-config_os_headers-Error-Fix.patch \
|
||||
file://0005-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \
|
||||
file://0006-get_pid_from_inode-Include-limit.h.patch \
|
||||
file://0007-configure-fix-incorrect-variable.patch \
|
||||
file://0008-net-snmp-fix-engineBoots-value-on-SIGHUP.patch \
|
||||
file://0009-net-snmp-fix-for-disable-des.patch \
|
||||
file://0010-net-snmp-Reproducibility-Don-t-check-build-host-for.patch \
|
||||
file://0011-ac_add_search_path.m4-keep-consistent-between-32bit-.patch \
|
||||
file://0012-Fix-configuration-of-NETSNMP_FD_MASK_TYPE.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "8b4de01391e74e3c7014beb43961a2d6d6fa03acc34280b9585f4930745b0544"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
|
||||
UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
|
||||
|
|
@ -152,6 +151,8 @@ do_install:append() {
|
|||
-e "s@^NSC_LDFLAGS=\"-L.* @NSC_LDFLAGS=\"-L\$\{libdir\} @g" \
|
||||
-i ${D}${bindir}/net-snmp-config
|
||||
|
||||
sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/net-snmp-create-v3-user
|
||||
|
||||
oe_multilib_header net-snmp/net-snmp-config.h
|
||||
|
||||
if [ "${HAS_PERL}" = "1" ]; then
|
||||
Loading…
Reference in New Issue
Block a user