summaryrefslogtreecommitdiff
path: root/ASNMP/asnmp/ChangeLog
blob: 7eaaf7140ab388ef382cbedc18164c2cfc54ae05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Wed Jul 15 20:27:23 1998  Mike MacFaden  <mrm@tango.cs.wustl.edu>
    * asn1.cpp - Hien Nguyen <hnguyen@apexgrp.com> 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  <mrm@tango.cs.wustl.edu>

	* 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
 	<ace/OS.h>

	* 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 <iostream.h> 

	* 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