ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Ethereal-dev: [Ethereal-dev] Re: [PATCH] Make Net-SNMP Optional for VC++ Build

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: Sat, 05 Jun 2004 07:38:11 -0700
>>>>> On Sat, 05 Jun 2004 14:43:35 +0200, Thomas Anders <thomas.anders@xxxxxxxxxxxxx> said:

Thomas> 1. oid-to-name translation is important to anyone using SNMP,
Thomas> IMHO. Dropping/reducing this functionality is the worst option.

Yep.  You could do it, but note that you loose the ability to get
index translation beyond that (which I'm not sure you're using or
not...)  Net-SNMP doesn't just translate OIDs to a name, it also
translates the indexes beyond that point and are encoded in the OID
(which can be a pain to translate, as its frequently 1 letter per oid
spot and you must have knowledge of the MIB table (IE, know what the
indexes are) in order to decode it properly...)

Thomas> 2. oid-to-name translation based on MIB parsing is complex
Thomas> and cannot easily be replaced by a flat oid-name table.
Thomas> E.g. tables in MIBs require special handling and types matter.

Zigactly.

Thomas> 3. Many people use (different) private MIBs that will never
Thomas> be shipped with Ethereal and need a way to add them.

You definitely want to be able to do this.  That being said, I can
give you a perl script that will produce a flat file from a MIB in
about 4 lines of code (making use of Net-SNMP's perl module of
course).  However, you'd still loose the ability to deal with indexes
and would require people to have the tool around if they wanted to
extract their own things.

Thomas> That said, I'd love to hear Wes' opinion on the best way out of this.

1) Refuse to link against Net-SNMP if it was linked against -lcrypto.
   A test for this is trivial.  In fact it's so easy, I'll give you a
   patch (below).

2) Use libsmi

3) drop snmp oid support entirely (boo)

-- 
Wes Hardaker
Sparta
Index: configure.in
===================================================================
RCS file: /cvsroot/ethereal/configure.in,v
retrieving revision 1.264
diff -u -r1.264 configure.in
--- configure.in	26 May 2004 12:08:15 -0000	1.264
+++ configure.in	5 Jun 2004 14:38:04 -0000
@@ -674,6 +674,10 @@
 	dnl other choices for flags to use here: could also use
 	dnl --prefix or --exec-prefix if you don't want the full list.
 
+	if net-snmp-config --libs | grep lcrypto > /dev/null ; then
+		AC_MSG_ERROR([Can not compile against Net-SNMP's library when it is linked with the OpenSSL libcrypto library due to restrictive GPL license issues.  Please either remove this functionality from Net-SNMP's libraries (--without-openssl) or remove the desire to link against it from ethereal (--without-net-snmp)])
+	fi
+
 	#
 	# Save the current settings of CFLAGS and CPPFLAGS, and add
 	# the output of "$NETSNMPCONFIG --cflags" to it, so that when