support interface names longer than 8 characters Resolves: #468045
This commit is contained in:
parent
f0f4ae298d
commit
23c35c2652
51
net-snmp-5.4.1-long-iface-names.patch
Normal file
51
net-snmp-5.4.1-long-iface-names.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
468045: Interface name too long: "ioctl 35123 returned -1"
|
||||||
|
|
||||||
|
Source: upstream, svn rev. 16797
|
||||||
|
|
||||||
|
Support longer interface names.
|
||||||
|
|
||||||
|
diff --git a/net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c b/net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c
|
||||||
|
index 51cde1b..72c1d2d 100644
|
||||||
|
--- a/net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c
|
||||||
|
+++ b/net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c
|
||||||
|
@@ -189,7 +189,8 @@ _load_v6(netsnmp_container *container, int idx_offset)
|
||||||
|
return -1;
|
||||||
|
#else
|
||||||
|
FILE *in;
|
||||||
|
- char line[80], addr[40], if_name[IFNAMSIZ];
|
||||||
|
+ char line[80], addr[40];
|
||||||
|
+ char if_name[IFNAMSIZ+1];/* +1 for '\0' because of the ugly sscanf below */
|
||||||
|
u_char *buf;
|
||||||
|
int if_index, pfx_len, scope, flags, rc = 0;
|
||||||
|
size_t in_len, out_len;
|
||||||
|
@@ -229,7 +230,7 @@ _load_v6(netsnmp_container *container, int idx_offset)
|
||||||
|
* F: flags (see include/linux/rtnetlink.h, net/ipv6/addrconf.c)
|
||||||
|
* I: interface
|
||||||
|
*/
|
||||||
|
- rc = sscanf(line, "%39s %02x %02x %02x %02x %8s\n",
|
||||||
|
+ rc = sscanf(line, "%39s %02x %02x %02x %02x %" SNMP_MACRO_VAL_TO_STR(IFNAMSIZ) "s\n",
|
||||||
|
addr, &if_index, &pfx_len, &scope, &flags, if_name);
|
||||||
|
if( 6 != rc ) {
|
||||||
|
snmp_log(LOG_ERR, PROCFILE " data format error (%d!=6), line ==|%s|\n",
|
||||||
|
diff --git a/net-snmp/include/net-snmp/library/tools.h b/net-snmp/include/net-snmp/library/tools.h
|
||||||
|
index 7822855..e57d1ac 100644
|
||||||
|
--- a/net-snmp/include/net-snmp/library/tools.h
|
||||||
|
+++ b/net-snmp/include/net-snmp/library/tools.h
|
||||||
|
@@ -88,6 +88,17 @@ extern "C" {
|
||||||
|
Computers the minimum of a and b. */
|
||||||
|
#define SNMP_MIN(a,b) ((a) > (b) ? (b) : (a))
|
||||||
|
|
||||||
|
+/** @def SNMP_MACRO_VAL_TO_STR(s)
|
||||||
|
+ * Expands to string with value of the s.
|
||||||
|
+ * If s is macro, the resulting string is value of the macro.
|
||||||
|
+ * Example:
|
||||||
|
+ * #define TEST 1234
|
||||||
|
+ * SNMP_MACRO_VAL_TO_STR(TEST) expands to "1234"
|
||||||
|
+ * SNMP_MACRO_VAL_TO_STR(TEST+1) expands to "1234+1"
|
||||||
|
+ */
|
||||||
|
+#define SNMP_MACRO_VAL_TO_STR(s) SNMP_MACRO_VAL_TO_STR_PRIV(s)
|
||||||
|
+#define SNMP_MACRO_VAL_TO_STR_PRIV(s) #s
|
||||||
|
+
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE 0
|
||||||
|
#endif
|
@ -43,6 +43,7 @@ Patch17: net-snmp-5.4.1-xen-crash.patch
|
|||||||
Patch18: net-snmp-5.4.1-hmac-check.patch
|
Patch18: net-snmp-5.4.1-hmac-check.patch
|
||||||
Patch19: net-snmp-5.4.1-perl-snprintf.patch
|
Patch19: net-snmp-5.4.1-perl-snprintf.patch
|
||||||
Patch20: net-snmp-5.4.1-perl-set.patch
|
Patch20: net-snmp-5.4.1-perl-set.patch
|
||||||
|
Patch21: net-snmp-5.4.1-long-iface-names.patch
|
||||||
|
|
||||||
Requires(pre): chkconfig
|
Requires(pre): chkconfig
|
||||||
Requires(post): chkconfig
|
Requires(post): chkconfig
|
||||||
@ -177,6 +178,7 @@ and applications.
|
|||||||
%patch18 -p1 -b .hmac-check
|
%patch18 -p1 -b .hmac-check
|
||||||
%patch19 -p3 -b .perl-snprintf
|
%patch19 -p3 -b .perl-snprintf
|
||||||
%patch20 -p1 -b .perl-set
|
%patch20 -p1 -b .perl-set
|
||||||
|
%patch21 -p2 -b .long-iface-names
|
||||||
|
|
||||||
# Do this patch with a perl hack...
|
# Do this patch with a perl hack...
|
||||||
perl -pi -e "s|'\\\$install_libdir'|'%{_libdir}'|" ltmain.sh
|
perl -pi -e "s|'\\\$install_libdir'|'%{_libdir}'|" ltmain.sh
|
||||||
@ -395,6 +397,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%changelog
|
%changelog
|
||||||
* Tue Jul 22 2008 Jan Safranek <jsafranek@redhat.com> 5.4.1-19
|
* Tue Jul 22 2008 Jan Safranek <jsafranek@redhat.com> 5.4.1-19
|
||||||
- fix perl SNMP::Session::set (#452131)
|
- fix perl SNMP::Session::set (#452131)
|
||||||
|
- support interface names longer than 8 characters (#468045)
|
||||||
|
|
||||||
* Tue Jun 10 2008 Jan Safranek <jsafranek@redhat.com> 5.4.1-18
|
* Tue Jun 10 2008 Jan Safranek <jsafranek@redhat.com> 5.4.1-18
|
||||||
- explicitly require lm_sensor > 3 for build (#442718)
|
- explicitly require lm_sensor > 3 for build (#442718)
|
||||||
|
Loading…
Reference in New Issue
Block a user