📄 changes_agent++v3.txt
字号:
with SNMPv1/v2c in conjunction with the SNMP-COMMUNITY-MIB.* Added: BCC32 support.Version 3.5.2: CHANGES since Version 3.5.1a===========================================* Improved: MibStaticTable: Added method to be able to set values internally. Less memory consumption, because from now on only OID suffixes are stored.* Fixed: In conjunction with AgentX++ responses to GETBULK request could not meet RFC 1905 when a subagent region was last in the view.Version 3.5.1a: CHANGES since Version 3.5h=========================================* request.cpp/v3_mib.cpp: Changed to be compatible with SNMP++v3.1.5.* Fixed: AgentGen templates did not contain "using namespace". Version 3.5h: CHANGES since Version 3.5g========================================* Fixed: Degraded performance of multi- threaded agents on Win32 due to inappropriate Windows API call in Synchronized::notify().Version 3.5g: CHANGES since Version 3.5f========================================* Fixed: Persistency of USM users.Version 3.5f: CHANGES since Version 3.5e========================================* Fixed: Inappropriate error codes returned by USM MIB implementation.* Improved: Flexible logging provided by Marty Janzen.Version 3.5e: CHANGES since Version 3.5c========================================* Fixed: Missing synchronization in RequestList::answer() accidentally removed in version 3.5c.* Added: Handling of unkown security model error in request.cpp.Version 3.5c: CHANGES since Version 3.5a========================================* Added: Mib::delete_thread_pool() to allow cleaner shutdown of an agent.* Fixed: Possible deadlock when more than max threads requests where processed simultaneously.* Added: is_idle() method in ThreadPool.* Added: Makefile.hpux11* Fixed: Some compilation errors.* Fixed: snmpOutTooBigs was not incremented correctly. * Improved: GETBULK PDUs that would not fit into a response will be trimmed if possible.Version 3.5a: CHANGES since Version 3.5=======================================* Fixed: SimRowStatus behavior when RowStatus maximum access is READONLY.* Fixed: Templates for AgentGen Pro generated agents (agent.cpp files under agent++/agentgen) have been updated for new thread handling.Version 3.5: CHANGES since Version 3.4.7b=========================================* Added: A multi-threaded agent now uses a thread pool which starts 4 threads by default. Incoming requests are scheduled using these threads. This improves performance and behavior when terminating an agent. Besides the threads' stack size can now be set.* Added: SimMibTable and SimRowStatus. Both classes together now allow writing of tables with RowStatus column in config mode. * Added: Timeout for MibGroup that can be used for the region timeout in AgentX subagent registrations.* Added: When AGENTPP_NAMESPACE is defined in agent++.h all AGENT++ and AgentX++ code will be part of the "Agentpp" namespace. By default namespace is only used for __GNU__ compilers. * Added: Voter interface for MibTable. Voters are more than listeners. They listen for RowStatus changes and they then can accept or reject the requested change. An example implementation of such a voter is the MibTableSizePolicy class that can be used to define the maximum sizes of tables in a single place.Version 3.4.7b: CHANGES since Version 3.4.7a=============================================* Fixed: Error index was not 0 when returning an authorizationError because of a noSuchView, noGroupName, or noAccessEntry error. Version 3.4.7a: CHANGES since Version 3.4.7============================================* Improved: sysUpTime for the WIN32 environment.* Fixed: OrderedListCursor::overwriteNth was missing.* Fixed: Notification filtering on trap OIDs did not work as defined in RFC 2573. RFC 2573 also requires filtering on the object OIDs of the variable bindings in the notification. This functionality has been added to snmpNotifyFilterEntry::passes_filter. The corresponding methods in Notification- Originator and nlmNotifyEntry have been removed. The implementations of the SNMP-NOTIFICATION-MIB and the NOTIFICATION-LOG-MIB are affected by this change.Version 3.4.7: CHANGES since Version 3.4.6===========================================* Improved: MibTable did use more memory as needed for managing its rows. Each cell held its complete OID which leads to exponential memory usage for big tables with long base OIDs. Now each MibLeaf that is a columnar object (i.e., element of a MibTableRow) will return the column sub- identifier only when MibLeaf::key() is called. For example, the ifAdminStatus column will not return "1.3.6.1.2.1.2.2.1.7" anymore, instead it will return "7" only. In order to get the complete OID of a MibLeaf (regardless whether it is a columnar object or not) the new method MibLeaf::get_oid() should be used.* Changed: Mib::init() now returns a boolean which will be always TRUE for Mib, but can be overridden in subclasses (i.e., SubAgentXMib).* Added: Implementation of the NOTIFICATION-LOG-MIB.* Fixed: MibTable::serialize and MibTable::deserialize are now virtual.* Fixed: List.h: Array<T>::trim(..) Version 3.4.6a: CHANGES since Version 3.4.6============================================* Fixed: notification_originator.cpp: 285: Possible dead lock in multi-threaded agent when non-active row is accessed while traps are sent out.Version 3.4.6: CHANGES since Version 3.4.5a============================================* Fixed: StorageType did not check bad values correctly.* Fixed: When in a multi-threaded agent SET requests had been processed in parallel that shared some target objects which failed for at least one of the requests the request might not have been undone correctly. This behavior has now been fixed by locking all target objects of a SET request through the whole two phase process. Thus, SET requests that share target objects are now processed sequentially.* Fixed: mib_complex_entry.h was not protected against multiple #include. * Note: Namespaces will be introduced in the next release.Version 3.4.5a: CHANGES since Version 3.4.5============================================* Fixed: Some (unused?) methods of the Array template.* Fixed: mib.cpp: Copy constructor of MibTableRow did not set index of columnar objects correctly if columns had already a valid index OID set. This bug caused some other problems (i.e., with ProxyForwarder) which were hard to identify. * Fixed: mib.cpp: Memory leak when NOT using Array template (= #undef USE_ARRAY_TEMPLATE).* Fixed: snmp_target_mib.cpp: The method snmpTargetParamsEntry::get_target_params did not handle SNMPv1 MP model correctly. This bug caused the ProxyForwarder to deny forwarding of SNMPv1 requests.* Added: Example configuration script for ProxyForwarder example.Version 3.4.5: CHANGES since Version 3.4.4a============================================* Changed Makefiles to use DES library instead RSAEURO. Thus, AGENT++v3.4.5/SNMP++v3.1 can be used freely, also for commercial use. Version 3.4.4a: CHANGES since Version 3.4.4============================================* Fixed: On an attempt to set OID 0.0, agent crashed due to an uninitialized read in Mib::cleanup_set_requestVersion 3.4.4: CHANGES since Version 3.4.3===========================================* Improved: MibTableRow used double linked list for its elements. Now it uses an array which improves performance about 5% for GETNEXT/GETBULK requests and much more when adding rows. Reduces memory consumption as well.* Fixed: Memory leak when destroying rows via snmpRowStatus.* Added: Support for binding on a specific IP address. Needs SNMP++v3.0.2b or later.Version 3.4.3: CHANGES since Version 3.4.2a============================================* Fixed: Problem with row creation and non- default columns that had valid initial values.* Fixed: Validity flag of MibLeaf was not well defined and used. Clarified defintion and usage. (See also above bug fix.)* Fixed: Chance of a crash when terminating agent while requests are currently processed.* Fixed: Compilation problem with agent_copy. Version 3.4.2a: CHANGES since Version 3.4.2============================================* Fixed: Bug in MibTableRow::operator=.* Fixed: Compilation problems without SNMPv3.* Fixed: Notification timestamp is now set to sysUpTime when sent by NotificationOriginator compiled without _SNMPv3.Version 3.4.2: CHANGES since Version 3.4.1c============================================* Added: ProxyForwarder class implements a proxy forwarder application as described in RFC 2573. It can be register with a Mib instance by calling Mib::register_proxy(..). The constructor takes two arguments: (1) The context engine ID contained in messages that should be forwarded by the proxy forwarder. If this parameter is the empty string "" then all messages whose context engine ID differs from the agent's engine ID will be forwarded according to the configuration in the SNMP-PROXY-MIB and SNMP-TARGET-MIB. (2) The PDU type that should be forwarded. The value all(0) matches all kind of PDU types. For more details see the proxy_forwarder example.* Fixed: Memory leak in MibProxyV3. Please note: Use ProxyForwarder instead MibProxyV3 for new proxy implementations.* Fixed: Now sending report on messages with unknown context. Version 3.4.1c: CHANGES since Version 3.4.1b=============================================* Fixed: (v3_mib.*): Entries added to the SNMP++ usmUserTable during discovery did not appear in the AGENT++ USM MIB.Version 3.4.1b: CHANGES since Version 3.4.1a=============================================* Fixed: (v3_mib.cpp): Setting a usmOwnKeyChange object with a zero length string caused a segmentation fault.* Fixed: (notification_originator.cpp): add_v1_trap_dest could not be called twice successfully.* Fixed: Linking problems with NT using DLLs.* Fixed: Compilation warnings on BSD Unix.Version 3.4.1a: CHANGES since Version 3.4.1============================================* Fixed: Opening of persistent storage files on NT was not done with binary mode set.* Improved: Logging output is no faster, because text is only composed when output is needed. (Courtesy by Jochen Katz)Version 3.4.1: CHANGES since Version 3.4p==========================================* Fixed: (mib.cpp): process_commit_set_request, process_clean_up_set_request, process_undo_ set_request did not check, whether target object disappeared after preparing the set request. (Could have caused seg. fault)* Fixed: (mib.cpp): GET request on not-accessible table column did returned NO_ACCESS instead NO_SUCH_OBJECT error.* Fixed: (mib.cpp): Reworked a lot of things around the RowStatus state changes. PLEASE NOTE: The RowStatus column is now set after all other subrequests for that row have been commited. The preparation of a set request now looks ahead. Thus, before an attempt to
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -