o libsmi crashes on LIBSMI-TEST-010-MIB because it mixes up range, size and named number restrictions internally so that later these data structures are casted to the wrong type. A real fix to this problem may require to redesign internal data structures to get rid of the opaque list. o libsmi crashes on LIBSMI-TEST-011-MIB which contains a nice set of nasty forward references. o error detection: detect IMPORTs of SMIv1 specific and SMIv2 specific items in the same module, e.g. old OBJECT-TYPE macro and (new) NOTIFICATION-TYPE macro. o error detection: does table node have exactly one row sub node with oid == 1? (2578.7.10) o warning detection: non continuous sub oids in column node list? o warning detection: not reversible DISPLAY-HINT definitions o remove SMI_DECL_IMPL_SEQUENCEOF from smi.h: the smiv1/smiv2 parser should keep internal data structures for sequence types so that it can set the correct nodekinds and that it can check the SEQUENCE contents (see previous item). these internal data structures can be released at the end of a MIB module. o warning detection: enumerations SHOULD NOT contain signedNumber's. SHOULD start at 1. SHOULD be numbered contiguously. e.g. DISMAN-SCHEDULE-MIB.SnmpPduErrorStatus o warning detection: subtyping not allowed for counter or timeticks o warning detection: defvals not allowed for counter o warning detection: missing display hints for OCTET STRING derived types o parser-smi.y: handle forbidden WS at some places ( Module . label, ...) o dump-sming.c: ensure an order without forward references in typedef's. o dump-sming.c: support all(!) kinds of index clauses o smi.c: smiGetNames() is not yet implemented. do we really need it? o thread safety (global vars? static vars? strtok() and other funcs?) different views o need a handle to distinguish different views. o clearly separate language dependent information at the API: SMI_STATUS_* map STATUS to a non-language-dependent type o OID/Name Lookup Service (continue work on smid?) o how to convert SMIng types derived from other defined types correctly to SMIv2? o various dump modules don't print identifiers fully qualified where appropriate o Web online conversion to SMIng? o special handling for well-known traps (reversibility?) o smidump -f smiv1 now prints read AUGMENTS clauses as index lists correctly but these index objects might not be imported. o smidump might print defvals for OIDs by label without importing it. o line breaks in long bits defaults values (dump-*.c) o Add smiGetFirstChildType(SmiType *smiType) and smiGetNextChildType(SmiType *smiType) to the API. o Make sure we always get the newest definition when looking up things that are not unique. o The SMIv1/SMIv2/SMIng dump modules should build proper IMPORTS for OIDs that show up in DEFVAL or default clauses. o The default value conversion functions (e.g. getValueString()) should return malloced memory to avoid potential memory overwrite problems. o Suppress the following types: SNMPv2-SMI::ExtUTCTime, SNMPv2-SMI::ObjectName, SNMPv2-SMI::NotificationName. o Check format specifier text in SMIng spec and add a `u' format specifier for unsigned numbers. o smidump -f tree -u IF-MIB SNA-SDLC-MIB vs. smidump -f tree -u SNA-SDLC-MIB IF-MIB : e.g. ifEntry differences. o rename test modules: TUBS-IBR prefix. o make libsmi aware of annotations (when SMIng supports annotations). o sming: in rule `refinedBaseType -> EnumerationKeyword optsep namedNumberSpec' the `optsep' has to be inserted. o sming: in rule `refinedBaseType -> BitsKeyword optsep namedNumberSpec' the `optsep' has to be inserted. o sming: ensure enum namedNumbers can be signed and bits namedNumbers cannot. o split the library into wo layers: (a) a lower layer that is very restrictive on allowed input, does not care about memory management, etc. and (b) a higher layer of utility functions, like display-hint based value formatting, oid-to-instance-element parsing, constant-to-string mappings, etc. o extend smicache so that MIB authors can use it to submit URLs for their MIBs to a central MIB http/ftp service? Ask Aiko, whether the SimpleWeb should offer such a MIB service? o Allow the MIB server to support lookup by OID. o Is there any value in MIB-by-OID lookup through DNS? ;-) o Include documents (draft on xml, etc.) with the distribution. o X.208, section 28 allows different forms of OID values. Some of them are not accepted by the parser. Note also that the SMIv1 ENTERPRISE construct contains an OID value, although it's common practice to specify its value in a plain identifier name form, which is not matched by the ASN.1 OID syntax. o Check the code for OID allocations of a constant length (128). Avoid wasting memory. Avoid problems with OIDs that are (illegally) too long. o Check, whether all necessary occurences of &, <, >, ', and &qout; are handled correctly in dump-xml and dump-xsd. o smidiff does not yet support the -i option, like smilint does. o error detection: different types in SEQUENCE and OBJECT-TYPE macros (recognized for a MIB where the SEQUENCE contains "INTEGER" for a column for which the OBJECT-TYPE's type is SNMPv2-TC::TruthValue. Notify Bert when fixed. o error detection: integer DEFVAL for an enumeration typed OBJECT-TYPE. Notify Bert when fixed. o API: several applications need a mechanism to iterate through the index components of a row definition, e.g. many of the dump-* drivers. For example, see dump-scli.oc: foreachIndexDo(). Maybe something like smiGetFirstIndex()/smiGetNextIndex() would be a good idea. o API/Utility Functions: getMinSize()/getMaxSize() is needed by multiple smidump drivers. See dump-scli.c for a good implementation. o generate a warning if a module is listed multiple times in the imports and if a symbol is imported twice (Dave Perkins)