⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes_agent++v3.txt

📁 agentpp.com的免费的SNMP AGENT开发包. 本开发包来自 http://www.agentpp.com/ AGENT++ 版本v3.5.14 (包含VC7工程文件) AGENT++ W
💻 TXT
📖 第 1 页 / 共 4 页
字号:
  change the RowStatus of a row is processed, all  other variable bindings are collected, that will  affect the row.  As with version 3.4.1 of AGENT++ the position of  the vb with the RowStatus value does not matter  any more!   Before a new row is added to the table, all  values written by the creating SET request  are checked by calling prepare_set_request of  the set columns. After the preparation the  cleanup_set_request method is called. Please  note, that the prepare_set_request method can  be called twice for a subrequest, however the  cleanup_set_request method will then be called  twice too.   * Changed: (mib.[h|cpp]): MibTable::check_creation  now takes a second parameter which returns the  SNMP error status, if the creation fails.* Fixed: (mib.cpp): Persistent storage of tables  with more than 65535 bytes. Note that   SNMP++v3.0h or later is required to store such  tables successfully.* Fixed: (v3_mib.cpp): RowStatus state changes.  Table constructors. Added value checking for  usmUserAuthProtocol and usmUserPrivProtocol.* Fixed: (vacm.cpp): RowStatus state changes.  Table constructors. Added TestAndIncr objects.* Fixed: (snmp_textual_conventions.[h|cpp]):  SnmpAdminString when used in tables did not  check boundaries. The min and max members   of OctetStrMinMax had to be changed to be  protected instead of private for that reason.* Fixed: (snmp_target_mib.[h|cpp]):   Setting TDomain and TAddress in the same PDU  for a new row caused a wrong value error.* Fixed: (request.cpp): Incremented InvalidMsg  counter instead ASN1ParseErrors counter for  some types of invalid PDUs.* Added: (snmp_textual_conventions.cpp):  Added definition of oidSnmpSetSerialNo, which  can be used in conjunction with the TestAndIncr  class to implement the snmpSetSerialNo managed  object (see atm_mib example). Version 3.4p:  CHANGES since Version 3.4o=========================================* Fixed: (mib.cpp): MibTable::is_index_valid  did not reject too short indexes correctly.* Fixed: (mib.cpp): MibTable::commit_set_request  did call MibTable::set_value more than once  for each set column. Thus, events also were  triggered more than once.Version 3.4o:  CHANGES since Version 3.4n=========================================* Fixed: VacmViewTreeFamilyTable did not update  index cache when loading rows from persistent  storage. Thus, now the whole VACM can be   stored persistently.* Fixed: SNMPv3 inform requests did not make   engineID discovery.* Added: Mib::save_all() saves all persistent  MIB objects to disk.Version 3.4n:  CHANGES since Version 3.4m=========================================* Fixed: NotificationOriginator did not send v3  traps.Version 3.4m:  CHANGES since Version 3.4l=========================================* Fixed: MibTable::get_next_avail_index returned  wrong index when table was empty.* Fixed: GETBULK in some cases did not process last  repetition correctly. This affects AgentX++ when  processing GETBULK requests with more than one  repeated variable bindings. To fix this with older  versions of AGENT++ remove line 3482 in mib.cpp:   "req->dec_outstanding();"* Fixed: GETBULK with zero repetitions failed with  AgentX++. Insert the following line into mib.cpp  at line 3427:	// If no repetetions, then do not wait for them 	if (maxrep == 0) req->dec_outstanding();* Fixed: GETBULK: If the non-repeater value was less  than the given variable bindings and max_repetitions  was zero than AgentX++ was not able process the   request correctly. To Fix this, move assignment	outstanding = size;  in request.cpp line 161 below the following if   statement. Version 3.4l:  CHANGES since Version 3.4k=========================================* Fixed: MibTable::is_index_valid did not check correctly  for invalid non-implied length octet strings.* Fixed: MibTable::get_rows() did not return a pointer   to a list and thus did not work properly.* Added: MibTable::rows() returns a pointer to the   internal list of the table rows. This is a direct and   fast way to access the rows of a table.Version 3.4k:  CHANGES since Version 3.4j=========================================* Added: Support for dynamic tables. Although dynamic  tables could be implemented with previous versions of  AGENT++, it was not clear which methods needed to be  be overriden. Now there is a single method which can do  the job. The MibTable::update(Request*) method triggers  a table to be updated before a (sub-)request is   processed on it. * Added: Dynamic table example.* Changed: Mib::find_managing_object now takes a fourth  argument: the pointer to the request that is searching. * Fixed: NotificationOriginator::add_v1_trap_destination  did not accept a second target entry.Version 3.4j:  CHANGES since Version 3.4i=========================================* Fixed: Memory leaks in USM (v3_mib.cpp)* Fixed: Row creation via RowStatus object  using createAndGo allowed writing of read-only  columnar objects.* Fixed: RowStatus did not allow to set its value  to the current value again.* Fixed: OrderedList::index(T* t) returned 0 instead  of -1 if t had not been part of the list.* Fixed: If the UNDO of a row deletion failed, then   a row with the same index could not have been created  afterwards.* Fixed: snmpRowStatus::check_state_change(). If a row  was deleted with rowDestroy and another value of that  row was set in the same PDU afterwards,   check_state_change() returned no error.* Renamed class Log to AgentLog.Version 3.4i:  CHANGES since Version 3.4h=========================================* Fixed: The SNMP counters InPackets, BadCommunityNames,  and InASNParseErrs did not count correctly.* Changed examples and AgentGen templates to send  coldStart trap even if _SNMPv3 is not defined.* Fixed: Authentication failure trap was not send  if _SNMPv3 had been undefined.Version 3.4h:  CHANGES since Version 3.4g=========================================* Fixed: GETBULK processing without _SNMPv3 defined  caused deadlock on end of mib view. * Changed AgentGen Ready2Compile templates.* Added: Not-accessible MibLeaf objects cannot be  added to MibGroup neither to Mib instances.Version 3.4g:  CHANGES since Version 3.4f=========================================* Added MibGroup::remove method to remove objects  from a group. Note: In order to unregister a  MibEntry object, after having registered the  group it belongs to, it will have to be removed  from the corresponding Mib instance too.* Added Mib::add_context and Mib::remove_context  methods to add and remove contexts from a Mib  instance. Note: If you add a context to a Mib  you also should add the appropriate entries   into the VACM, in order to be able to access  objects within that context. Version 3.4f:  CHANGES since Version 3.4e=========================================* Fixed: Unclosed LOG_BEGIN LOG_END in MibProxyV3.* Changed logging macros to open their own scope,  which helps detecting unclosed LOGS.* Fixed: Added bound checks to Log::set_filter.   Version 3.4e:  CHANGES since Version 3.4d=========================================* Fixed: If length of a BER encoded response will   exceed the MAX_SNMP_PACKET value a response with  error status of tooBig is returned.* Added agentgen directory with Makefiles and  sample agent main routine, that can be used with the  AgentGen Professional ready2compile code generation  function to create a compilable agent without editing  any code.Version 3.4d:  CHANGES since Version 3.4c=========================================* Updated the examples according to the changed engine   boots counter handling in SNMP++v3.0d* Fixed: Compilation error with VC++ 6.0 on NT  when compiling without _SNMPv3 defined   (Mib::process_get_bulk_request).Version 3.4c:  CHANGES since Version 3.4b=========================================* Fixed EndOfMibView exception reporting for GETBULK  requests. It Did not return the request oid in  the exception variable binding, instead it returned  the last found oid.* Fixed compilation errors without _THREADS defined  in agent++.h.Version 3.4b:  CHANGES since Version 3.4a=========================================* Added two objects to the AGENTPP-SIMULATION-MIB. Those  objects make it possible to delete rows from tables   of a simulation agent using SNMP. You can add those  objects to your simulation agent by adding a  agentpp_simulation_mib MibGroup to your Mib that is  constructed by using the new constructor   agentpp_simulation_mib(Mib*).  * Fixed: MibTable::remove_unused_rows removed wrong rows  which could have caused a segmentation fault.* Changed NotificationOriginator class in several ways:  - Now also available without _SNMPv3.  - Fixed v3 traps.  - Uses SNMP-COMMUNITY-MIB (if present) to determine the    community for SNMPv1/v2c traps from the securityName     stored in snmpTargetParamsSecurityName.* Fixed: SnmpTagValue did not accept empty tag strings.* Made find_managing_object() and find_next() methods of  class Mib public.Version 3.4a:  CHANGES since Version 3.4========================================* Changed multi-threading support for NT from MFC threads  to WIN32 threads.* Updated Makefile.nt (although the use of VC++ projects  is recommended).Version 3.4:  CHANGES since Version 3.3b========================================* Added multi-threading support for NT.* Fixed: The NotificationOriginator class now supports  v3 traps and iforms too.* Changed locking of log messages. * Added MibComplexEntry, MibStaticTable, and MibStaticEntry  classes. They can be used to implement light weight tables  or tables which access their management information using  proprietary communication protocols (other than AgentX).   An example which shows the usage of MibStaticTable had been  added too.* Added the tool "agent_copy" which can be used to take a  snap shot from an existing (real) agent and initialize  an AGENT++ simulation agent with this data. * Changed persistency concept. Now each MibGroup instance  is responsible for making objects persistent. All objects  of a group are now stored in a single file whose name  is determined by the second (new) parameter of the MibGroup  constructor and the file's extension is the context the  group is part of.   If a MibGroup is created using only one paramter all its  objects are volatile.* Removed snmpUnavailableContexts and snmpUnknownContexts   from snmp_target_mib. Is already implemented in vacm.* Removed snmp_mpd_mib.*. The MPD group is now part of the  USM (v3_mib.*).* Added the simSysGroup which is similar to sysGroup, except  that sysDescr, sysObjectID, and sysServices are writable  when the agentppSimMode is set to config(2).* Fixed: snmpEnableAuthenTraps.* Changed Log::set_filter to use the log classes directly.  DEBUG_LOG_IND and all other *_IND log definitions are no   longer defined in log.h. Use DEBUG_LOG, etc. instead.* Centralized answering of requests in Mib::finalize().   Changed the default values for the "answer" parameter of  RequestList::error(..) and RequestList::done(..) to FALSE  accordingly. Requests are now answered by Mib::finalize()  only.* Added default constructor to class Vacm.* Fixed: Calling Request::position caused segmentation fault.  (Fortunately, never called from within AGENT++v3.3x)* Fixed: MibProxy: if two or more consecutive MibProxy  registrations were empty, then the agent would have been  returning END_OF_MIBVIEW, although a third MibEntry  would have been available. * Fixed: ~Mib() did not acquire all locks (mib_lock() and  start_synch() of deleted mib entries).* Fixed: Mib::process_set_request did not call   Mib::process_cleanup_set_request if prepare faild.* Fixed: Mib::add as well as MibContext::add detect duplicate  registrations. * Fixed: A failed commit for a MibLeaf scalar object did not

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -