CHANGES.snmp++v3
上传用户:cnryan
上传日期:2008-12-15
资源大小:260k
文件大小:28k
- Changes snmp++v3.2.21
- =====================
- - Added: New overloeaded Oid::set_data() that takes a char array instead
- of ulong array.
- - Fixed: The dotted oid string parser no longer accepts strings like
- "1.3.6.$public", "1.3.6$public$" or "1.3.6.$public$1".
- - Fixed: Removed a lot of compiler warnings on Windows x64 (with help of
- Sanjay Bhatia). Introduced new type for sockets (SnmpSocket), and
- removed SNMPHANDLE type.
- - Changed: Removed global mutex for v3MP and USM.
- - Fixed: sockets were not closed if bind failed. (found from John McCaskey)
- - Fixed: Engine id discovery did not work when sending SNMPv3 request
- to IPv4 Address over IPv6 socket.
- - Fixed: For async SNMPv3 requests that resulted always in a unknown
- engine id or not in time report from the agent the Snmp class continued
- to resend a request to the agent.
- - Fixed: USM was not thread safe (found from John McCaskey):
- Changing users from two different threads or changing users
- while messages of these users are processed could cause
- segmentation faults. The following functions of USM now behave
- different than before or require calls to new functions:
- all three get_user() functions, peek_first_user(), peek_next_user(),
- peek_first_luser(), peek_next_luser(), get_user_count().
- If you use any of these functions, read the new documentation in
- usm_v3.h and change your code (like it was done for the QtExample).
- - Changed: The functions to set/get the trap listen port of
- CNotifyEventQueue ar no longer static. Use the new functions
- Snmp::notify_set/get_listen_port() instead.
- - Removed: Old X11 code, user defined events and timeouts.
- - Improved: Counter64 now uses 64 bit integer for math
- operations, instead of long double.
- - Fixed: Zero length UDP packets will no longer trigger
- a transport-level-failed callback.
- Changes snmp++v3.2.20a
- ======================
- - Improved: Detect too large received messages.
- - Improved: Removed hard coded limit for max number of Vbs
- (PDU_MAX_VBS) in a Pdu object.
- - Fixed: Bug in SNMPv3 encryption code which will lead to a
- crash after a random number of encryptions (Stuart Marks).
- - Improved: Compilation of address.cpp for Solaris.
- Changes snmp++v3.2.19
- =====================
- - Fixed: Requests with nonzero but wrong security engine id
- now result in a unknown engine id report.
- - Added: New functions USM::add_usm_user() and
- new functions to remove engine ids and hosts from
- the v3MP and USM tables.
- - Changed: command line arguments of consoleExamples.
- Changes snmp++v3.2.18
- =====================
- - Added: Privacy protocol 3DES. The Auth/Priv interface was
- modifed. (based on patch from Pierre Pacchioni)
- - Fixed: Possible memory leak in mp_v3.cpp v3MP::snmp_parse(..).
- - Fixed: Uninitialized variable in asn1.cpp asn_parse_length(..).
- - Fixed: Uninitialized variables in snmpmsg.cpp
- SnmpMessage::unload when v3MP::I->snmp_parse() fails.
- (Reported by Rob Crawford)
- - Changed: ID of privacy protocol AES128 now is 4
- as required by the RFC.
- - Fixed: Vb::get_value(ptr, len, maxlen) may write
- maxlen+1 bytes into ptr buffer (Daniel Suman).
- This function now is Vb::get_value(ptr, len, maxlen,
- add_null_byte) where the default for add_null_byte
- is false.
- - Improved: Workaround for Cisco SNMP agents that set
- request ids to 0x7fffffff in report messages.
- - Fixed: Make auth_priv.h/cpp compile if both OpenSSL and
- LibTomCrypt are defined.
- - Added: Basic support for VxWorks with PPC603 (Thanks to
- Lee Noll).
- Changes snmp++v3.2.17
- =====================
- - Changed: Updated auth_priv.cpp for LibTomCrypt 1.02
- - Changed: Moved logging classes from agent++ into
- snmp++. (Fedja Jeleskovic)
- Function debug_set_logfile() has been removed, use
- DefaultLog::init(new AgentLogImpl("filename")) and
- DefaultLog::log()->set_filter() instead.
- All logging within snmp++ will be moved to the LOG_XXX
- macros and the debugprintf() function will be removed.
- - Changed: Renamed "#ifdef alpha" to "#ifdef __osf__". When
- compiling for DigitalUnix/Tru64 make sure, that __osf__
- is defined.
- Changes snmp++v3.2.16
- =====================
- - Improved: notify_register() now returns correct error codes.
- - Added: Snmp::start_poll_thread() that starts a new thread
- that polls for async responses and informs/traps. The thread
- will be stopped automatically in the destructor. It also can
- be stopped using Snmp::stop_poll_thread(). (Fedja Jeleskovic)
- - Added: New transport layer error code
- SNMP_CLASS_TL_ACCESS_DENIED for (errno == EACCES)
- - Improved: new define SNMP_PP_MUTABLE that can be
- defined to mutable for compilers that support
- mutable member variables.
- - Changed: renamed OctetStr::set_hex_np_char() to
- set_np_char()
- - Improved: get_printable() will return the same buffer
- for each call if the object wasn't changed.
- - Added: Pdu::get_max_vbs() to get the value of
- PDU_MAX_VBS at runtime.
- - Fixed: Bug in snmperrs.h (Jason Olenhouse)
- Changes snmp++v3.2.15
- =====================
- - Fixed: Bug in asn1.cpp for systems where
- sizeof(long) != sizeof(*long) (Hu Shu)
- - Fixed: timeout calculation in
- EventListHolder::SNMPProcessEvents() (Xu Manjiang)
- - Fixed: OctetStr::clear() now sets the length to
- zero (Mr. AWD)
- - Fixed: Set sin_len of struct sockaddr_in before calling
- bind(). Define CYGPKG_NET_OPENBSD_STACK to enable it.
- (Harald Kuethe)
- - Changed: Pdu class checks Vb validity after all
- assignments. It is no longer possible to add
- a Vb that is not valid.
- Some set/get member functions now return bool
- instead of void.
- Changes snmp++v3.2.14
- =====================
- - Improved: Return value of Pdu functions
- get/set_notify_id and get/set_notify_enterprise.
- (Marek Malowidzki)
- - Fixed: Check return value of new in
- SnmpCollection::operator+=() (Marek Malowidzki)
- - Fixed: Setting a byte with Address::operator[] will
- set validity of the object to true.
- - Improved: Behaviour of OctetStr::get_printable() for
- non printable strings can now be configured.
- Changes snmp++v3.2.13a
- ======================
- - Fixed: Version info was not updated.
- - Fixed: Compilation problems with _NO_SNMPv3
- - Changed: The user "initial" is no longer automatically
- added to the USM.
- - Fixed: Oid class freed memory twice after
- failed call to operator+=().
- - Added: Support for AIX 5 (by courtesy of
- Anders Malmborg)
- Changes snmp++v3.2.12a
- ======================
- - Fixed: wrong encryption/decryption for
- DES and IDEA.
- - Fixed: consoleExamples can use IPv6.
- - Fixed: Do not accept illegal lengths for
- authentication parameters.
- - Removed: Obsolete XExample.
- - Fixed: Compilation problem in address.cpp
- if __sun is defined (Kostas Lykiardopoulos)
- - Improved: Modified constructor of Snmp class
- to allow binding to IPv6 socket.
- - Added: AES can now be used with OpenSSL.
- - Improved: Compilation under Tru64.
- - Fixed: Return code of delete_entry and
- delete_entries in class USMUserTable returned
- SNMPv3_MP_OK instead SNMPv3_USM_OK.
- Changes snmp++v3.2.11
- =====================
- - Improved: Declared some methods as const
- (Marek Malowidzki).
- - Improved: Use shortest possible encoding for
- serializing SNMP messages to improve compatibility
- with buggy/broken SNMP-Tools (Henning Eggers).
- - Fixed: Compilation problems on SUN
- (Fabrice Bacchella)
- - Improved: declared some methods as const
- - Improved: Moved the headers to include/snmp_pp/
- to avoid name colissions.
- - Improved: QtExample can receive traps/informs.
- - Fixed: Compilation problems with BC++ 5.0
- (Vinoth, Christian Cheney)
- - Improved: Added namespace Snmp_pp (Sorin C.)
- Changes snmp++v3.2.10a
- ======================
- - Changed: Added two defines _USER_DEFINED_EVENTS
- and _USER_DEFINED_TMEOUTS (enabled by default)
- to switch off the user defined event/timeout queues.
- - Improved: Added const to various functions and
- function arguments (Marek Malowidzki)
- - Fixed: Added missing DLLOPTs in msec.h (Christian Cheney).
- - Improved: The v3MP uses the Snmp object that received
- the message for sending out report messages (needed
- for systems with multiple IP addresses).
- The constructor of the v3MP class was changed, as
- the pointer to the Snmp object is no longer needed
- at construction time.
- - Changed: Snmp::notify_register() no longer binds
- to all interfaces, but to the address specified
- in the constructor of the Snmp object.
- Changes snmp++v3.2.9d
- =====================
- - Improved: Removed usage of some multi-threading
- critical C routines (for example strtok). Although
- on many systems, these routines are multi-threading
- safe, this may not be true for some systems.
- - Fixed: High CPU usage in SNMPProcessEvents() on
- Win32 platform.
- - Fixed: SNMPv1 trap sysUpTime TimeTicks where not
- decoded correctly as unsigned integer value, resulting
- in a parse error when sysUpTime > 2^31-1.
- - Improved: Log levels.
- - Fixed: USMUserNameTable::add_entry() did not update
- the privacy password length.
- - Improved: Examples now use the
- Snmp::socket_startup() on Win32 platforms.
- - Added: Two static methods Snmp::socket_startup() and
- Snmp::socket_cleanup() that initialize/cleanup
- Winsock library on WIN32 and do nothing for
- other platforms. The startup method must be
- called before creating Snmp or Address objects.
- - Changed: Type of some vars in UsmUserNameTableEntry
- from uchar* to OctetStr. Check if your code uses
- this struct.
- - Changed: engineBoots and engineTime are set to 0 for
- SNMPv3 noAuthNoPriv messages.
- Changes snmp++v3.2.8
- ====================
- - Added: Support for OpenSSL.
- - Fixed: Compile problem in uxsnmp.cpp.
- Changes snmp++v3.2.7c
- =====================
- - Fixed: Synchronization problem with mpV3::Cache.
- (Henning Eggers)
- - Fixed: Memory leak in OctetStr::from_hex_string.
- (Kent Gibson)
- - Changed: EventListHolder::SNMPProcessEvents()
- param is now in milliseconds (was seconds).
- - Fixed: Memory leak if an async SNMPv3 message timed
- out (Henning Eggers).
- - Added: Method Snmp::broadcast_discovery() to do
- SNMP broadcast discovery.
- - Improved: Console examples now accept 0 retries,
- removed warnings with gcc 3.2, and v3MP is now
- always created.
- - Added: Qt 3.1 example that demonstrates SNMP++v3
- usage with a GUI (Trolltechs Qt 3.1).
- - Added: Methods to store, load, and query USM users.
- - Improved: Some minor clean-ups.
- Changes snmp++v3.2.6b
- =====================
- - Fixed: GenAddress passed IPv4 addresses as IPv6
- addresses.
- - Changed: By default IDEA is not compiled into
- SNMP++ by default because patent licensing is
- required for commercial use. Please #define
- _USE_IDEA if you want to compile IDEA into SNMP++.
- For more details please read also README.v3.
- - Fixed: Do not add -Dsun to compile command. If
- you have problems with the SnmpCollection template
- look at the instructions in collect.h.
- - Fixed: Destroy Mutex in ~EventListHolder().
- - Improved: Lots of cleanups for the address classes.
- This leads to the following incompatibilities to
- former versions:
- + Enums addr_type and version_type are now inside
- class Address
- + MacAddress, IpxAddress and IpxSockAddress are no
- longer included by default, but can be enabled
- in config_snmp_pp.h
- Changes snmp++v3.2.5d
- =====================
- - Improved: Made AuthMD5::password_to_key more
- robust against empty passwords.
- - Changed: The Win32 DLL export macros now use
- SNMP_PP_DLL instead _USRDLL.
- - Changed: Moved VC++ project files in a
- separate package.
- - Improved: Minor issues with IPv6 support.
- - Improved: Socket handling.
- - Fixed: uxsnmp.cpp: Detecting error from socket()
- return values.
- - Fixed: Moved SNMPAddInput() SNMPRemoveInput()
- SNMPAddTimeout and SNMPREmoveTimeout to the
- class EventListHolder
- - Fixed: Unique Id generation in CUDEventQueue and
- CUTEventQueue.
- - Fixed: Bugs in Vb::get_value() methods that take a
- char* or unsigned char* as argument
- - Added: operator+() for Oids (Alexander Gutkin)
- - Improved: Cleanups in queues
- Changes snmp++v3.2.4a
- =====================
- - Improved: Synchronous and asynchronous SNMP
- request processing is now separated. Thus,
- the global event lists have been removed.
- Each Snmp class now holds its own event
- lists.
- To eliminate the use of global event lists
- a new class EventListHolder was defined. Two
- new files eventListHolder.h and
- eventListHolder.cpp contain now declaration
- and definition of that class respectively.
- That new class is a container of former
- eventList global data structure and former
- global user defined events, user-defined
- timeouts, notifications and all outstanding
- messages. (LiorK)
- - Improved: collect.h (Bill McKinnon)
- - Improved: FreeBSD 5.0 support.
- - Added: Makefile.gcc_solaris for compilation
- with GNU C++ compiler on Solaris.
- Changes snmp++v3.2.3b
- =====================
- - Fixed: Counter64::get_printable() could print
- negative values (Yakov Y.)
- - Note: New Makefiles assume that you have
- defined _USE_LIBTOMCRYPT when a "crypt"
- directory is present in the same folder as
- the "snmp++" and "agent++" directories.
- - Fixed: Compilation problems without _SNMPv3
- defined.
- - Fixed: PDU length computation for encrypted
- SNMPv3 PDUs.
- - Improved: New v3MP class.
- - Fixed: Estimated length calculation for
- encoded PDU.
- Changes snmp++v3.2.2d
- =====================
- - Fixed: Possible timeouts under heavy load
- in a multi-threaded environment.
- [Pavel Spakovsky]
- - Fixed: DLL support for VC++ did not allow
- static linking.
- - Added: Computation of BER encoded length of
- a Pdu.
- - Added: VC++.NET project files and fixed DLL
- support.
- - Fixed: Errors in Counter64::c64_to_ld() and
- Counter64::ld_to_c64() [Mikhail Evstiounin]
- - Improved: Prepared for AES usage replacing
- libDES.
- - Fixed: Compilation problems with G++3.2
- (needs updated libDES download).
- Changes snmp++v3.2.1d
- =====================
- - Fixed: Memory leak (40 bytes) when adding an
- user to usm.
- - Improved: Some cleanups (#include, const).
- - Fixed: Due to possible race condition in
- MyMakeReqId() (uxsnmp.cpp) two requests could
- get the same request id.
- - Fixed: const casting caused problems with
- AIX compiler.
- Changes snmp++v3.2.1
- ====================
- - Improved: Use zero length user name for
- SNMPv3 discovery.
- - Lots of cleanups.
- Changes snmp++v3.2a
- ===================
- - Fixed: Compilation problem with address.cpp on
- Solaris.
- Changes snmp++v3.2
- ==================
- - Added: IPv6 support.
- - Improved: moved the USM functions into the class
- USM. To add or delete users, you will now have to
- do the following (see usm_v3.h for more details):
- Usm *usm = mpGetUsm();
- usm->add_usm_user(...);
- usm->delete_usm_user(...);
- - Fixed: Possible SegFault in notify queue
- (Lior Klibansky)
- - Fixed: Timeout problem in event list (Don Dietz)
- - Fixed: Don't use isdigit() for BCC (Eric Zerbib)
- - Added: clear() method to SnmpCollection
- - Fixed: added clone() method to Pdu class, so
- SnmpCollection<Pdu> will work again.
- - Added: Make notify socket decriptor available in
- Snmp class (Don Dietz)
- Changes snmp++v3.1.6c
- =====================
- - Fixed: mp_v3.cpp: Unsigned integer values were
- not BER decoded correctly for SNMPv3 messages.
- - Fixed: Some errors when compiling with -ansi
- - Improved: Class AuthPriv does no longer depend
- on USM.
- Changes snmp++v3.1.6b
- =====================
- - Added: BCC32 support.
- - Added: DLLOPT decoration for debugprintf.
- Changes snmp++v3.1.6a
- =====================
- - Fixed: Agent address of v1 trap PDUs is set from
- received SNMPmessage if address is not "0.0.0.0".
- - Improved: Free BSD support.
- - Improved: UdpAddress performance.
- - Added: Pdu::set_v1_trap_address to set v1
- trap address. If not set, SNMP++ will use the
- default host address.
- - Improved: Added casts in auth_priv.cpp and
- idea.cpp.
- Changes snmp++v3.1.5
- ====================
- - Fixed: Memory leak during processing of
- SNMPv3 traps
- - Fixed: Memory leak in agents when sending a
- UnknownEngineID report
- - Fixed: Set contextEngineId in Pdu if it was
- not set by the user.
- - Improved: Prepared authentication/privacy module
- for easy extensibility.
- - Fixed: Convert asn1.cpp back to unix CR/LF ;-)
- Changes snmp++v3.1.4b
- =====================
- - Fixed: Possible crash in ASN.1 BER decoding
- caused by incorrect SNMP BER encodings.
- Changes snmp++v3.1.4a
- =====================
- - Fixed: Compilation problems with non Linux
- systems regarding *_r system calls.
- - Fixed: Handling of unusual v3 msgFlags and
- msgSecurityModels.
- Changes snmp++v3.1.4
- ====================
- - Added: Support for Opaque type. The Opaque
- type is implemented as OpaqueStr as subclass
- of OctetStr.
- Changes snmp++v3.1.3i
- =====================
- - Fixed: ASN.1 encoding of very long OIDs
- (128 subidentifiers) could cause seg.fault.
- - Improved: Removed obsolete #includes and
- comments.
- Changes snmp++v3.1.3h
- =====================
- - Fixed: Compilation problems introduced by
- debugging output redirection on Solaris.
- - Added: Makefile.hpux11 for HPUX11 aCC.
- - Improved: ASN.1 decoding of integers.
- - Fixed: Sending SNMP requests form within
- asynchronous callback functions.
- Changes snmp++v3.1.3g
- =====================
- - Fixed: ASN.1 parse error when parsing some
- unsigned integers introduced in v3.1.3c.
- - Fixed: Completed work on redirecting debugging
- output.
- Changes snmp++v3.1.3f
- =====================
- - Improved: SNMP++ is no longer busy looping
- when waiting for synchronous requests.
- (Changed select timeout in ProcessPendingEvents
- in eventlist.cpp from 0 to 10 usec).
- - Improved: Debugging output can now be
- redirected to a file.
- Changes snmp++v3.1.3e
- =====================
- - Fixed: Dropped v1 traps because of a wrongly
- detected ASN.1 parse error.
- - Fixed: Wrongly added trap oid and timestamp
- variable bindings for received notifications.
- - Added: _NO_THREADS in config.h to facilitate
- disabling of threads (contributed by Martin
- Janzen).
- Changes snmp++v3.1.3d
- =====================
- - Fixed: Traps sent out may had wrong security
- level noAuthNoPriv.
- Changes snmp++v3.1.3c
- =====================
- - Fixed: Missing type checks in BER decoding
- have been added.
- Changes snmp++v3.1.3b
- =====================
- - Fixed: A pdu with an unknown engineId report
- was overwritten by a second pdu with an
- unknown message id status when they both were
- send from a multi-homed agent that sends
- responses not only from one source address.
- - Fixed: User name returned by agent in error
- conditions did not match configured user by
- command generator in some cases.
- Changes snmp++v3.1.3a
- =====================
- - Fixed: Bugs related Solaris 64bit support.
- - Fixed: Handling of the OPAQUE syntax in
- snmpmsg.cpp.
- Changes snmp++v3.1.3
- ====================
- - Fixed: Now using reentrant system functions
- like gethostbyname_r, gethostbyaddr_r, and
- strtok_r.
- - Fixed: Command line parameter handling of
- the consoleExamples.
- - Fixed: MyMakeReqID did not locked its call to
- snmpEventList->GetEntry against other threads.
- - Fixed: Locking for eventlist.cpp
- - Added: Remove operation in SnmpCollection
- template.
- Changes snmp++v3.1.2a
- =====================
- - Target::get_type() is now const.
- - Improved: Trap receiver example.
- Changes snmp++v3.1.2
- ====================
- - Fixed: Handling of responses to INFORM-requests.
- Changes snmp++v3.1.1
- ====================
- - Fixed: Added locking for SNMPv3 MP cache.
- - Improved: AGENT++ is no longer needed for console
- examples.
- - Fixed: SNMP version was not set for received
- notifications.
- Changes snmp++v3.1
- ==================
- - Replaced RSAEURO by LIBDES which is free even for
- commercial use.
- Changes snmp++v3.0.2b
- =====================
- - Added: Snmpx::Snmpx(int&, const UdpAddress&) to
- support binding on a specific IP address.
- Changes snmp++v3.0.2a
- =====================
- - Fixed: Filtering notifications.
- Changes snmp++v3.0.2
- ====================
- - Fixed: Compilation problems when using async requests
- on Win32 platforms.
- - Improved: In v3.0.1 pending requests could block
- requests from other threads. This has been fixed.
- Changes snmp++v3.0.1
- ====================
- - Added: SNMP++v3.0.1 is now thread-safe!
- - Added: Snmp::report can send SNMPv3 reports.
- Changes snmp++v3.0n
- ===================
- - Added: SNMP++ sets the contextEngineID of a SNMPv3
- PDU if it is not set by the user.
- Changes snmp++v3.0m
- ===================
- - Fixed: Removed all deprecated #include <values.h>.
- - Fixed: Solaris makefile for Solaris 7.0 (removed
- Templates.DB related stuff)
- Changes snmp++v3.0l
- ===================
- - Fixed: Entries added to the SNMP++ usmUserTable during
- discovery did not appear in the AGENT++ USM MIB.
- Changes snmp++v3.0k
- ===================
- - Fixed: Setting a usmOwnKeyChange object with a zero
- length string caused a segmentation fault.
- - Fixed: Compilation problems with BSD Unix.
- - Fixed: Renaming of snmpv3BootCounter file on WinNT.
- Changes snmp++v3.0j
- ===================
- - Fixed: snmpmsg.cpp: Check for exceeding maximum
- response PDU size, did not check response PDUs only.
- This bug caused SNMP++ to not send v3 traps.
- - Fixed: Setting trap OIDs when receiving traps.
- Changes snmp++v3.0i
- ===================
- - Fixed: OIDs for snmpAuthProtocols and snmpPrivProtocols
- - Fixed: Sending of v1 traps did not set IP address of
- the sending host correctly when the gethostname failed
- for that host.
- Changes snmp++v3.0h
- ===================
- - Fixed: (usm_v3.cpp): Handling of maxMsgSize.
- - Fixed: (asn1.cpp): BER encoding of ASN.1 header
- length did not support length above 65535 bytes. Now
- lengths up to 2^31-1 bytes are supported.
- - Fixed: (usm_v3.cpp): Did not check length of userName
- before copying it. Could have caused problems with
- incorrect SNMPv3 implementations.
-
- Changes snmp++v3.0g
- ===================
- - Fixed: BER encoding of unsigned 64bit integers.
- High values (all nine most significant bits are 1) were
- incorrect encoded.
- - Fixed: Removed compilation warnings for timetick.cpp and
- integer.cpp
- Changes snmp++v3.0f
- ===================
- - Fixed: Several DLLOPT decorators had been missing in asn1.h.
- - Added: Prototype for freeSmivalDescriptor in snmpmsg.h.
- Changes snmp++v3.0e
- ===================
- - Fixed: Bug in idea.h.
- - Fixed: Bug in mp_v3.cpp.
- Changes snmp++v3.0d
- ===================
- - Fixed: Bug in Oid::RnCompare()
- - Fixed: mpIncSnmpUnknownSecurityModels() increased the
- wrong counter.
- - Update: The changes of the official SNMP++ 2.84 from HP were
- merged into snmp++v3.
- - Changed: The snmpEngineBoots counters for different
- snmpEntities can now be saved in one file. For this
- the function mpInit had to be changed. See
- include/v3.h for more information about the new functions
- getBootCounter, saveBootCounter and decodeEngineId.
- Example:
- char *filename = "snmpv3_boot_counter";
- unsigned int snmpEngineBoots = 0;
- OctetStr engineId("exampleId");
- // you may use your own methods to load/store this counter
- status = getBootCounter(filename, engineId, snmpEngineBoots);
- if ((status != SNMPv3_OK) && (status < SNMPv3_FILEOPEN_ERROR))
- cerr << "Error getBootCounter: " << status << endl;
- snmpEngineBoots++;
- status = saveBootCounter(filename, engineId, snmpEngineBoots);
- if (status != SNMPv3_OK)
- cerr << "Error saveBootCounter: " << status << endl;
- mpInit(&snmp, engineId, snmpEngineBoots);
- - Fixed: Reports for encryption error were sent with a
- securityLevel authPriv, now authNoPriv is used.
- Reports for unknown security name were sent with
- user 'initial', now the user name of the request
- is used.
- - Fixed: Snmp::trap now sets the timestamp of traps for WIN32
- and for non WIN32 to the same value if the user didn't
- set it with pdu::set_notify_timestamp().
- Note: Snmp::trap does not set the timestamp to the
- uptime of the system or the application. The timestamp
- is computed from the time elapsed since 1970/1/1.
- - Fixed: msec::refresh() now sets the correct time for WIN32
- - Changed: mpAddToEngineIDTable now replaces host and port
- when adding an engineID that is already in the table
- - Fixed: OctetStr::from_hex_string()
- Changes snmp++v3.0c
- ===================
- - Fixed: Class Address had no default constructor.
- - Added: mpIncSnmpUnknownSecurityModels(),
- mpIncSnmpInvalidMsgs(),
- mpIncSnmpUnknownPDUHandlers().
- Changes snmp++v3.0b
- ===================
- - Fixed: SNMPv3 reports for inform requests are now sent
- through the socket that is used to listen for
- traps/informs.
- - Added the static method
- CNotifyEventQueue::set_listen_port(int port);
- to set the trap listen port. Call this method before calling
- Snmp::notify_register(...). The default port is 162.
- Changes snmp++v3.0a
- ===================
- - Internal changes in SNMPv3 implementation
- - Changes in structures for SNMPv3 async requests
- - Some documentation added.
- - Fixed: usmDeleteUserName mixed userName and securityName.
- Changed parameter of usmDeleteUserName to userName
- and added new function usmDeleteSecurityName.
- - Fixed: the SNMP version of targets created through
- CTarget(const CTarget) was set to version1
- (same for operator=(constCTarget))
- - Changed call of "delete X" to "delete [] X" where necessary
- - Moved some structure definitions from header files to cpp-files.
- Changed some internal structures from unsigned char to OctetStr.
- Changes snmp++v3.0:
- ===================
- - uxsnmp.cpp: line 656-660
- Added WSACleanup() routine for NT.
- - smi.h: line 141
- Changed ASN.1 tag value of UInt32 to 2 (same as Gauge32)
- #define sNMP_SYNTAX_UINT32 sNMP_SYNTAX_GAUGE32
- removed duplicate case labels in asn1.cpp, snmpmsg.cpp and gauge.cpp
- - snmpmsg.cpp: line 355
- Changed snmpTrapOID to
- tempvb.set_oid("1.3.6.1.6.3.1.1.4.1.0");
- - Added const to Pdu::get methods where applicable.
- - Added static function OctetStr::from_hex_string().
- - Added DLLOPT to all public functions / classes.
- - Using memset and memcpy instead the deprecated counterparts
- bzero and bcopy.
- - Using WinSockets on WIN32 platforms.
- - When converting an oid string to an oid (Oid::StrToOid) now an
- arbitrary part of the oid can be given as a string value enclosed in
- $ characters. For example the oid string
- "1.3.6.1.6.1.12.1.3.$public0$"
- will result to the oid
- 1.3.6.1.6.1.12.1.3.112.117.98.108.105.99.95.48
- - the function mpInit is now called with a pointer to an Snmp object
- and an engineID: int mpInit(Snmp *snmp, const OctetStr& snmpEngineID);
- - New target (UTarget for SNMPv3):
- - Methods to get/set security_name and security_model:
- void get_security_name( OctetStr& security_name_oct);
- void set_security_name( const OctetStr& new_security_name);
- void set_security_model(int sec_model);
- int get_security_model();
- - If you know the engine_id of the target (no engine_id discovery):
- void set_engine_id( const OctetStr& new_engine_id);
- void get_engine_id( OctetStr& engine_id_oct);
- --> most methods of CTarget do exist for UTaget: see target.h
- For SNMPv3 there is only one valid security_model (SNMP_SECURITY_MODEL_USM).
- If you set the security_model to SNMP_SECURITY_MODEL_V1 (or V2) you can use
- te UTarget to send SNMPv1 (v2c) requests.
- - New methods for Pdu objects:
- void set_security_level( const int level);
- int get_security_level();
- void set_context_name(const OctetStr &name);
- void get_context_name(OctetStr &name);
- void set_context_engine_id(const OctetStr &id);
- void get_context_engine_id(OctetStr &id);
- valid security_levels are: SNMP_SECURITY_LEVEL_NOAUTH_NOPRIV,
- SNMP_SECURITY_LEVEL_AUTH_NOPRIV and SNMP_SECURITY_LEVEL_AUTH_PRIV
- - The CTarget can no longer be used as a SNMPv3 target. The methods
- mpBuildCommunity and mpParseCommunity don't exist any longer.
- - The consoleExamples now use a CTarget for SNMPv1/v2c requests and
- UTarget for SNMPv3 requests. There are new examples: snmpInform
- (to send inform Requests) and receive_trap.