---------------------------------------------------------------------- changes.txt ---------------------------------------------------------------------- jSNMP Enterprise(tm) 3.2 Copyright (c) 2003-2005 jSNMP Enterprises All Rights Reserved ---------------------------------------------------------------------- -------- CONTENTS -------- This document describes the changes between the various releases of jSNMP Enterprise. It is divided into the following sections: - Changes from jSNMP Enterprise 3.2.4 to jSNMP Enterprise 3.2.5 - Changes from jSNMP Enterprise 3.2.3 to jSNMP Enterprise 3.2.4 - Changes from jSNMP Enterprise 3.2.2 to jSNMP Enterprise 3.2.3 - Changes from jSNMP Enterprise 3.2.1 to jSNMP Enterprise 3.2.2 - Changes from jSNMP Enterprise 3.2 to jSNMP Enterprise 3.2.1 - Changes from jSNMP Enterprise 3.1.1 to jSNMP Enterprise 3.2 - Changes from jSNMP Enterprise 3.1 to jSNMP Enterprise 3.1.1 - Changes from jSNMP Enterprise 3.03 to jSNMP Enterprise 3.1 - Changes from jSNMP Enterprise 3.02 to jSNMP Enterprise 3.03 - Changes from jSNMP Enterprise 3.01 to jSNMP Enterprise 3.02 - Changes from jSNMP Enterprise 3.0 to jSNMP Enterprise 3.01 - Changes from jSNMP Enterprise 2.01 to jSNMP Enterprise 3.0 - Changes from jSNMP Enterprise 2.0 to jSNMP Enterprise 2.01 - Changes from jSNMP Enterprise 1.01 to jSNMP Enterprise 2.0 - Changes from jSNMP Enterprise 1.0 to jSNMP Enterprise 1.01 ====================================================================== Changes from jSNMP Enterprise 3.2.4 to jSNMP Enterprise 3.2.5 ---------------------------------------------------------------------- jSNMP Enterprise 3.2.5 is a minor point release. The following summarizes the most significant change present in jSNMP Enterprise 3.2.5: ______________________ Informs - informs are now returned from the correct port; SNMPv2 informs are returned with the correct community. ====================================================================== Changes from jSNMP Enterprise 3.2.3 to jSNMP Enterprise 3.2.4 ---------------------------------------------------------------------- jSNMP Enterprise 3.2.4 is a minor point release. The following summarizes the most significant changes present in jSNMP Enterprise 3.2.4: ______________________ USMSecurityModel class - the constructor now limits its EngineID to 32 bytes maximum. Previous versions could create an EngineId larger than 32 bytes which caused a problem with one SNMP agent. _________________________ SimpleMIBDictionary class - the resolveNameAbstractType() and resolveOIDAbstractType() methods now return the proper abtract type instead of "INTEGER" for enumerated objects. _________________________ SimpleMIBDictionary class - improved the performance of the resolveOIDXXX() methods. _________________________________________________________________ SnmpV1WalkerTest, SnmpV2WalkerTest, and SnmpV3WalkerTest examples - updated to use loaded MIBs like the SnmpV1GetSysInfo example. _____________________________________________________________ SnmpV2TrapListenerApplet and RmiV2TrapListenerApplet examples - updated to listen for Informs as well; renamed to SnmpV2TrapInformListenerApplet and RmiV2TrapInformListenerApplet respectively. ====================================================================== Changes from jSNMP Enterprise 3.2.2 to jSNMP Enterprise 3.2.3 ---------------------------------------------------------------------- jSNMP Enterprise 3.2.3 is a minor point release. The following summarizes the most significant change present in jSNMP Enterprise 3.2.3: _____ jMIBC - jMIBC is now built with version 3.2 of JavaCC; previous versions used version 2.0. ====================================================================== Changes from jSNMP Enterprise 3.2.1 to jSNMP Enterprise 3.2.2 ---------------------------------------------------------------------- jSNMP Enterprise 3.2.2 is a minor point release. The following summarizes the most significant change present in jSNMP Enterprise 3.2.2: _____ jSNMP Enterprise and jMIBC - jSNMP Enterprises has acquired the rights to jSNMP Enterprise and jMIBC; thus all documentation, licenses, etc. are updated to reflect the new ownership. ====================================================================== Changes from jSNMP Enterprise 3.2 to jSNMP Enterprise 3.2.1 ---------------------------------------------------------------------- jSNMP Enterprise 3.2.1 is a minor point release. The following summarizes the most significant change present in jSNMP Enterprise 3.2.1: _____ jMIBC - jSNMP Enterprises' Java MIB compiler uses the correct path separator under UNIX and Windows. ====================================================================== Changes from jSNMP Enterprise 3.1.1 to jSNMP Enterprise 3.2 ---------------------------------------------------------------------- jSNMP Enterprise 3.2 is a point release which provides some additional features and addresses several minor issues. The following summarizes the most significant changes present in jSNMP Enterprise 3.2: _____ jMIBC - jSNMP Enterprises' Java MIB compiler now produces dictionary files that include an object's description, type, access, and status. __________________________________ jMIBC and ParsingException classes - these classes were introduced allowing the user to compile and load MIBs into a SNMPMIBDictionary at runtime without going through the intermediate step of using jSNMP Enterprises' Java MIB compiler to produce loadable dictionary files. _________________________________________________ SNMPMIBDictionary and SimpleMIBDictionary classes - the resolveNameDescription() and resolveOIDDescription() methods were introduced to retrieve the description of a given object name/OID; the resolveNameType() and resolveOIDType() methods were introduced to retrieve the type of a given object name/OID; the resolveNameAccess() and resolveOIDAccess() methods were introduced to retrieve the access of a given object name/OID; the resolveNameStatus() and resolveOIDStatus() methods were introduced to retrieve the status of a given object name/OID; the resolveNameAbstractType() and resolveOIDAbstractType() methods were introduced to retrieve the 'abstract' type of a given object name/OID. ________________________ SnmpV1GetSysInfo example - this example has been modified to compile and load a MIB at runtime rather than load a compiled dictionary file at runtime. It illustrates the use of the new jMIBC.loadMib() method and SNMPMIBDictionary retrieval methods described above. The example uses the included MIB file, HOST-RESOURCES-MIB.my, and its included dependency files (IANAifType-MIB.my, IF-MIB.my, SNMPv2-CONF.my, SNMPv2-MIB.my, SNMPv2-SMI.my, SNMPv2-TC.my) to query a SNMP agent that instruments the HOST-RESOURCES-MIB, such as the RedHat Linux SNMP agent. The dictionary file rfc2233.jmib is no longer included. _________________ SnmpService class - three new trap/inform sending methods, placeV1TrapOrder() and the overloaded methods placeTrapOrder() and placeInformOrder(), have been added. They are identical to the original placeTrapOrder() and placeInformOrder() methods, except the placeV1TrapOrder() method is specific to SNMPV1 and allows the caller to specify the agent address and timestamp, the overloaded placeTrapOrder() method is specific to SNMPV1/2 and allows the caller to specify the timestamp, and the overloaded placeInformOrder() method is specific to SNMPV2/3 and allows the caller to specify the timestamp. They also now allow an iTrapNum argument of 0. ___________________________________________________________________ RmiV1TrapSenderApplet, SnmpV1TrapSenderApplet, SnmpV1TrapSenderTest - these examples were modified to allow the user to specify a sender's address and time stamp via the new SnmpService.placeV1TrapOrder() method. ____________________ jsnmp.loadRFC1213MIB - introduced system configuration option that flags whether the RFC1213 MIB will be loaded by the SimpleMIBService. The SimpleMIBService will use less memory with this option disabled. By default this option is enabled to be backwards compatible with previous versions. ________________________ CERT Advisory CA-2002-03 - out of the 24,098 applicable tests in this advisory, the previous version of jSNMP failed one test with an unhandled NegativeArraySizeException. This exception is now handled correctly. For more information regarding this advisory, see http://www.cert.org/advisories/CA-2002-03.html. _______________ Countdown class - previously, the run() method created unnecessary objects. Though reclaimed during garbage collection, they caused intermittent increases in memory usage. The run() method no longer creates these unnecessary objects. _____________________ SnmpLoadingDock class - previously, the sendShipment() method was not returning false after catching an exception when an outgoing PDU exceeded the MTU size. This has been corrected. _____________________ SnmpTrapEvent class - previously, the getTimeStamp() returned an Integer value. It now returns a Long value. ____________________ PrintStreamLog class - previously, the log() method did not test for null messages being returned by the error and exception getMessage() method causing it to throw a NullPointerException. This has been corrected. ___________________ Stack traces in log - previously, stack traces were output along with a logged message during recoverable socket errors. Stack traces are no longer printed. ====================================================================== Changes from jSNMP Enterprise 3.1 to jSNMP Enterprise 3.1.1 ---------------------------------------------------------------------- jSNMP Enterprise 3.1.1 is a minor point release. The following summarizes the most significant changes present in jSNMP Enterprise 3.1.1: ________________________________ Support for non-ASCII code pages - non-ASCII code pages (EBCDIC, etc.) are now supported; certain methods and constructors with String parameters convert these parameters to internal byte[] members with "ASCII" conversion; also, these methods and constructors have been duplicated with those that take byte[] parameters. The following is a list of those methods and constructors and their arguments: 1. Interface SnmpAuthoritativeSessionFactory createRemoteAuthoritativeSession method a. ContextEngineID b. ContextName 2. Interface SnmpAuthoritativeSessionFactory createLocalAuthoritativeSession method a. ContextEngineID b. ContextName 3. Class CSMSecurityInfo constructor a. ReadCommunity b. WriteCommunity 4. Class USMSecurityInfo constructor a. UserName b. AuthenticationPassword c. PrivacyPassword 5. Class USMSecurityUtilities generateAuthKeyChangeValue method a. NewAuthenticationPassword 6. Class USMSecurityUtilities generatePrivKeyChangeValue method a. NewPrivacyPassword The following is a list of new methods used to retrieve these byte[] arguments: 1. Interface SnmpAuthoritativeSession a. byte[] getContextEngineIDBytes() method b. byte[] getContextNameBytes() method 2. Class CSMSecurityInfo a. byte[] getReadCommunityBytes() method b. byte[] getWriteCommunityBytes() method 3. Class USMSecurityInfo a. byte[] getserNameBytes() method b. byte[] getPrivPasswordBytes() method c. byte[] getAuthPasswordBytes() method ====================================================================== Changes from jSNMP Enterprise 3.03 to jSNMP Enterprise 3.1 ---------------------------------------------------------------------- jSNMP Enterprise 3.1 is a point release which provides some additional features and addresses several minor bugs. The following summarizes the most significant changes present in jSNMP Enterprise 3.1: _____ jMIBC - now include jSNMP Enterprises' Java MIB compiler for compiling SNMP MIBs for use by the jSNMP Enterprise SnmpMIBService interface. Since SNMP Object Identifiers (OID) are difficult to remember, users may prefer to make a SNMP request in a jSNMP Enterprise application with the name associated with an OID instead of the OIDs dotted decimal notation (e.g., ifAdminStatus.1 instead of 1.3.6.1.2.1.2.2.1.7.1). jMIBC takes a series of MIB files and produces a dictionary file that is used by the jSNMP Enterprise SnmpMIBService to translate OIDs to/from common names and to translate OID enumerated values. ___________________ SimpleMIBDictionary - the resolveOID() method now resolves OIDs with instance identifiers. For example, "ifInOctets.1" is returned by dict.resolveOID("1.3.6.1.2.1.2.2.1.10.1"). ______________ SnmpMIBService - the loadMIBs() method now throws an exception when loading an incorrectly formatted .jmib file. _______________ jsnmp.maxClerks - introduced system configuration option to allow the number of default clerks to be changed. The number of clerks specifies the maximum number of request OIDs that the system will pack in a request PDU. This does not affect 'atomic' and getBulk requests. __________________ jsnmp.cacheDisable - introduced system configuration option to allow the cache to be disabled. This option is recommended to improve performance in cases in which the cache is expected to be of little or no value. See the SnmpServiceConfiguration Javadocs for more information. ________________________________ SnmpTrapEvent.isGeneric() method - this method has been resurrected from jSNMP 2.X for convenience and is no longer deprecated. _____________________ SnmpTrapProfile class - added listTrapInformOIDs() method so that enterprise OIDs can be listed. ________ Examples - the SnmpV2GetBulkTableWalkerTest.java example has been added. It illustrates how to walk a table using Get-Bulk requests. __________________ Encryption failure - previously, within some encrypted request PDUs, the size could be incorrectly encoded. This caused one known SNMP agent to fail encrypted requests. The size is now correctly encoded in all cases. _________________ Discovery failure - previously, V3 discovery failed under certain circumstances. This caused one known SNMP agent to fail discovery. The discovery algorithm has been adapted to better handle various agent behavior. __________________________ Decoding and encoding OIDs - previously, the SnmpService would incorrectly encode OIDs less than 2 bytes in length. OIDs of all sizes are now correctly encoded. __________________________________________ OID limit in 'atomic' and getBulk requests - the previous limit of 25 objects in either an 'atomic' placeXXXOrder() or any placeBulkOrder() has been removed. _______________ SnmpTrapProfile - previously, depending on how the TrapProfile was configured, some traps may have been incorrectly filtered. The SnmpService now correctly handles all TrapProfile configurations. ____________________________________ jSNMP service fails when CORBA fails - the trap receiver no longer fails with a NullPointerException due to a CORBA communications error. ====================================================================== Changes from jSNMP Enterprise 3.02 to jSNMP Enterprise 3.03 ---------------------------------------------------------------------- jSNMP Enterprise 3.03 is a minor point release. The following summarizes the most significant changes present in jSNMP Enterprise 3.03: ________ Examples - the SnmpV2GetNextTableWalkerTest.java example has been added. It illustrates how to walk a table using Get-Next requests. __________________________________ Large number of Varbinds in orders - large OID arrays can now be used when placing non-atomic orders without generating an SnmpConstants.SNMP_ERR_TOOBIG error. ___________________________________ SnmpConstants.SNMP_ERR_TOOBIG error - now correctly retry non-atomic requests when an SnmpConstants.SNMP_ERR_TOOBIG error is received from the agent. ____________________________ jsnmp.ignoreV1V2PduSizeLimit - introduced system configuration option to allow SNMPv1/2 requests to be sent in PDUs larger than 484 bytes. ____________________________________________________ NullPointerException in SnmpLoadingDock run() method - under very heavy load conditions, a socket error could promulgate a NullPointerException in the SnmpLoadingDock run() method causing the SnmpService to stop. This behavior has be fixed. _________________________________________ Faster service recovery on socket failure - to better cope with Java VM compatibility issues on Windows 2000, the service will try to restart on the same port in order to recover outstanding requests. ____________________________________________________________________ Varbinds objects with incorrect types in Set or Trap/Inform requests - previously an exception was thrown; now a SnmpConstants.SNMP_ERR_UNSUPPORTED_TYPE error status is returned in the SnmpCustomer's deliverFailedOrder() method. ________________ Inform responses - now correctly send Inform responses to the proper port. ====================================================================== Changes from jSNMP Enterprise 3.01 to jSNMP Enterprise 3.02 ---------------------------------------------------------------------- jSNMP Enterprise 3.02 is a minor point release. The following summarizes the most significant changes present in jSNMP Enterprise 3.02: ________ Examples - two new examples have been added, SnmpV3GetSetGetNextApplet.java and SnmpV3KeyChangeTest.java. SnmpV3GetSetGetNextApplet.java illustrates how to make SNMPv3 Get/Get-Next/Set requests. SnmpV3KeyChangeTest.java illustrates how to update SNMPv3 authentication and privacy keys. ____________ USMUtilities - the methods generateAuthKeyChangeValue() and generatePrivKeyChangeValue() now throw an IllegalArgumentException if their cSnmpRemoteAuthoritativeSession argument is not a USM authoritative session. _____ Traps - invalid traps are now logged. ====================================================================== Changes from jSNMP Enterprise 3.0 to jSNMP Enterprise 3.01 ---------------------------------------------------------------------- jSNMP Enterprise 3.01 is a minor point release. The following summarizes the most significant change present in jSNMP Enterprise 3.01: __________________ Encryption failure - previously within encrypted request PDUs, there was an incorrect size encoded. This caused one SNMP agent to fail encrypted requests. Encrypted request PDUs are now correctly encoded. ====================================================================== Changes from jSNMP Enterprise 2.01 to jSNMP Enterprise 3.0 ---------------------------------------------------------------------- jSNMP Enterprise 3.0 is a new product release that replaces jSNMP Enterprise 2.x. The following summarizes the most significant changes present in jSNMP Enterprise 3.0: ___________________________ SNMPv1, SNMPv2c, and SNMPv3 - jSNMP now supports versions 1, 2c, and 3 of SNMP. Please note that many of the jSNMP 2.x methods have been deprecated. ________________________________________ SNMPv3 Encryption and SHA authentication - jSNMP supports DES encryption and SHA authentication in SNMPv3 requests. To support DES encryption and SHA authentication, a JCE (Java Cryptography Extension- http://java.sun.com/products/jce/index.html) must be installed. If the DES encryption and SHA authentication features of SNMPv3 are not used, a JCE is not required. A JCE is not required to support SNMPv3 MD5 authentication. ___________ mib Package - allows MIBs to be loaded. Requests (get, set, etc.) can then be made on object names in loaded MIBs rather than OIDs through the SnmpService class. The mib package is preloaded with definitions for MIB-II (RFC 1213) objects. As a usage example, "sysContact.0" can be used instead of the OID 1.3.6.1.2.1.1.4.0 in a SnmpService.placeGetNextOrder() request. ___________________________________________ Java Remote Method Invocation (RMI) support - jSNMP now allows remote client applications to access a jSNMP-based server application using the Java RMI distributed object mechanism. ___________________ Support for JDK 1.3 - jSNMP has been updated to support JDK 1.3. ___________ Trap Bursts - jSNMP is now able to handle sustained "bursts" of 100-400 or more incoming traps/informs per second without loss depending on the operating environment. ___ DNS - pains have been taken to avoid DNS lookup. Avoiding DNS lookup is especially important when making requests to remote machines not registered with DNS or when a DNS server is unavailable. The only time a DNS query will be made is when a logical name is used in making a query. To avoid DNS lookups, construct SnmpAuthoritativeSession classes with dotted quad strings (i.e., 123.123.123.123) instead of logical names for the szAgentAddress argument. ________________________________________ Map of SnmpConstants.ASN_IPADDRESS types - SnmpConstants.ASN_IPADDRESS VarBind types are now mapped to java.lang.String instead of java.net.InetAddress. ____________ Timeout loss - previously, heavy load conditions could produce a loss of timeouts; thus an order's SnmpCustomer deliverFailedOrder() method might never be called when a timeout occurred. This has been fixed. _________________ SnmpVarBind Class - the getStringValue() method now represents SnmpConstants.ASN_OPAQUE and SnmpConstants.ASN_OCTSTR types with "non-printable" bytes as a hex strings (i.e., "0xab,0x00,0x06"). "Non-printable" bytes are those that are greater than 0x7e or less than 0x20 in value excepting HT (0x09), CR (0x0d), and LF (0x0a). ___________________ SnmpTrapEvent Class - added the getSendersIPAddress() method to allow the retrieval of the actual sender's address. The getAgentIPAddress() method retrieves the address of the generator of the trap. These may not be the same, i.e., the getSendersIPAddress() may be a forwarder for the getAgentIPAddress(). _________________ SnmpService Class - almost all of the jSNMP 2.x methods have been deprecated. SnmpService now supports all SNMPv1 requests (get, get-next, and set) along with SNMPv2/3 requests (get-bulk and report). It also supports the sending of traps and informs and trap and inform registration. Requests are made with the new SnmpAuthoritativeSession class, which encapsulates the remote agent address, port, context name and engine ID (SNMPv3), and security information in the SnmpSecurityInfo class. The SnmpSecurityInfo class encapsulates the read and write communities (SNMPv1 and SNMPv2 community based security model) or the user name, authentication password, privacy password, authentication scheme, and security level (SNMPv3 user based security model). _____________________ SnmpTrapProfile Class - almost all of the jSNMP 2.x methods have been deprecated. SnmpTrapProfile now supports trap and inform filtering and uses the SnmpAuthoritativeSession class to filter specific agents. _____________________ Asn1InputStream Class - provided for implementers of future SNMPv3 security models, otherwise it should not be normally used in jSNMP applications. _____________________ SnmpAsn1Encoder Class - provided for implementers of future SNMPv3 security models, otherwise it should not be normally used in jSNMP applications. _____________ CORBA support - CORBA support is not offered for the SNMP v2/v3 functionality provided in the new jSNMP 3.0 APIs, however, for backward compatibility CORBA support is still provided for the now deprecated jSNMP 2.x methods. ___________________________________________ CORBASnmpClient and CORBASnmpServer Classes - the CORBASnmpClient.getSnmpService and CORBASnmpServer.getSnmpServiceIOR methods have been deprecated with the new CORBASnmpClient.getService and CORBASnmpServer.getServiceIOR methods, respectively. This was done to match the corresponding SnmpLocalInterfaces.getService method name. ====================================================================== Changes from jSNMP Enterprise 2.0 to jSNMP Enterprise 2.01 ---------------------------------------------------------------------- jSNMP Enterprise 2.01 is a minor point release. The following summarizes the most significant changes present in jSNMP Enterprise 2.01: ___________________ Support for JDK 1.2 - jSNMP has been updated to support JDK 1.2, including the use of the JDK 1.2 ORB. To ease the use of jSNMP's CORBA features with JDK 1.2, pre-compiled stubs and skeletons for the JDK 1.2 ORB are included in the distribution. Note that in order to use another ORB (OrbixWeb, VisiBroker, etc.) the included IDL must be re-compiled with the ORB-specific IDL compiler. To use the included JDKStubs.jar, simply include it on the CLASSPATH. ____________________________ Applet Security Enhancements - jSNMP now includes security enhancements allowing it to run within Netscape Navigator 4.x and Microsoft Internet Explorer 4.x. No changes to existing source code are needed to run jSNMP Enterprise 2.01 within Navigator or IE. However, if a jSNMP-based application is loaded over a network connection, signed archives (JAR or CAB) may be necessary. The following URLs provide more details on the signing process: http://developer.netscape.com/security http://www.microsoft.com/java/security See the Applet examples in the jSNMP examples directory for an example of browser-based applications. Documentation on running the examples is in the Java and HTML source files. ====================================================================== Changes from jSNMP Enterprise 1.01 to jSNMP Enterprise 2.0 ---------------------------------------------------------------------- jSNMP Enterprise 2.0 is a new product release that replaces jSNMP Enterprise 1.x. The following summarizes the most significant changes present in jSNMP Enterprise 2.0: ________________ CORBA INTERFACES - jSNMP has added CORBA interfaces so that SNMP functionality may be accessed by CORBA clients. In addition, a Java client is provided which uses the underlying CORBA transport, but exposes the same familiar jSNMP interfaces as the local jSNMP service. The jSNMP CORBA service continues to perform in the event of failed CORBA clients or failed network communication. The exception is logged and the service continues to perform as before. ___________ JAVA APPLET - jSNMP Enterprise includes CORBA interfaces, allowing easy access to multiple managed devices from an applet without the use of signed JARs and security APIs. A sample applet is included that demonstrates how to access the jSNMP CORBAServer example from within an applet. ______________ IMPROVED SPEED - The jSNMP Service runs significantly faster than before. This is a result of an optimized cache and improved concurrency within the system. _________________________ LOWER MEMORY REQUIREMENTS - The jSNMP service uses an improved cache cleanup and garbage collection scheme which results in significantly lower memory utilization. ______________ BETTER CACHING - The caching component of the jSNMP service has been improved substantially resulting in higher hit ratios and lower memory utilization. _________________________ CONFIGURABLE NETWORK LOAD - The ability to pack multiple SNMP requests (from potentially multiple jSNMP clients) into a single SNMP packet has been an important feature of jSNMP since its inception. This performance enhancement is now tunable which allows the developer or administrator to balance system latency with network load. (See the Javadocs for SnmpServiceConfiguration.) _____________________________ SNMPSERVICELOCATOR DEPRECATED - The means of obtaining an SnmpService by using the SnmpServiceLocator.getLocalService() has been deprecated. Instead, the new interface SnmpLocalInterfaces should be used with the method getService() to obtain a local instance. ____________________________ SNMPTRAPPROFILE CONSTRUCTION - SnmpTrapProfiles are now an interface rather than a concrete class. A new SnmpTrapProfile is therefore obtained through an SnmpTrapProfileFactory.createSnmpTrapProfile(...) call rather than by using a default constructor. The local implementation of the factory may be obtained from the SnmpLocalInterfaces class. _________________________ ASN.1/JAVA MAPPING CHANGE - Previous versions of jSNMP mapped the Counter, Gauge and Timeticks ASN.1 types to java.lang.Integer. While this saved a few bytes of memory usage, it forced users of the product to do value conversions for large unsigned numbers that appear negative as a java.lang.Integer. The current mapping uses a Long, obviating the need for any conversions. _____________________________ MAPPING FIX FOR ASN_IPADDRESS - In jSNMP 1.01, modification orders (i.e.; sets) required values for an ASN_IPADDRESS to be supplied as a byte array, contrary to the documentation. A java.net.InetAddress is now used, in conformance with the documentation. ====================================================================== Changes from jSNMP Enterprise 1.0 to jSNMP Enterprise 1.01 ---------------------------------------------------------------------- jSNMP Enterprise 1.01 is a minor point release. The following summarizes the most significant changes present in jSNMP Enterprise 1.01: __________________ EXCESS PACKET SIZE - SNMP packets created by jSNMP would contain excess irrelevant zeros. This problem has been fixed in jSNMP 1.01. ______________________ INCORRECT ERROR STATUS - Some failed orders delivered by jSNMP contained incorrect error codes. This problem has been fixed in jSNMP 1.01. ______________________ DEFAULT TRAP LISTENING - Originally, jSNMP would by default begin listening for traps on the default port 162. As this was causing some security errors under Unix, trap listening on a port does not become active until an SnmpTrapListener is registered on that port. This effectively allows some Unix users to use jSNMP w/o trap handling. This modification was made to jSNMP 1.01.