cederberg / mibble

Mibble is an open-source SNMP MIB parser library for Java.
https://www.mibble.org/
Other
113 stars 68 forks source link

MibLoaderException when mibble load mib file #16

Closed wsliou closed 10 years ago

wsliou commented 10 years ago

Hello I got a issue while loading mib files. MibLoaderException getLog show error: undefined symbol 'none'

The mib file can download from here http://nickos.free.fr/MIB/Switch/ECS4610-24F/ECS4610-24F_V1.2.2.1.mib

Below is detail console error message

MibLoaderException occurred!! Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1267: missing import for 'Counter64', using definition from SNMPv2-SMI

portInOctetRate     Counter64,
                    ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1268: missing import for 'Counter64', using definition from SNMPv2-SMI

portInPacketRate    Counter64,
                    ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1270: missing import for 'Counter64', using definition from SNMPv2-SMI

portOutOctetRate    Counter64,
                    ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1271: missing import for 'Counter64', using definition from SNMPv2-SMI

portOutPacketRate   Counter64,
                    ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1286: missing import for 'Counter64', using definition from SNMPv2-SMI

    SYNTAX      Counter64
                ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1293: missing import for 'Counter64', using definition from SNMPv2-SMI

    SYNTAX      Counter64
                ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1308: missing import for 'Counter64', using definition from SNMPv2-SMI

    SYNTAX      Counter64
                ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 1315: missing import for 'Counter64', using definition from SNMPv2-SMI

    SYNTAX      Counter64
                ^

Error: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 13013: undefined symbol 'none'

DEFVAL { none }
         ^

Error: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 13648: undefined symbol 'none'

DEFVAL { none }
         ^

Warning: in /home/ubuntu/mibs/ECS4610-24F_V1.2.2.1.mib: line 18541: missing import for 'ifOperStatus', using definition from IF-MIB

              ifOperStatus,
              ^

Is this mib file invalid or this is a loader bug?

cederberg commented 10 years ago

There are two errors in the MIB file (as reported above) + a number of warnings. The problematic definitions are the following:

ospfMultiProcessIfAuthKey OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE (0..8))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The cleartext password used as an OSPF authentication key when
         simplePassword security is enabled.  This object does not access any
         OSPF cryptogaphic (e.g., MD5) authentication key under any
         circumstance.

         If the key length is shorter than 8 octets, th agent will left adjust
         and zero fill to 8 octets.

         Unauthenticated interfaces need no authentication key, and simple
         password authentication cannot us a key of more than 8 octets.

         Note that the use of simplePassword authentication is NOT recommended
         when there is concern regarding attack upon the OSPF system.
         SimplePassword authentication is only sufficient to protect against
         accidental misconfigurations because it re-uses cleartext passwords
         [RFC1704].

         When read, ospfIfAuthKey always returns an octet string of length zero.
         This is a private substitution for ospfIfAuthKey of RFC1253."
    DEFVAL { none }
    ::= { ospfMultiProcessIfEntry 16 }

and

ospfMultiProcessVirtIfAuthKey OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(0..8))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The cleartext password used as an OSPF authentication key when
         simplePassword security is enabled.  This object does not access any
         OSPF cryptogaphic (e.g., MD5) authentication key under any
         circumstance.

         If the key length is shorter than 8 octets, the agent will left adjust
         and zero fill to 8 octets.

         Unauthenticated interfaces need no authentication key, and simple
         password authentication cannot use a key of more than 8 octets.

         Note that the use of simplePassword authentication is NOT recommended
         when there is concern regarding attack upon the OSPF system.
         SimplePassword authentication is only sufficient to protect against
         accidental misconfigurations because it re-uses cleartext passwords.
         [RFC1704]

         When read, ospfVirtIfAuthKey always returns an octet string of length
         zero. "
    DEFVAL { none }
    ::= { ospfMultiProcessVirtIfEntry 9 }

The problem here is the DEFVAL part that refers to a value none that hasn't been defined either in the MIB itself or in one of the imports. I guess the proper value should be "" for an empty string here, but it is hard to guess.

Best solution is probably to comment out the DEFVAL part for now and request a corrected MIB file from the equipment vendor.

wsliou commented 10 years ago

OK i got the point. Thanks for your quick reply. :+1: