Fri Jan 30 15:29:42 CST 1998 * fix vb.cpp to handle Gauge/uInt the same way. While retrieving ifTable found the bug. Wed Dec 10 12:09:36 CST 1997 * sagent.cpp, Eric Newton fix. result not checked. v1.8 Mon Dec 8 14:33:59 CST 1997 * Thanks to Eric Newton's continued patches Version 1.7 has fixes for: agent, base library Fix to the response type fixes the interoperability with CMU snmp on linux. (and SNMP Research as well) Initialize member of Pdu: output_ Send responses as response messages Deallocate and reset the io_vec The transaction object didn't initialize the io_vec used to receive a packet when it was used for an agent transaction. Cleans up a warning about using a const object from a previous patch. Removes the transaction object from the Reactor. Sun Nov 30 17:49:12 CST 1997 Mike MacFaden * Thanks to Eric Newton's apply patches: Removed G++ warnings: Removed unused variables Cleaned up unused args to functions Initialized variables Inserted casts in *printf* functions Added int return types to function definitions Converted some variables from int to size_t to cut down on sign comparison warnings Reordered constructor initializer lists Added return statements to functions returning int Modified for G++ language differences: Modified for loops for ANSI scoping rules Fixed Bugs: Deleted incorrect (cut-n-pasted) header to transaction.h Removed "assignment in if condition" error Added missing "break;" in switch statement in wpdu Features: Added async interface. Noise: Modified makefiles for g++ on Linux RedHat 4.1 * The new async interface has a test example in examples/get/get_async.cpp that is useful if you are extending the get application. * Fixed makefile to include -lasnmp when building tests/examples * Compile and test with ACE 4.4 on Solaris 2.5.1 using Sun CC 4.2 no warnings/errors. get_async will sigbus however in destructors. Thu Sep 4 18:56:12 1997 Mike MacFaden * commit agent/ mibs/ and update asnmp/ with sagent.h, cpp to implement a trivial SNMPv1 agent that hard codes support for mib II system group only. Fri Aug 22 23:43:20 1997 Mike MacFaden * clean up two memory leaks in octet class and one umr Thu Aug 21 20:59:23 1997 Mike MacFaden * Added Netbios address support to GenAddress and added DecNetAddress, AppleTalkAddress classes per CISCO-TC.my (ftp://ftp.cisco.com/pub/mibs) Tue Aug 19 20:19:32 1997 Michael R. MacFaden * change IpAddress::is_arpa() to is_private() and update the comments per RFC 1597. Add new test routine to verify this function in tests/Address_Test.cpp * add IpAddress::to_octet(OctetStr& val) which is useful when having to send a network address as an Octet String as in CISCO-PING-MIB.my Tue Aug 5 12:12:39 1997 Mike MacFaden (mrm@mrm-ss20) * Thanks to Amos Shapira apply patches to support IRIX 6.3. Stated request for: I think it would make things "righter" to make the code use C++ strings (and maybe vectors?). * Begin testing on HP-UX 10.01 (missing ucontext.h) Sat Aug 2 12:07:43 1997 Douglas C. Schmidt * Started to integrate the code into a more ACE-like style, e.g., added a the "asnmp/" prefix to all the header files so that we don't need to play games with the -I flags and so we can always know where we're getting the headers from. Fri Aug 1 19:23:52 1997 Mike MacFaden (mrm@mrm-ss20) * NOTES: This first version only tested on Solaris 2.5 * review classes for thread safety. Current thread design only allows for one thread to safely access any ASNMP object created. * run purify test of get routine no -memory leaks. * verify both shared archive/static archive types work with example programs * << Globals Changes >> * tested only archiver library version * reformat code to use one brace style. * changed all manifest constants defined as _XX to XX_ to stay out of compiler namespace * change all OS calls to use ACE_OS:: portability layer, #include * reformat code to use one consistent brace layout and redo header using ACE * remove semicolons on member functions foo{}; - not necessary * make get() methods const member functions * removed unnecessary casts that looked like this: and revamped all memory allocations via ACE_NEW macro new_oid = (SmiLPUINT32) new unsigned long [ smival.value.oid.len To ACE_NEW(new_oid, SmiUINT32[ smival.value.oid.len]) * Collapsed default constructors with constructors to constructors with default arguments. * removed unused #include * Added ACE_TRACE() to classes * change get_printable() to to_string() - there will be more java programmers in the future so this should be the first step... * removed ASYNC interface till it can be rebuilt using ACE patterns * Attempt to make interface more type strict but leaving generic interfaces as escape hatch. Example: CTarget becomes UdpTarget for UDP/IP based agents. * << Class Specific Changes >> * Oid class: - remove char * routines, simplify class - added suboid method and removed get_printable() overloads * CTarget class: - renamed to UdpTarget. Stay out of Microsoft Namespace per MSJ Article by Allen Hollub. * Varbind class: - remove generic set_value for char,int, etc. Too easy to get this wrong. Allow just types defined. - added overload for equality operator (==) - added new constructor to allow setting full vb state oid,value, exception - add to_string() * Address class: - change manifest constants to enums for address lengths, add IP V6 lens - add a netbios name class, still pretty worthless since I don't have spec in front of me yet... - rewrite resolver calls to be thread safe and cleaner by moving to two class (static) member functions: // thread safe routine to lookup ip address given hostname // return <> 0 on error static int resolve_to_addr(const char *hostname, in_addr& quad_addr); // thread safe routine to lookup name given ip address // return <> 0 on error static int resolve_to_hostname(const in_addr& quad_addr, char *hostname) * added some interrogation routines to class IpAddress: is_loopback() const; * Ctr64 class: - added constructor using long long datatype (needs to be made portable to NT * Pdu class: add to_string() * Classes added wpdu class: - a new adpater class between CMU and HP pdu, varbind data structures * transaction class: - implement get/getnext timeout and retry logic using ACE Reactor class, ACE_Time_Value Sat Jul 5 19:13:30 1997 Mike MacFaden (mrm@mrm-ss20) * unpacked snmp++.tar.Z into ACE_wrappers, remove X11 support. If you need GUI support in a communications package, something's wrong, very wrong.... * Change HP-UX Makefiles to use ACE makefile system * Change includes to use ACE OS Adaption Layer * change all OS calls to use ACE_OS:: versions * Add ACE_TRACE macros to all functions. * clean up the global namespace by puting all global functions into C++ classes as static member functions and make public only those that are used (uxsnmp.cpp, eventlist.cpp) * create README from readme.txt, COPYRIGHT files. * create tests/ directory rename ConsoleExamples to examples * cull out dead code modules and dump them into misc dir: oidname.cpp, ipresolv.cpp * ipresolv.cpp had broken hostname buffer size (200), when DNS has aways defined a max FQDN as 256...go figure. * add General Error handler since existing ones are not very useful in and of themselves. * change all _DEF to DEF_ since _ANYTHING is reserved for compiler writer namespace, NOT app writer * convert cmu code to use C++ new/delete from malloc/free so entire library uses C++ new constructor