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
244
245
246
247
248
249
250
251
252
253
254
255
256
|
0.9.9 (pending)
+ Added sanity check for max_leases (udhcp bug #1285) (me)
+ Finally got rid of the trailing space in enviromental vars (me)
+ added an new enviromental variable: $mask. It contains the number
of subnet bits for tools like ip route that require it.
(Bastian Blank <waldi@debian.org>, me)
0.9.8 (021031)
+ split up README files (me)
+ use /dev/urandom to seed xid's (instead of time(0)) (me)
+ fixed renew behavior (me)
+ udhcp now fits nicely into busybox
(Glenn McGrath <bug1@optushome.com.au> as well as myself)
+ updated client manpage (me)
+ both client and server now use sockets for signal handling,
hopefully, this will be the last needed change in signal
handling, I'm fairly certain all the possible races are now
closed. (me)
+ The server now restarts the auto_time timer when it receives
a SIGUSR1 (write out config file). (me)
+ Improve signal handling (David Poole)
+ Fix to config file parsing (Matt Kraai)
+ Fix load lease logic (me)
+ Fix clear_lease logic (me)
+ -h is now an alias for -H (udhcp bug #1253)
+ Shorter timeout on not receiving offers (me)
+ Improved signal behavior by client (me)
+ Would never assign end address (Keith Smith <keith@ksmith.com>)
+ Was improperly reporting yiaddr as siaddr (ben-udhcp@bdlow.net)
udhcp bug#1256
+ Fixed reading of client id (David Poole <davep@portsmith.com>)
+ change sys_errlist[] to strerror() as it aparently doesn't exist
(andersee <andersee@codepoet.org>)
+ fixed get_raw_packet so it returns -2 on non fatal errors
(Ted Lemon <Ted.Lemon@nominum.com>)
+ Improved (hopefully) NAKing behavior (me)
+ Added -b option (Jouni Malinen)
+ Compute checksums correctly on big endian hosts
(Jouni Malinen <jkmaline@cc.hut.fi>)
0.9.7 (020526)
+ Use add_lease in read_leases, sanitizes leases more, and clears out exprired
ones if there is no more room (me)
+ Moved udhcpd.leases to /var/lib/misc/udhcpd.leases (Debian bug #147747)
+ Change (obsolete) AF_INET in arping.c to PF_PACKET (Debian bug #127049)
+ Added script hook for DHCPNAK (nak), as well as providing the message option
(me)
+ Generate the paramaters request list by seeing what options in options.c are
ored with OPTION_REQ in options.c
+ Fix dhcp renew forgetfullness on client (bug #1230)
+ Fix dhcp release bug on client (bug #1231)
+ Set option request list for DHCP renew (bug #1233)
+ Set BOOTREQUEST/REPLY properly
+ Change client-identifier field to popularly expected behavior (me)
+ Only reopen port on errors (me)
+ Change fork/close/setsid structures to daemon() (me)
+ Allow user to specify udhcpd config file at run time (Steven, me)
+ Write pidfile after changing it (Steven CTR Carr <Steven.CTR.Carr@tc.faa.gov>)
+ Added env var docs to udhcpc man page (Matt)
+ Standardized lowercase udhcp in documentation (me)
+ Accept packets without a UDP checksum (me)
+ Accept packets with extra garbage (me)
+ Better error handling in files.c (me)
+ Combined read_interface function to reduce COMBINED_BINARY size (me)
+ Drop calc_length(), some servers choke on smaller packets (me)
+ Try to clean some fat out (me)
0.9.6 (011001)
+ Added bootp paramaters to server (me)
+ Added bootp paramaters to client (me)
+ Added vendor id to client (me)
+ Better pidfile handling in client and server (me)
+ Added man pages (Matt Kraai <kraai@alumni.carnegiemellon.edu>)
0.9.5 (010914)
+ Fixed $HOME and $PATH env passing (me)
+ Fixed client to only listen for raw packets on correct interface (me)
+ added --quit,-q option to quit after a lease is obtained (me)
+ Fixed 100% CPU utilization by client when interface is down (me)
0.9.4 (010827)
+ Force broadcast to broken clients that request unicast (ie, MSFT 98)
+ Make install rules (Adam J. Richter <adam@yggdrasil.com>)
+ One scripts, instead of many (Adam)
+ Removed script paramater info files (env vars only) (Adam)
+ Controlling of forking behavior in client (Adam)
+ General script.c/dhcpc.c cleanups (Adam)
0.9.3 (010820)
+ Increased debugging verbosity (me)
+ Cut trailing whitespace when reading config file (me)
+ added hostname option to client (me)
+ fixed a strncpy bug in script.c (me)
+ fixed a leaky socket in dhcpc.c (me)
+ fixed a leaky socket in dhcpd.c (me)
0.9.2 (010810)
+ Added raw sockets to client (me)
+ alignment fixes (Mark Huang)
+ compiler warning fixes (Mark Huang)
+ client now sends parameter list (Mark Huang/me)
+ added ipttl option
+ Does now not request broadcast packets
0.9.1 (010806)
+ Added udhcpc client
+ reorganized functions/files
+ listening socket now only binds to one interface
0.9.0 (010720) Major rewrite, current changes, goals:
+ should not segfault on bogus packets.
+ Options can be read from sname and file fields.
+ supports all DHCP messages (release, decline, inform).
+ IP block is now specified by a range of IP's.
+ Leases file now contains lease time (relative, or absolute).
+ Just about any DHCP option is now supported.
+ DNS entries are no longer read from resolv.conf
+ Lease file can be written periodically when the process receives a SIGUSR1
+ arpping should be supported on all arches.
+ support for DHCP relays.
+ DHCP messages can be unicast if the client requests it.
+ many, many, many other things.
0.8.29 (000323)
+ stable(?) release
0.8.28 (000323)
+ removed alarm as it was causing server to go down
+ removed debugging
+ break down dhcpd.c into manageable files
0.8.27 (000221)
+ OFFER also sends gateway/subnet (for picky dhcp clients)
+ multiple DNS now handled from resolv.conf if available
+ multiple WINS (from dhcpd.conf)
0.8.25 (000120)
+ now compiles *and* runs on a generic linux system
tested with a windows 98 client and the sample config
files in the samples directory.
0.8.24 (000117)
+ makeiplist tool has basic functionality in place
+ new sample config files
+ route add -host 255.255.255.255 dev eth0 added for generic linux
0.8.23 (000117)
+ NETtel specific fix for ignoring dhcp requests on 2nd interface
0.8.22 (000113)
+ minor changes to compile under a generic linux system
+ minor config file location changes for a generic linux system
+ makeiplist fixes.. still incomplete.. but etting closer
0.8.21 (000113)
+ now sends the correct server ip instead of hardcoded value
+ minor debugging fixes for critical messages
0.8.20 (000106)
+ cut out dhcp server checking.. this was causing dialout ppp
sessions with idle time set to never time out.
+ also removed the 10 second pause before launching.. as this
was originally to stop it replying to a dhcp client
on a NETtel which was really a bad way to do it in the
first place :-)
0.8.19 (000104)
+ fixes for route add -host on a machine that needs to run both
a DHCP client and server (dual eth box)
0.8.18 (991220)
+ Race conditions fixed by disabling alarm whilst the server is busy
+ Fixed continous clearing of the offered array so that it is only cleared
when it is dirty - (could change the position of when dirty is set)
0.8.17 (991212)
- has problems clearing out the offered array
0.8.16 (991203)
+ Non blocking error is changes to informational as it is not really
an error
0.8.15 (991129)
+ Servs the dns field 3 times (Nettel only) so that windows servers
dont time out whilst nettel is booting
0.8.14 (991126)
+ added owner check for the offered array so clean out time may be
increased
+ added new func to print out chadder/MAC
0.8.13 (991125)
+ added win95 support (w95 changed xid halfway through conversation)
+ had to change the offered array to use hardware addresses instead of xid
+ fixed re offered bug
+ added more debugging
0.8.12 (991111)
+ debugging was real bad.. cleaned up a bit.. needs overhaul
0.8.11 (991110)
+ fixed up offeredAddr array to actually be used now!! offeredAddr is
used to see if another simultaneous connecting client was offered
an address that we are about to offer another client (multiple
client bug)
+ removed re_offered variable as it breaks multiple client support
+ added lease time to ACK -- doesn't work if in OFFER
+ decreased internal array clear delay to 60 seconds
+ minor findAddr bug (returning -1 instead of 0)
+ if clients xid already in offeredAddr offer the same addr and don't add a
new addr to offered (caused by a client issuing multiple DISCOVERs)
0.8.10 (991105)
+ \n bug in arpping
+ minor debugging changes (removed printfs etc)
+ started browseiplist (not finished)
0.8.9 (19991105)
+ fixed options array size bug (options were cut off)
0.8.8 (19991105)
+ ignores requests from dhcpcd on the same machine
0.8.7 (19991104)
+ don't die if we can't bind to search for existing DHCP server
+ slightly more verbose syslogging
0.8.6 (19991103)
+ added makeiplist (not finished -- core dumps)
+ minor debug changes
0.8.5 (19991029)
+ exits if another DHCP server is already on the network
+ added Linux Makefile
0.8.4 (19991026)
+ minor bug fix in findaddr preventing an addr being found
0.8.3 (19991025)
+ fixed up debugging
+ minor hwaddr issues
0.8.2 (19991022)
+ free leases (new arpping code from dhcpcd)
+ fixed bug where crashes if no leases/iplist file
+ syslogging and debugging switch
+ serve DNS from resolv.conf
+ fixed bug where new lease added if same mac offered
+ now checks the ip is free b4 offering
+ now supports wins server
|