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