On Thu, Sep 05, 2002 at 07:21:12AM +0930, Richard Sharpe wrote:
> I want to be able to list the names of OIDs or the comments next to them,
> rather than just the raw OID, since OIDs can be hard to understand, unless
> you are very familar with them.
What might be nice would be to have either
1) a library
or
2) code in Ethereal itself
that could read at least a subset of the ASN.1 description format
sufficient for information base files, and could translate OIDs to names
and could format the values of variables defined in those files.
I say "information base" rather than "management information base" or
"MIB" as I'd like it to be able to read COPS policy information base
information (see RFC 3084) as well, so the COPS dissector could use it
rather than having some knowledge hard-wired into it.
Ideally, that code would know *nothing whatsoever* about SNMP, so that
it doesn't drag in a pile of other libraries not needed for the purpose
of interpreting ASN.1 descriptions (e.g., the crypto library that the
UCD SNMP library requires on some platforms; that requirement causes all
sorts of pain for people building from source on those platforms, as the
configure script doesn't automatically try to find that library).
Given code like that, it might be possible to supply ASN.1 files giving
the names corresponding to those OIDs, which would mean that, even for
OIDs *not* registered for dissectors, we could at least say "this is the
'two people can keep a secret if one of them is dead' authentication
mechanism" even if we can't dissect its authentication blobs.
(I'd personally prefer to have the code in Ethereal itself, as
1) that way, you don't have another library you need in order to
handle this;
2) we could supply our own MIB/PIB/etc. files and not be
dependent on what some other package has.
That does require it to have a license that permits it to be distributed
as part of a GPLed application, though.)