Major rewrite of python-agentx's internal variable handling
Previously, python-agentx suffered from two defects:
- the order in which variables were registered mattered because it was used
to manually determine a "next OID" ordering for snmpwalk. This was neither
documented nor is it correct, because the "next OID" is always the next OID
that has retrievable data attached to it (See RFC
- for this reason, one also could not register OIDs that have no values attached
to them but must be registered anyway since once can feed ANY OID in a MIB
to snmpget/snmpgetnext/snmpwalk and the agent must be able to deal with it.
This modified version implements the lexicographic ordering demanded by the RFCs.
When a new variable is registered, the module automatically takes care of maintaining
the "next OID" links by comparing the numeric OIDs as documented in the appropriate
MIB.
Also did some cleanup with regard to variable names and functions: oidOID_t -> oidList_t.
strOID_t -> oidStr_t, ReadOID -> ParseOID, ReadTOID -> GetTextualOID (fixed this one as
well, didn't work before), new functionGetNumericalOID.
Patch that ensures lexicographic ordering