Blame TODO

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