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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
|
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 <ecn@smart.net> 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 <mrm@tango.cs.wustl.edu>
* Thanks to Eric Newton's <ecn@smart.net> 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 <mrm@tango.cs.wustl.edu>
* 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 <mrm@tango.cs.wustl.edu>
* clean up two memory leaks in octet class and one umr
Thu Aug 21 20:59:23 1997 Mike MacFaden <mrm@tango.cs.wustl.edu>
* 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 <mrm@mrm-ss20.cisco.com (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 <amos@gezernet.co.il> 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 <schmidt@flamenco.cs.wustl.edu>
* 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
<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
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
|