NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/52945 (snmpd does not work under current 8.0_BETA)
The following reply was made to PR kern/52945; it has been noted by GNATS.
From: Ryo Shimizu <ryo%nerv.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost, 6bone%6bone.informatik.uni-leipzig.de@localhost
Subject: Re: kern/52945 (snmpd does not work under current 8.0_BETA)
Date: Thu, 15 Feb 2018 21:18:54 +0900
The problem is portablity of net-snmpd.
>configure:29616: checking for IP_PKTINFO
...
>conftest.c: In function 'main':
>conftest.c:380:31: error: 'SOL_IP' undeclared (first use in this function)
> if (cm->cmsg_level == SOL_IP && cm->cmsg_type == IP_PKTINFO) {
> ^
>conftest.c:380:31: note: each undeclared identifier is reported only once for each function it appears in
>conftest.c:382:48: warning: implicit declaration of function 'inet_ntoa' [-Wimplicit-function-declaration]
> printf("Address: %s; index: %d\n", inet_ntoa(src->ipi_addr),
> ^
>configure:29668: $? = 1
it seems that configure cannot detect IP_PKTINFO correctly
because of using SOL_IP. SOL_IP is not defined on *BSD.
And on netbsd, struct ip_pktinfo has no ipi_spec_dst.
Please test following patch?
Index: net/net-snmp/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/net/net-snmp/Makefile,v
retrieving revision 1.121
diff -a -u -r1.121 Makefile
--- net/net-snmp/Makefile 6 Oct 2017 02:39:38 -0000 1.121
+++ net/net-snmp/Makefile 15 Feb 2018 12:15:21 -0000
@@ -30,6 +30,7 @@
. if empty(CFLAGS:U:M*-Dnetbsd1*)
CFLAGS+= -Dnetbsd1
. endif
+CFLAGS+= -DSOL_IP=IPPROTO_IP
.endif
.if (${OPSYS} == "NetBSD") || !exists(/usr/bin/lpstat)
Index: net/net-snmp/distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/net/net-snmp/distinfo,v
retrieving revision 1.91
diff -a -u -r1.91 distinfo
--- net/net-snmp/distinfo 6 Oct 2017 02:39:38 -0000 1.91
+++ net/net-snmp/distinfo 15 Feb 2018 12:15:21 -0000
@@ -54,3 +54,4 @@
SHA1 (patch-perl_default__store_Makefile.PL) = ed5ad7385680632b2153fa572635c5aea83c9114
SHA1 (patch-perl_manager_Makefile.PL) = bb34b119a2b3887a1af1f9b88e6d4bad6baf60bb
SHA1 (patch-snmplib_snmp__api.c) = b4f498aa93b61f809e3696df1fc6bf32bd942233
+SHA1 (patch-snmplib_transports_snmpUDPBaseDomain.c) = b0fd8536f71761d115a93110cf45984f0bff2387
Index: net/net-snmp/patches/patch-snmplib_transports_snmpUDPBaseDomain.c
===================================================================
RCS file: net/net-snmp/patches/patch-snmplib_transports_snmpUDPBaseDomain.c
diff -N net/net-snmp/patches/patch-snmplib_transports_snmpUDPBaseDomain.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ net/net-snmp/patches/patch-snmplib_transports_snmpUDPBaseDomain.c 15 Feb 2018 12:15:21 -0000
@@ -0,0 +1,20 @@
+--- snmplib/transports/snmpUDPBaseDomain.c.orig 2014-12-08 20:23:22.000000000 +0000
++++ snmplib/transports/snmpUDPBaseDomain.c
+@@ -277,7 +277,7 @@ int netsnmp_udpbase_sendto(int fd, struc
+ * come from.
+ */
+ ipi.ipi_ifindex = 0;
+-#if defined(cygwin)
++#if defined(cygwin) || defined(__NetBSD__)
+ ipi.ipi_addr.s_addr = srcip->s_addr;
+ #else
+ ipi.ipi_spec_dst.s_addr = srcip->s_addr;
+@@ -302,7 +302,7 @@ int netsnmp_udpbase_sendto(int fd, struc
+
+ memset(&ipi, 0, sizeof(ipi));
+ ipi.ipi_ifindex = if_index;
+-#if defined(cygwin)
++#if defined(cygwin) || defined(__NetBSD__)
+ ipi.ipi_addr.s_addr = INADDR_ANY;
+ #else
+ ipi.ipi_spec_dst.s_addr = INADDR_ANY;
--
ryo shimizu
Home |
Main Index |
Thread Index |
Old Index