--- Begin Message ---

> On Mar 30, 2020, at 10:24 AM, Francois-Xavier Le Bail 
> <devel.fx.leb...@orange.fr> wrote:
> 
> Hi Guy,
> 
> We have:
> $ git grep -n '"tcpdump"'
> netdissect.c:72:        smiInit("tcpdump");
> 
> netdissect.c is a part of libnetdissect.
> 
> Should we use
> smiInit("libnetdissect");
> or something else to separate the lib and the tool ?

The man page at

        https://www.ibr.cs.tu-bs.de/projects/libsmi/smi_config.html

says:

        int smiInit(const char *tag);

                ...

        The smiInit() function should be the first SMI function called in an 
application.  It initializes its internal structures. If tag is not NULL, the 
global configuration file and (on UNIX systems) a user configuration file are 
read implicitly, if existent.  All global statements and those statements with  
a tag (a ``tag: '' prefix) that matches the tag argument are executed.  (see 
also CONFIGURATION FILES below).  

I don't know if anybody's actually *using* that particular libsmi feature, but 
smiInit has been called with "tcpdump" as an argument since at least tcpdump 
0.7.  For what it's worth, the configuration file example they give in the man 
page *does* have a "tcpdump:" statement in it:

        Example configuration:

          #
          # $HOME/.smirc
          #

         # add a private directory
          path :/usr/home/strauss/lib/mibs

         # don’t show any errors by default
          level 0

         # preload some basic modules
          load SNMPv2-SMI
          load SNMPv2-TC
          load SNMPv2-CONF

         # want to make smilint shout
          smilint: level 8

         # but please don’t claim about
          # any names longer than 32 chars
          smilint: hide namelength-32

         tcpdump: load DISMAN-SCRIPT-MIB

         smiquery: load IF-MIB
          smiquery: load DISMAN-SCRIPT-MIB

so there might be some who have "tcpdump:" statements in libsmi configuration 
files.

So either

        1) we should consider leaving "tcpdump" there

or

        2) we should make the tag an argument to nd_init and pass it "tcpdump" 
from tcpdump

although the latter means that any new program using libnetdissect might 
dissect SNMP packets differently from tcpdump, whether that's a bug or a 
feature.

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to