Wed Jan 4 22:50:09 UTC 2006 J.T. Conklin * ChangeLog: Untabify. Delete-trailing-whitespace. Added "Local Variables" section defining "add-log-time-format" to a really ugly lambda expression that formats changelog timestamps in UTC and works with both GNU Emacs and XEmacs. Fri May 7 11:40:25 2004 Ossama Othman * pdu.cpp (agent_error_reason): Really fixed mismatched sprintf() format specifiers this time around. Thu May 6 11:13:25 2004 Ossama Othman * oid.cpp (operator+=, OidToStr): * pdu.cpp (agent_error_reason): Fixed warnings regarding mismatch format specifiers and arguments to sprintf(). Thu May 6 11:05:01 2004 Ossama Othman * gauge.h: Nuked trailing white space. Fri Apr 23 11:23:21 2004 Ossama Othman * oid.cpp: Missed some bool return types for equality operators. Thu Apr 22 23:03:48 2004 Ossama Othman * address.cpp: * address.h: * octet.cpp: * octet.h: * oid.cpp: * oid.h: * target.cpp: * target.h: * vb.cpp: * vb.h: Changed all return types for equality, relational and logical operators to "bool", as is the norm for modern C++. Fri Aug 29 07:57:05 2003 Ossama Othman * octet.cpp (to_string_hex): Fixed "string literal converted to char *" warning. String literals are now considered "const" by standard C++. Tue Mar 16 16:28:14 1999 David L. Levine * address.cpp, address.h, asn1.cpp, asn1.h, counter.cpp, ctr64.cpp, gauge.cpp, integer.cpp, octet.cpp, oid.cpp, pdu.cpp, sagent.cpp, snmp.cpp, target.cpp, timetick.cpp, transaction.cpp, vb.cpp, wpdu.cpp: replaced TRUE with 1, and FALSE and NULL with 0. Thanks to Achint Sandhu for reporting that TRUE and FALSE weren't define on his Linux platform. * wpdu.cpp (set_trap_info): wrapped condition with () to avoid g++ warning about using result of an assignment as the condition. * ctr64.cpp: made MAX64 unsigned, to avoid warning about it being to big to be signed. Wed Jul 15 20:27:23 1998 Mike MacFaden * asn1.cpp - Hien Nguyen fixed these bugs: Problem: The V1 trap agent-addr field tag value is OCTET STRING instead of IPADDRESS, and the time stamp field tag value is INTEGER instead of TIME TICKS. Fix: Change cmu_snmp::build() to pass in the correct type for agent-addr and time stamp. 2. Problem: The V1 trap enterprise OID is corrupted after is was set in wpdu constructor. Fix: In wpdu::set_trap_info(), the raw_pdu enterprise OID pointer was assigned to the raw data of an enterprise Oid object on the stack. Changed to perform an ACE_NEW_RETURN on the raw_pdu->enterprise and perform a memcpy to copy the OID. The allocated memory is freed in cmu_snmp::free_pdu() as currently implemented. 3. The V1 trap agent-addr field is currently initialized to "0.0.0.0". I changed wpdu::set_trap_info to initialize it to the local host IP Address. 4. I noticed that the memory allocation for OID in asn1.cpp using ACE_NEW consistently use (OID length * size(oid)) as the size. Shouldn't it be simply OID length ? Since there are numerous instances of this usage in asn1.cpp, I have not fixed those. If you can double check and fix these, I appreciate it. Wed Aug 20 15:11:23 1997 Mike MacFaden * rebuilt Makefile using g++dep * pdu.h pdu.cpp initialization errors fixed * address.h address.cpp IpAddress::to_octet() added 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 Local Variables: mode: change-log add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time)) indent-tabs-mode: nil End: