Ethereal-users: [Ethereal-users] Re: updated net-snmp/ethereal patch
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Wes Hardaker <wjhns36@xxxxxxxxxxxxx>
Date: Wed, 23 Oct 2002 07:55:03 -0700
>>>>> On Tue, 22 Oct 2002 20:50:16 -0700, Wes Hardaker <wjhns36@xxxxxxxxxxxxx> said: Guy> asn1.h - defines "subid_t" as a "gulong" if HAVE_UCD_SNMP is Guy> defined and as a "guint" otherwise; does Net-SNMP define an OID Guy> as a sequence of "unsigned long"s or as a sequence of "unsigned Guy> int"s? Ok, how's this for another wack at it. Untested with ucd-snmp and on windows, but should be ok (then again, I said that last time). And hopefully with glib. -- Wes Hardaker Network Associates Laboratories
? config.out
? ethereal-net-snmp.patch
? new-configure.patch
? testcpp
Index: acconfig.h
===================================================================
RCS file: /cvsroot/ethereal/acconfig.h,v
retrieving revision 1.26
diff -u -r1.26 acconfig.h
--- acconfig.h 2002/10/22 20:06:15 1.26
+++ acconfig.h 2002/10/23 14:53:12
@@ -49,3 +49,8 @@
#undef HAVE_UCD_SNMP
#undef PLUGIN_DIR
+
+@BOTTOM@
+#if defined(HAVE_NET_SNMP) || defined(HAVE_UCD_SNMP)
+#define HAVE_SOME_SNMP
+#endif
Index: asn1.h
===================================================================
RCS file: /cvsroot/ethereal/asn1.h,v
retrieving revision 1.10
diff -u -r1.10 asn1.h
--- asn1.h 2002/08/28 21:00:05 1.10
+++ asn1.h 2002/10/23 14:53:13
@@ -90,8 +90,8 @@
* "config.h", to get the right #defines defined, so that we properly
* typedef "subid_t".
*/
-#if defined(HAVE_UCD_SNMP)
-typedef gulong subid_t; /* UCD SNMP */
+#if defined(HAVE_SOME_SNMP)
+typedef gulong subid_t; /* Net-SNMP or UCD SNMP */
#else
typedef guint subid_t; /* CMU SNMP, libsmi, or nothing */
#endif
Index: configure.in
===================================================================
RCS file: /cvsroot/ethereal/configure.in,v
retrieving revision 1.184
diff -u -r1.184 configure.in
--- configure.in 2002/10/23 03:54:04 1.184
+++ configure.in 2002/10/23 14:53:13
@@ -574,24 +574,33 @@
dnl search for it
AC_PATH_PROG(NETSNMPCONFIG,net-snmp-config)
else
- ac_cv_prog_NETSNMPCONFIG=$netsnmpconfig
- if test ! -x $ac_cv_prog_NETSNMPCONFIG ; then
- AC_MSG_ERROR(Invalid net-snmp-config: $ac_cv_prog_NETSNMPCONFIG)
+ NETSNMPCONFIG=$netsnmpconfig
+ if test ! -x $NETSNMPCONFIG ; then
+ AC_MSG_ERROR(Invalid net-snmp-config: $NETSNMPCONFIG)
fi
fi
fi
-if test "x$ac_cv_prog_NETSNMPCONFIG" != "xno" -a "x$ac_cv_prog_NETSNMPCONFIG" != "x" -a -x "$ac_cv_prog_NETSNMPCONFIG" ; then
+if test "x$NETSNMPCONFIG" != "xno" -a "x$NETSNMPCONFIG" != "x" -a -x "$NETSNMPCONFIG" ; then
dnl other choices for flags to use here: could also use
dnl --prefix or --exec-prefix if you don't want the full list.
- CFLAGS="$CFLAGS `net-snmp-config --cflags`"
- CPPFLAGS="$CPPLAGS `net-snmp-config --cflags`"
- SNMP_LIBS=`net-snmp-config --libs`
-
- # XXX: make sure we can find net-snmp/net-snmp-config.h
- # XXX: make sure we can find net-snmp/net-snmp-includes.h
- AC_DEFINE(HAVE_NET_SNMP)
- AC_MSG_RESULT(yes (net-snmp))
+
+ AC_CHECK_HEADERS(net-snmp/net-snmp-config.h net-snmp/library/default_store.h)
+ if test "x$ac_cv_header_net_snmp_net_snmp_config_h" = "xyes" -a "x$ac_cv_header_net_snmp_library_default_store_h" = "xyes" ; then
+ CFLAGS="$CFLAGS `net-snmp-config --cflags`"
+ CPPFLAGS="$CPPLAGS `net-snmp-config --cflags`"
+ SNMP_LIBS=`net-snmp-config --libs`
+ AC_DEFINE(HAVE_NET_SNMP)
+ AC_MSG_RESULT(yes (net-snmp))
+ else
+ # technically, we should retry ucd-snmp but it's
+ # unlikely they have installed net-snmp-config and not
+ # the net-snmp headers but do have the ucd-snmp
+ # headers. This would likely be a broken system to
+ # try and use anyway.
+ NETSNMPCONFIG="no"
+ AC_MSG_RESULT(no)
+ fi
else
if test "x$want_ucdsnmp" = "xno" ; then
AC_MSG_RESULT(no)
@@ -771,7 +780,7 @@
zlib_message="yes"
fi
-if test "x$ac_cv_prog_NETSNMPCONFIG" != "xno" -a "x$ac_cv_prog_NETSNMPCONFIG" != "x" -a -x "$ac_cv_prog_NETSNMPCONFIG" ; then
+if test "x$NETSNMPCONFIG" != "xno" -a "x$NETSNMPCONFIG" != "x" -a -x "$NETSNMPCONFIG" ; then
snmp_libs_message="yes (net-snmp)"
elif test "x$SNMP_LIBS" = "x" ; then
snmp_libs_message="no"
Index: packet-snmp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-snmp.c,v
retrieving revision 1.97
diff -u -r1.97 packet-snmp.c
--- packet-snmp.c 2002/10/22 20:06:15 1.97
+++ packet-snmp.c 2002/10/23 14:53:14
@@ -53,11 +53,10 @@
#include "etypes.h"
#include "packet-ipx.h"
-#if defined(HAVE_UCD_SNMP) || defined(HAVE_NET_SNMP)
-#define HAVE_SOME_SNMP
#ifdef HAVE_NET_SNMP
# include <net-snmp/net-snmp-config.h>
-# include <net-snmp/net-snmp-includes.h>
+# include <net-snmp/mib_api.h>
+# include <net-snmp/library/default_store.h>
#else
# include <ucd-snmp/ucd-snmp-config.h>
# include <ucd-snmp/asn1.h>
@@ -73,6 +72,8 @@
# define NETSNMP_DS_LIB_NO_TOKEN_WARNINGS DS_LIB_NO_TOKEN_WARNINGS
# define NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY DS_LIB_PRINT_SUFFIX_ONLY
#endif
+
+#ifdef HAVE_SOME_SNMP
/*
* Define values "sprint_realloc_value()" expects.
*/
Index: tethereal.c
===================================================================
RCS file: /cvsroot/ethereal/tethereal.c,v
retrieving revision 1.162
diff -u -r1.162 tethereal.c
--- tethereal.c 2002/10/23 03:49:10 1.162
+++ tethereal.c 2002/10/23 14:53:15
@@ -314,7 +314,7 @@
#ifdef WIN32
WSADATA wsaData;
-# ifdef HAVE_UCD_SNMP
+# ifdef HAVE_SOME_SNMP
char *mib_path;
# define MIB_PATH_APPEND "\\snmp\\mibs"
# endif /* HAVE_UCD_SNMP */
@@ -433,16 +433,24 @@
g_string_append(comp_info_str, ", without libz");
#endif /* HAVE_LIBZ */
-/* Oh, this is pretty */
+/* Oh, this is pretty. */
+/* Oh, ha. you think that was pretty. Try this:! --Wes */
+#ifdef HAVE_SOME_SNMP
#ifdef HAVE_UCD_SNMP
- g_string_append(comp_info_str, ", with UCD SNMP ");
+ g_string_append(comp_info_str, ", with UCD-SNMP ");
#ifdef HAVE_UCD_SNMP_VERSION_H
g_string_append(comp_info_str, VersionInfo);
#else /* HAVE_UCD_SNMP_VERSION_H */
g_string_append(comp_info_str, "(version unknown)");
#endif /* HAVE_UCD_SNMP_VERSION_H */
+#endif /* HAVE_UCD_SNMP */
+
+#ifdef HAVE_NET_SNMP
+ g_string_append(comp_info_str, ", with Net-SNMP ");
+ g_string_append(comp_info_str, netsnmp_get_version());
+#endif /* HAVE_NET_SNMP */
#else /* no SNMP library */
- g_string_append(comp_info_str, ", without UCD SNMP");
+ g_string_append(comp_info_str, ", without Net-SNMP");
#endif
/* Now get our args */
@@ -813,7 +821,7 @@
/* Start windows sockets */
WSAStartup( MAKEWORD( 1, 1 ), &wsaData );
-# ifdef HAVE_UCD_SNMP
+# ifdef HAVE_SOME_SNMP
/* Set MIBDIRS so that the SNMP library can find its mibs. */
/* XXX - Should we set MIBS or MIBFILES as well? */
- Follow-Ups:
- Re: [Ethereal-users] Re: updated net-snmp/ethereal patch
- From: Guy Harris
- Re: [Ethereal-users] Re: updated net-snmp/ethereal patch
- References:
- [Ethereal-users] updated net-snmp/ethereal patch
- From: Wes Hardaker
- Re: [Ethereal-users] updated net-snmp/ethereal patch
- From: Guy Harris
- [Ethereal-users] Re: updated net-snmp/ethereal patch
- From: Wes Hardaker
- [Ethereal-users] updated net-snmp/ethereal patch
- Prev by Date: [Ethereal-users] Re: updated net-snmp/ethereal patch
- Next by Date: [Ethereal-users] Problem with Ethereal.
- Previous by thread: [Ethereal-users] Re: updated net-snmp/ethereal patch
- Next by thread: Re: [Ethereal-users] Re: updated net-snmp/ethereal patch
- Index(es):





