Advent SNMP Package

Release Notes for Version 1.2

1. Changes from Version 1.1 to 1.2

  1. Automatic loading of modules from imports clause has been added. In the 1.0.3 version the user has to load the modules one by one. In order for this to work, the module file name should be same as what is used in the imports clause. In case of applets the directory where the mib files are there is specified using an applet parameter MIBS_DIR.
  2. The Callback method is called from a seperate thread. Now the application need not return from callback for the session receiver to receive subsequent responses. But for the callback method to be called again, the application should have returned from the callback.
  3. The callback method is now called during timeout too with a null pdu so that the application knows about timeouts.
  4. Changed MibNode.indexNames and MibTrap.variables to Vector from String.
  5. A new method MibModule.getNereastNode(long[] oid) has been added to get the nearest node for a numbered oid.
  6. A new method SnmpOID.getNereastNode(SnmpAPI api) has been added to get the nearest node from an SnmpOID object.
  7. More features are added to SAS server so that users can extend SAS with custom Java classes, which may include native methods.
  8. Added a way for the client to invoke custom Java functions on the server.
  9. Added more complete file system operation support, including providing complete path information, and creating and deleting directories and files on the server.
  10. Changed the way SAS is invoked so that SAS server can be used even when applet is not loaded through the webserver. i.e even when an applet is loaded through classpath it will attempt to use the SAS server.

The following bugs have been fixed in Version 1.2.

2. Changes from Version 1.0.3 to 1.1

  1. The nodeList variable in MibModule class has been made static. There will be only one MIB tree for all the mib modules parsed. There will be only one instance of a unique node in the nodeList tree. In 1.0.3, because of different nodeList trees for different mib module, the same node could be duplicated in more than one tree and this was causing some problems when more than one mib module was parsed.
  2. The allocation of 8k buffer to the data byte array in the SnmpSession receiver to store the received pdu is done only once for all the pdus for a particular session. A new allocation was done for each pdu being received in the 1.0.3 version. This gives better performance in high intensity applications.
  3. The copy() method in the SnmpPDU class has been made public so that API users can use that to copy pdus.
  4. The decode() method in the SnmpPDU class has been made public so that API users can directly call it to decode an existing byte stream and construct the pdu object.
  5. The byte[] data variable in SnmpPDU has been made public so that the API user can directly assign a byte stream or directly read the byte stream message.
  6. A new method get_encoded_length() has been added in the SnmpPDU class which returns the length of the pdu that has been encoded. This is useful when the user wants to know the number of varbinds a single pdu can be filled with.
  7. Adding callbacks for a received pdu has been made available for every session opened as well as for every api thread. This gives the flexibility for defining a different callback for each of the sessions opened.
  8. The receiver thread in the SnmpSession has been modified to recover from the IO exception thrown when receiving through the SASClient. In 1.0.3, the receiver simply stops the thread and aborts the session.
  9. The indexNames variable in the MibModule class has been converted from String to Vector.
  10. The access clause variable constants like RONLY in SnmpAPI class have been made public.
  11. The modifiers of some of the variables and methods in the MibMacro and the MibModule class has been changed from default to protected. But this will not affect the API user and these variables and methods are anyway not used by the user directly.

The following bugs have been fixed in Version 1.1.

3. Changes from Version 1.0.2 to 1.0.3

  1. SNMP Applet Server (SAS) performance has been much improved, and is now close to the same response times of local sockets.
  2. API handling of request IDs has been improved to further reduce the possibility of conflict with users re-using and incrementing request IDs. A pseudo-random value is being used, rather than simply incrementing the initial random value. A genReqID() method has been added for this, and to enable users to get unique IDs for themselves if needed.
  3. Printing of SnmpIpAddress is improved to remove the problem caused by using the java.net.InetAddress toString(), which often prints the IP address twice.
  4. New methods have been added to the SnmpCounter class to make it easier to work with counter increments.
  5. New methods have been added to get integer and long values more easily from SnmpInt, SnmpGauge, SnmpCounter and SnmpTimeticks.
  6. New methods have been added to help with printing and displaying SNMP variables. A toByteString() method has been added to SnmpString to print octet strings. Two methods have been added to SnmpInt to print enumerated integers.
  7. Printing of PDU variable bindings has been enhanced to print byte strings for PhysAddress types (mib-2, or only if required MIB is loaded), and enumerated integers.
  8. A toShortString() method has been added to SnmpOID to print label.instance values instead of the complete OID. Two methods have been added to SnmpInt to print enumerated integers.
  9. The SNMP error constants have been made public in SnmpAPI and better documented in the SnmpException documentation, to make intrepreting SNMP exceptions easier.
  10. MIB parsing performance has been improved, particularly for MIBs loaded over the network.

The following bugs have been fixed in Version 1.0.3.

4. Changes from Version 1.0 to 1.0.2

Aside from bug fixes, only one library enhancement has been made in Version 1.0.2. These is a new method in the SASClient class called appendFile() that allows for appending data to files on the web server. Corresponding changes have been made in the SAS.

5. Changes from the Beta Release to 1.0.2

6. Package Features

7. Known Bugs

8. Limitations