blob: 466f89f7c4fb380f41971ace4eb11623d14df504 [file] [log] [blame]
Simon Kelley078a6302012-06-07 13:56:23 +01001version 2.63
2 Do duplicate dhcp-host address check in --test mode.
3
Simon Kelley8b3ae2f2012-06-13 13:43:49 +01004 Check that tftp-root directories are accessible before
5 start-up. Thanks to Daniel Veillard for the initial patch.
6
7 Allow more than one --tfp-root flag. The per-interface
8 stuff is pointless without that.
9
Simon Kelley54dd3932012-06-20 11:23:38 +010010 Add --bind-dynamic. A hybrid mode between the default and
11 --bind-interfaces which copes with dynamically created
12 interfaces.
Simon Kelley6b617c02012-06-29 21:15:42 +010013
14 A couple of fixes to the build system for Android. Thanks
15 to Metin Kaya for the patches.
Simon Kelley54dd3932012-06-20 11:23:38 +010016
Simon Kelley8bc4cec2012-07-03 21:04:11 +010017 Remove the interface:<interface> argument in --dhcp-range, and
18 the interface argument to --enable-tftp. These were a
19 still-born attempt to allow automatic isolated
20 configuration by libvirt, but have never (to my knowledge)
21 been used, had very strange semantics, and have been
22 superceded by other mechanisms.
23
Simon Kelleyc4a7f902012-07-12 20:52:12 +010024 Fixed bug logging filenames when duplicate dhcp-host
25 addresses are found. Thanks to John Hanks for the patch.
26
Simon Kelley078a6302012-06-07 13:56:23 +010027
Simon Kelley8358e0f2012-04-29 21:53:09 +010028version 2.62
29 Update German translation. Thanks to Conrad Kostecki.
30
Simon Kelleyf632e562012-05-12 15:05:34 +010031 Cope with router-solict packets wich don't have a valid
32 source address. Thanks to Vladislav Grishenko for the patch.
33
Simon Kelley919dd7c2012-05-12 15:23:09 +010034 Fixed bug which caused missing periodic router
35 advertisements with some configurations. Thanks to
36 Vladislav Grishenko for the patch.
37
Simon Kelleyc64b7f62012-05-18 10:19:59 +010038 Fixed bug which broke DHCPv6/RA with prefix lengths
39 which are not divisible by 8. Thanks to Andre Coetzee
40 for spotting this.
41
Simon Kelley18c63ef2012-05-21 14:34:15 +010042 Fix non-response to router-solicitations when
43 router-advertisement configured, but DHCPv6 not
44 configured. Thanks to Marien Zwart for the patch.
45
Simon Kelley9f7f3b12012-05-28 21:39:57 +010046 Add --dns-rr, to allow arbitrary DNS resource records.
47
Simon Kelley5ae34bf2012-06-04 21:14:03 +010048 Fixed bug which broke RA scheduling when an interface had
49 two addresses in the same network. Thanks to Jim Bos for
50 his help nailing this.
51
Simon Kelley8358e0f2012-04-29 21:53:09 +010052
Simon Kelleyeabc6dd2012-03-07 20:28:20 +000053version 2.61
54 Re-write interface discovery code on *BSD to use
55 getifaddrs. This is more portable, more straightforward,
56 and allows us to find the prefix length for IPv6
57 addresses.
58
Simon Kelley01d1b8d2012-03-28 21:37:25 +010059 Add ra-names, ra-stateless and slaac keywords for DHCPv6.
60 Dnsmasq can now synthesise AAAA records for dual-stack
61 hosts which get IPv6 addresses via SLAAC. It is also now
62 possible to use SLAAC and stateless DHCPv6, and to
63 tell clients to use SLAAC addresses as well as DHCP ones.
64 Thanks to Dave Taht for help with this.
Simon Kelley7023e382012-03-09 12:05:49 +000065
Simon Kelley8b372702012-03-09 17:45:10 +000066 Add --dhcp-duid to allow DUID-EN uids to be used.
67
Simon Kelley8643ec72012-03-12 20:04:14 +000068 Explicity send DHCPv6 replies to the correct port, instead
69 of relying on clients to send requests with the correct
70 source address, since at least one client in the wild gets
Simon Kelley8358e0f2012-04-29 21:53:09 +010071 this wrong. Thanks to Conrad Kostecki for help tracking
Simon Kelley8643ec72012-03-12 20:04:14 +000072 this down.
Simon Kelleyeabc6dd2012-03-07 20:28:20 +000073
Simon Kelley8643ec72012-03-12 20:04:14 +000074 Send a preference value of 255 in DHCPv6 replies when
75 --dhcp-authoritative is in effect. This tells clients not
76 to wait around for other DHCP servers.
77
78 Better logging of DHCPv6 options.
79
Simon Kelleye759d422012-03-16 13:18:57 +000080 Add --host-record. Thanks to Rob Zwissler for the
81 suggestion.
82
Simon Kelleya9530962012-03-20 22:07:35 +000083 Invoke the DHCP script with action "tftp" when a TFTP file
84 transfer completes. The size of the file, address to which
85 it was sent and complete pathname are supplied. Note that
86 version 2.60 introduced some script incompatibilties
87 associated with DHCPv6, and this is a further change. To
88 be safe, scripts should ignore unknown actions, and if
89 not IPv6-aware, should exit if the environment
90 variable DNSMASQ_IAID is set. The use-case for this is
91 to track netboot/install. Suggestion from Shantanu
92 Gadgil.
93
94 Update contrib/port-forward/dnsmasq-portforward to reflect
95 the above.
96
97 Set the environment variable DNSMASQ_LOG_DHCP when running
98 the script id --log-dhcp is in effect, so that script can
Simon Kelley52d4abf2012-03-21 21:39:48 +000099 taylor their logging verbosity. Suggestion from Malte
100 Forkel.
101
102 Arrange that addresses specified with --listen-address
103 work even if there is no interface carrying the
104 address. This is chiefly useful for IPv4 loopback
105 addresses, where any address in 127.0.0.0/8 is a valid
106 loopback address, but normally only 127.0.0.1 appears on
107 the lo interface. Thanks to Mathieu Trudel-Lapierre for
108 the idea and initial patch.
Simon Kelleya9530962012-03-20 22:07:35 +0000109
Simon Kelley7d2b5c92012-03-23 10:00:02 +0000110 Fix crash, introduced in 2.60, when a DHCPINFORM is
111 received from a network which has no valid dhcp-range.
112 Thanks to Stephane Glondu for the bug report.
113
Simon Kelleyc8257542012-03-28 21:15:41 +0100114 Add a new DHCP lease time keyword, "deprecated" for
115 --dhcp-range. This is only valid for IPv6, and sets the
116 preffered lease time for both DHCP and RA to zero. The
117 effect is that clients can continue to use the address
118 for existing connections, but new connections will use
119 other addresses, if they exist. This makes hitless
120 renumbering at least possible.
121
122 Fix bug in address6_available() which caused DHCPv6 lease
Simon Kelley8358e0f2012-04-29 21:53:09 +0100123 aquisition to fail if more than one dhcp-range in use.
Simon Kelley18f0fb02012-03-31 21:18:55 +0100124
125 Provide RDNSS and DNSSL data in router advertisements,
126 using the settings provided for DHCP options
127 option6:domain-search and option6:dns-server.
Simon Kelley6c559c32012-04-02 20:40:34 +0100128
129 Tweak logo/favicon.ico to add some transparency. Thanks to
130 SamLT for work on this.
Simon Kelleyc8257542012-03-28 21:15:41 +0100131
Simon Kelley1023dcb2012-04-09 18:00:08 +0100132 Don't cache data from non-recursive nameservers, since it
133 may erroneously look like a valid CNAME to a non-exitant
134 name. Thanks to Ben Winslow for finding this.
Simon Kelley9380ba72012-04-16 14:41:56 +0100135
136 Call SO_BINDTODEVICE on the DHCP socket(s) when doing DHCP
Simon Kelley8358e0f2012-04-29 21:53:09 +0100137 on exactly one interface and --bind-interfaces is set. This
Simon Kelley9380ba72012-04-16 14:41:56 +0100138 makes the OpenStack use-case of one dnsmasq per virtual
139 interface work. This is only available on Linux; it's not
140 supported on other platforms. Thanks to Vishvananda Ishaya
Simon Kelleye46164e2012-04-16 16:39:38 +0100141 and the OpenStack team for the suggestion.
142
143 Updated French translation. Thanks to Gildas Le Nadan.
Simon Kelleyd1c759c2012-04-16 17:26:19 +0100144
145 Give correct from-cache answers to explict CNAME queries.
146 Thanks to Rob Zwissler for spotting this.
Simon Kelley1023dcb2012-04-09 18:00:08 +0100147
Simon Kelleyfc92ead2012-04-22 21:28:24 +0100148 Add --tftp-lowercase option. Thanks to Oliver Rath for the
Simon Kelley61ce6002012-04-20 21:28:49 +0100149 patch.
Simon Kelleydcffad22012-04-24 15:25:18 +0100150
151 Ensure that the DBus DhcpLeaseUpdated events are generated
152 when a lease goes through INIT_REBOOT state, even if the
Simon Kelley8358e0f2012-04-29 21:53:09 +0100153 dhcp-script is not in use. Thanks to Antoaneta-Ecaterina
Simon Kelleydcffad22012-04-24 15:25:18 +0100154 Ene for the patch.
Simon Kelley19d69be2012-04-27 10:14:34 +0100155
156 Fix failure of TFTP over IPv4 on OpenBSD platform. Thanks
157 to Brad Smith for spotting this.
Simon Kelley61ce6002012-04-20 21:28:49 +0100158
Simon Kelleyc8257542012-03-28 21:15:41 +0100159
Simon Kelleyc72daea2012-01-05 21:33:27 +0000160version 2.60
161 Fix compilation problem in Mac OS X Lion. Thanks to Olaf
162 Flebbe for the patch.
Simon Kelley74c95c22011-10-19 09:33:39 +0100163
Simon Kelleyc72daea2012-01-05 21:33:27 +0000164 Fix DHCP when using --listen-address with an IP address
165 which is not the primary address of an interface.
166
167 Add --dhcp-client-update option.
168
169 Add Lua integration. Dnsmasq can now execute a DHCP
170 lease-change script written in Lua. This needs to be
171 enabled at compile time by setting HAVE_LUASCRIPT in
172 src/config.h or running "make COPTS=-DHAVE_LUASCRIPT"
173 Thanks to Jan-Piet Mens for the idea and proof-of-concept
174 implementation.
175
176 Tidied src/config.h to distinguish between
177 platform-dependent compile-time options which are selected
178 automatically, and builder-selectable compile time
179 options. Document the latter better, and describe how to
180 set them from the make command line.
181
182 Tidied up IPPROTO_IP/SOL_IP (and IPv6 equivalent)
183 confusion. IPPROTO_IP works everywhere now.
184
185 Set TOS on DHCP sockets, this improves things on busy
186 wireless networks. Thanks to Dave Taht for the patch.
187
Simon Kelley984d2fd2012-01-06 14:34:32 +0000188 Determine VERSION automatically based on git magic:
189 release tags or hash values.
Simon Kelleyc72daea2012-01-05 21:33:27 +0000190
Simon Kelleya2761752012-01-18 16:07:21 +0000191 Improve start-up speed when reading large hosts files
192 containing many distinct addresses.
193
194 Fix problem if dnsmasq is started without the stdin,
195 stdout and stderr file descriptors open. This can manifest
196 itself as 100% CPU use. Thanks to Chris Moore for finding
197 this.
198
Simon Kelley9bbc8872012-02-09 21:33:09 +0000199 Fix shell-scripting bug in bld/pkg-wrapper. Thanks to
200 Mark Mitchell for the patch.
201
Simon Kelley751d6f42012-02-10 15:24:51 +0000202 Allow the TFP server or boot server in --pxe-service, to
203 be a domain name instead of an IP address. This allows for
204 round-robin to multiple servers, in the same way as
205 --dhcp-boot. A good suggestion from Cristiano Cumer.
206
Simon Kelleyfdacfb02012-02-28 15:20:25 +0000207 Support BUILDDIR variable in the Makefile. Allows builds
208 for multiple archs from the same source tree with eg.
209 make BUILDDIR=linux (relative to dnsmasq tree)
210 make BUILDDIR=/tmp/openbsd (absolute path)
Simon Kelleye5ffdb92012-02-13 14:19:25 +0000211 If BUILDDIR is not set, compilation happens in the src
Simon Kelleyb36ae192012-02-13 12:54:34 +0000212 directory, as before. Suggestion from Mark Mitchell.
213
Simon Kelleyfdacfb02012-02-28 15:20:25 +0000214 Support DHCPv6. Support is there for the sort of things
215 the existing v4 server does, including tags, options,
216 static addresses and relay support. Missing is prefix
217 delegation, which is probably not required in the dnsmasq
218 niche, and an easy way to accept prefix delegations from
219 an upstream DHCPv6 server, which is. Future plans include
220 support for DHCPv6 router option and MAC address option
221 (to make selecting clients by MAC address work like IPv4).
222 These will be added as the standards mature.
223 This code has been tested, but this is the first release,
224 so don't bet the farm on it just yet. Many thanks to all
225 testers who have got it this far.
Simon Kelley1adadf52012-02-13 22:15:58 +0000226
Simon Kelleyac8540c2012-02-26 20:57:31 +0000227 Support IPv6 router advertisements. This is a
228 simple-minded implementation, aimed at providing the
229 vestigial RA needed to go alongside IPv6. Is picks up
230 configuration from the DHCPv6 conf, and should just need
231 enabling with --enable-ra.
232
Simon Kelley552af8b2012-02-29 20:10:31 +0000233 Fix long-standing wrinkle with --localise-queries that
234 could result in wrong answers when DNS packets arrive
235 via an interface other than the expected one. Thanks to
236 Lorenzo Milesi and John Hanks for spotting this one.
Simon Kelley71ee7ee2012-03-03 18:06:49 +0000237
238 Update French translation. Thanks to Gildas Le Nadan.
Simon Kelley552af8b2012-02-29 20:10:31 +0000239
Simon Kelleydf66e342012-03-04 20:04:22 +0000240 Update Polish translation. Thanks to Jan Psota.
241
242
Simon Kelleyc72daea2012-01-05 21:33:27 +0000243version 2.59
244 Fix regression in 2.58 which caused failure to start up
245 with some combinations of dnsmasq config and IPv6 kernel
246 network config. Thanks to Brielle Bruns for the bug
247 report.
248
249 Improve dnsmasq's behaviour when network interfaces are
250 still doing duplicate address detection (DAD). Previously,
251 dnsmasq would wait up to 20 seconds at start-up for the
252 DAD state to terminate. This is broken for bridge
253 interfaces on recent Linux kernels, which don't start DAD
254 until the bridge comes up, and so can take arbitrary
255 time. The new behaviour lets dnsmasq poll for an arbitrary
256 time whilst providing service on other interfaces. Thanks
257 to Stephen Hemminger for pointing out the problem.
Simon Kelley74c95c22011-10-19 09:33:39 +0100258
259
Simon Kelley7de060b2011-08-26 17:24:52 +0100260version 2.58
261 Provide a definition of the SA_SIZE macro where it's
262 missing. Fixes build failure on openBSD.
263
264 Don't include a zero terminator at the end of messages
265 sent to /dev/log when /dev/log is a datagram socket.
266 Thanks to Didier Rabound for spotting the problem.
267
268 Add --dhcp-sequential-ip flag, to force allocation of IP
269 addresses in ascending order. Note that the default
270 pseudo-random mode is in general better but some
271 server-deployment applications need this.
272
273 Fix problem where a server-id of 0.0.0.0 is sent to a
274 client when a dhcp-relay is in use if a client renews a
275 lease after dnsmasq restart and before any clients on the
276 subnet get a new lease. Thanks to Mike Ruiz for assistance
277 in chasing this one down.
278
279 Don't return NXDOMAIN to an AAAA query if we have CNAME
280 which points to an A record only: NODATA is the correct
281 reply in this case. Thanks to Tom Fernandes for spotting
282 the problem.
283
284 Relax the need to supply a netmask in --dhcp-range for
285 networks which use a DHCP relay. Whilst this is still
286 desireable, in the absence of a netmask dnsmasq will use
287 a default based on the class (A, B, or C) of the address.
288 This should at least remove a cause of mysterious failure
289 for people using RFC1918 addresses and relays.
290
291 Add support for Linux conntrack connection marking. If
292 enabled with --conntrack, the connection mark for incoming
293 DNS queries will be copied to the outgoing connections
294 used to answer those queries. This allows clever firewall
295 and accounting stuff. Only available if dnsmasq is
296 compiled with HAVE_CONNTRACK and adds a dependency on
297 libnetfilter-conntrack. Thanks to Ed Wildgoose for the
298 initial idea, testing and sponsorship of this function.
299
300 Provide a sane error message when someone attempts to
301 match a tag in --dhcp-host.
302
303 Tweak the behaviour of --domain-needed, to avoid problems
304 with recursive nameservers downstream of dnsmasq. The new
305 behaviour only stops A and AAAA queries, and returns
306 NODATA rather than NXDOMAIN replies.
307
308 Efficiency fix for very large DHCP configurations, thanks
309 to James Gartrell and Mike Ruiz for help with this.
310
311 Allow the TFTP-server address in --dhcp-boot to be a
312 domain-name which is looked up in /etc/hosts. This can
313 give multiple IP addresses which are used round-robin,
314 thus doing TFTP server load-balancing. Thanks to Sushil
315 Agrawal for the patch.
316
317 When two tagged dhcp-options for a particular option
318 number are both valid, use the one which is valid without
319 a tag from the dhcp-range. Allows overriding of the value
320 of a DHCP option for a particular host as well as
321 per-network values. So
322 --dhcp-range=set:interface1,......
323 --dhcp-host=set:myhost,.....
324 --dhcp-option=tag:interface1,option:nis-domain,"domain1"
325 --dhcp-option=tag:myhost,option:nis-domain,"domain2"
326 will set the NIS-domain to domain1 for hosts in the range, but
327 override that to domain2 for a particular host.
328
329 Fix bug which resulted in truncated files and timeouts for
330 some TFTP transfers. The bug only occurs with netascii
331 transfers and needs an unfortunate relationship between
332 file size, blocksize and the number of newlines in the
333 last block before it manifests itself. Many thanks to
334 Alkis Georgopoulos for spotting the problem and providing
335 a comprehensive test-case.
336
337 Fix regression in TFTP server on *BSD platforms introduced
338 in version 2.56, due to confusion with sockaddr
339 length. Many thanks to Loïc Pefferkorn for finding this.
340
341 Support scope-ids in IPv6 addresses of nameservers from
342 /etc/resolv.conf and in --server options. Eg
343 nameserver fe80::202:a412:4512:7bbf%eth0 or
344 server=fe80::202:a412:4512:7bbf%eth0. Thanks to
345 Michael Stapelberg for the suggestion.
346
347 Update Polish translation, thanks to Jan Psota.
348
349 Update French translation. Thanks to Gildas Le Nadan.
350
351
Simon Kelley572b41e2011-02-18 18:11:18 +0000352version 2.57
353 Add patches to allow build under Android.
354
355 Provide our own header for the DNS protocol, rather than
356 relying on arpa/nameser.h. This has proved more or less
357 defective over the years and the final straw is that it's
358 effectively empty on Android.
359
360 Fix regression in 2.56 which caused hex constants in
361 configuration to be rejected if they contain the '*'
362 wildcard.
363
364 Correct wrong casts of arguments to ctype.h functions,
365 isdigit(), isxdigit() etc. Thanks to Matthias Andree for
366 spotting this.
367
368 Allow build with IDN support independently from i18n.
369 IDN support continues to be included automatically
370 when i18n is included.
371 'make COPTS=-DHAVE_IDN' is the magic incantation.
372
373 Modify check on extraneous command line junk (added in
374 2.56) so that it doesn't complain about extra _empty_
375 arguments. Otherwise this breaks libvirt.
376
377
Simon Kelley28866e92011-02-14 20:19:14 +0000378version 2.56
379 Add a patch to allow dnsmasq to get interface names right in a
380 Solaris zone. Thanks to Dj Padzensky for this.
381
382 Improve data-type parsing heuristics so that
383 --dhcp-option=option:domain-search,.
384 treats the value as a string and not an IP address.
385 Thanks to Clemens Fischer for spotting that.
386
387 Add IPv6 support to the TFTP server. Many thanks to Jan
388 'RedBully' Seiffert for the patches.
389
390 Log DNS queries at level LOG_INFO, rather then
391 LOG_DEBUG. This makes things consistent with DHCP
392 logging. Thanks to Adam Pribyl for spotting the problem.
393
394 Ensure that dnsmasq terminates cleanly when using
395 --syslog-async even if it cannot make a connection to the
396 syslogd.
397
398 Add --add-mac option. This is to support currently
399 experimental DNS filtering facilities. Thanks to Benjamin
400 Petrin for the orignal patch.
401
402 Fix bug which meant that tags were ignored in dhcp-range
403 configuration specifying PXE-proxy service. Thanks to
404 Cristiano Cumer for spotting this.
405
406 Raise an error if there is extra junk, not part of an
407 option, on the command line.
408
409 Flag a couple of log messages in cache.c as coming from
410 the DHCP subsystem. Thanks to Olaf Westrik for the patch.
411
412 Omit timestamps from logs when a) logging to stderr and
413 b) --keep-in-forground is set. The logging facility on the
414 other end of stderr can be assumned to supply them. Thanks
415 to John Hallam for the patch.
416
417 Don't complain about strings longer than 255 characters in
418 --txt-record, just split the long strings into 255
419 character chunks instead.
420
421 Fix crash on double-free. This bug can only happen when
422 dhcp-script is in use and then only in rare circumstances
423 triggered by high DHCP transaction rate and a slow
424 script. Thanks to Ferenc Wagner for finding the problem.
425
426 Only log that a file has been sent by TFTP after the
427 transfer has completed succesfully.
428
429 A good suggestion from Ferenc Wagner: extend
430 the --domain option to allow this sort of thing:
431 --domain=thekelleys.org.uk,192.168.0.0/24,local
432 which automatically creates
433 --local=/thekelleys.org.uk/
434 --local=/0.168.192.in-addr.arpa/
435
436 Tighten up syntax checking of hex contants in the config
437 file. Thanks to Fred Damen for spotting this.
438
439 Add dnsmasq logo/icon, contributed by Justin Swift. Many
440 thanks for that.
441
442 Never cache DNS replies which have the 'cd' bit set, or
443 which result from queries forwarded with the 'cd' bit
444 set. The 'cd' bit instructs a DNSSEC validating server
445 upstream to ignore signature failures and return replies
446 anyway. Without this change it's possible to pollute the
447 dnsmasq cache with bad data by making a query with the
448 'cd' bit set and subsequent queries would return this data
449 without its being marked as suspect. Thanks to Anders
450 Kaseorg for pointing out this problem.
451
452 Add --proxy-dnssec flag, for compliance with RFC
453 4035. Dnsmasq will now clear the 'ad' bit in answers returned
454 from upstream validating nameservers unless this option is
455 set.
456
457 Allow a filename of "-" for --conf-file to read
458 stdin. Suggestion from Timothy Redaelli.
459
460 Rotate the order of SRV records in replies, to provide
461 round-robin load balancing when all the priorities are
462 equal. Thanks to Peter McKinney for the suggestion.
463
464 Edit
465 contrib/MacOSX-launchd/uk.org.thekelleys.dnsmasq.plist
466 so that it doesn't log all queries to a file by
467 default. Thanks again to Peter McKinney.
468
469 By default, setting an IPv4 address for a domain but not
470 an IPv6 address causes dnsmasq to return
471 an NODATA reply for IPv6 (or vice-versa). So
472 --address=/google.com/1.2.3.4 stops IPv6 queries for
473 *google.com from being forwarded. Make it possible to
474 override this behaviour by defining the sematics if the
475 same domain appears in both --server and --address.
476 In that case, the --address has priority for the address
477 family in which is appears, but the --server has priority
478 of the address family which doesn't appear in --adddress
479 So:
480 --address=/google.com/1.2.3.4
481 --server=/google.com/#
482 will return 1.2.3.4 for IPv4 queries for *.google.com but
483 forward IPv6 queries to the normal upstream nameserver.
484 Similarly when setting an IPv6 address
485 only this will allow forwarding of IPv4 queries. Thanks to
486 William for pointing out the need for this.
487
488 Allow more than one --dhcp-optsfile and --dhcp-hostsfile
489 and make them understand directories as arguments in the
490 same way as --addn-hosts. Suggestion from John Hanks.
491
492 Ignore rebinding requests for leases we don't know
493 about. Rebind is broadcast, so we might get to overhear a
494 request meant for another DHCP server. NAKing this is
495 wrong. Thanks to Brad D'Hondt for assistance with this.
496
Simon Kelley572b41e2011-02-18 18:11:18 +0000497 Fix cosmetic bug which produced strange output when
498 dumping cache statistics with some configurations. Thanks
499 to Fedor Kozhevnikov for spotting this.
Simon Kelley28866e92011-02-14 20:19:14 +0000500
501
Simon Kelleyc52e1892010-06-07 22:01:39 +0100502version 2.55
Simon Kelley28866e92011-02-14 20:19:14 +0000503 Fix crash when /etc/ethers is in use. Thanks to
504 Gianluigi Tiesi for finding this.
Simon Kelleyc52e1892010-06-07 22:01:39 +0100505
Simon Kelley28866e92011-02-14 20:19:14 +0000506 Fix crash in netlink_multicast(). Thanks to Arno Wald for
507 finding this one.
Simon Kelleyc52e1892010-06-07 22:01:39 +0100508
Simon Kelley28866e92011-02-14 20:19:14 +0000509 Allow the empty domain "." in dhcp domain-search (119)
510 options.
Simon Kelleyc52e1892010-06-07 22:01:39 +0100511
512
513version 2.54
Simon Kelley28866e92011-02-14 20:19:14 +0000514 There is no version 2.54 to avoid confusion with 2.53,
515 which incorrectly identifies itself as 2.54.
Simon Kelleyc52e1892010-06-07 22:01:39 +0100516
517
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100518version 2.53
519 Fix failure to compile on Debian/kFreeBSD. Thanks to
520 Axel Beckert and Petr Salinger.
521
522 Fix code to avoid scary strict-aliasing warnings
523 generated by gcc 4.4.
524
525 Added FAQ entry warning about DHCP failures with Vista
526 when firewalls block 255.255.255.255.
527
528 Fixed bug which caused bad things to happen if a
529 resolv.conf file which exists is subsequently removed.
530 Thanks to Nikolai Saoukh for the patch.
531
532 Rationalised the DHCP tag system. Every configuration item
533 which can set a tag does so by adding "set:<tag>" and
534 every configuration item which is conditional on a tag is
535 made so by "tag:<tag>". The NOT operator changes to '!',
536 which is a bit more intuitive too. Dhcp-host directives
537 can set more than one tag now. The old '#' NOT,
538 "net:" prefix and no-prefixes are still honoured, so
539 no existing config file needs to be changed, but
540 the documentation and new-style config files should be
541 much less confusing.
542
543 Added --tag-if to allow boolean operations on tags.
544 This allows complicated logic to be clearer and more
545 general. A great suggestion from Richard Voigt.
546
547 Add broadcast/unicast information to DHCP logging.
548
549 Allow --dhcp-broadcast to be unconditional.
550
551 Fixed incorrect behaviour with NOT <tag> conditionals in
552 dhcp-options. Thanks to Max Turkewitz for assistance
553 finding this.
554
555 If we send vendor-class encapsulated options based on the
556 vendor-class supplied by the client, and no explicit
557 vendor-class option is given, echo back the vendor-class
558 from the client.
559
560 Fix bug which stopped dnsmasq from matching both a
561 circuitid and a remoteid. Thanks to Ignacio Bravo for
562 finding this.
563
564 Add --dhcp-proxy, which makes it possible to configure
565 dnsmasq to use a DHCP relay agent as a full proxy, with
566 all DHCP messages passing through the proxy. This is
567 useful if the relay adds extra information to the packets
568 it forwards, but cannot be configured with the RFC 5107
569 server-override option.
570
571 Added interface:<iface name> part to dhcp-range. The
572 semantics of this are very odd at first sight, but it
573 allows a single line of the form
574 dhcp-range=interface:virt0,192.168.0.4,192.168.0.200
575 to be added to dnsmasq configuration which then supplies
576 DHCP and DNS services to that interface, without affecting
577 what services are supplied to other interfaces and
578 irrespective of the existance or lack of
579 interface=<interface>
580 lines elsewhere in the dnsmasq configuration. The idea is
581 that such a line can be added automatically by libvirt
582 or equivalent systems, without disturbing any manual
583 configuration.
584
585 Similarly to the above, allow --enable-tftp=<interface>
586
587 Allow a TFTP root to be set separately for requests via
588 different interfaces, --tftp-root=<path>,<interface>
589
590 Correctly handle and log clashes between CNAMES and
591 DNS names being given to DHCP leases. This fixes a bug
592 which caused nonsense IP addresses to be logged. Thanks to
593 Sergei Zhirikov for finding and analysing the problem.
594
595 Tweak flush_log so as to avoid leaving the log
596 file in non-blocking mode. O_NONBLOCK is a property of the
597 file, not the process/descriptor.
598
599 Fix contrib/Solaris10/create_package
600 (/usr/man -> /usr/share/man) Thanks to Vita Batrla.
601
602 Fix a problem where, if a client got a lease, then went
603 to another subnet and got another lease, then moved back,
604 it couldn't resume the old lease, but would instead get
605 a new address. Thanks to Leonardo Rodrigues for spotting
606 this and testing the fix.
607
608 Fix weird bug which sometimes omitted certain characters
609 from the start of quoted strings in dhcp-options. Thanks
610 to Dayton Turner for spotting the problem.
611
612 Add facility to redirect some domains to the standard
613 upstream servers: this allows something like
614 --server=/google.com/1.2.3.4 --server=/www.google.com/#
615 which will send queries for *.google.com to 1.2.3.4,
616 except *www.google.com which will be forwarded as usual.
617 Thanks to AJ Weber for prompting this addition.
618
619 Improve the hash-algorithm used to generate IP addresses
620 from MAC addresses during initial DHCP address
621 allocation. This improves performance when large numbers
622 of hosts with similar MAC addresses all try and get an IP
623 address at the same time. Thanks to Paul Smith for his
624 work on this.
625
626 Tweak DHCP code so that --bridge-interface can be used to
627 select which IP alias of an interface should be used for
628 DHCP purposes on Linux. If eth0 has an alias eth0:dhcp
629 then adding --bridge-interface=eth0:dhcp,eth0 will use
630 the address of eth0:dhcp to determine the correct subnet
631 for DHCP address allocation. Thanks to Pawel Golaszewski
632 for prompting this and Eric Cooper for further testing.
633
634 Add --dhcp-generate-names. Suggestion by Ferenc Wagner.
635
636 Tweak DNS server selection algorithm when there is more
637 than one server available for a domain, eg.
638 --server=/mydomain/1.1.1.1
639 --server=/mydomain/2.2.2.2
640 Thanks to Alberto Cuesta-Canada for spotting a weakness
641 here.
642
643 Add --max-ttl. Thanks to Fredrik Ringertz for the patch.
644
645 Allow --log-facility=- to force all logging to
646 stderr. Suggestion from Clemens Fischer.
647
648 Fix regression which caused configuration like
649 --address=/.domain.com/1.2.3.4 to be rejected. The dot to the
650 left of the domain has been implied and not required for a
651 long time, but it should be accepted for backward
652 compatibility. Thanks to Andrew Burcin for spotting this.
653
654 Add --rebind-domain-ok and --rebind-localhost-ok.
655 Suggestion from Clemens Fischer.
656
657 Log replies to queries of type TXT, when --log-queries
658 is set.
659
660 Fix compiler warnings when compiled with -DNO_DHCP. Thanks
661 to Shantanu Gadgil for the patch.
662
663 Updated French translation. Thanks to Gildas Le Nadan.
664
665 Updated Polish translation. Thanks to Jan Psota.
666
667 Updated German translation. Thanks to Matthias Andree.
668
669 Added contrib/static-arp, thanks to Darren Hoo.
670
671 Fix corruption of the domain when a name from /etc/hosts
672 overrides one supplied by a DHCP client. Thanks to Fedor
673 Kozhevnikov for spotting the problem.
674
675 Updated Spanish translation. Thanks to Chris Chatham.
676
677
Simon Kelley316e2732010-01-22 20:16:09 +0000678version 2.52
679 Work around a Linux kernel bug which insists that the
680 length of the option passed to setsockopt must be at least
681 sizeof(int) bytes, even if we're calling SO_BINDTODEVICE
682 and the device name is "lo". Note that this is fixed
683 in kernel 2.6.31, but the workaround is harmless and
684 allows earlier kernels to be used. Also fix dnsmasq
685 bug which reported the wrong address when this failed.
686 Thanks to Fedor for finding this.
687
688 The API for IPv6 PKTINFO changed around Linux kernel
689 2.6.14. Workaround the case where dnsmasq is compiled
690 against newer headers, but then run on an old kernel:
691 necessary for some *WRT distros.
692
693 Re-read the set of network interfaces when re-loading
694 /etc/resolv.conf if --bind-interfaces is not set. This
695 handles the case that loopback interfaces do not exist
696 when dnsmasq is first started.
697
698 Tweak the PXE code to support port 4011. This should
699 reduce broadcasts and make things more reliable when other
700 servers are around. It also improves inter-operability
701 with certain clients.
702
703 Make a pxe-service configuration with no filename or boot
704 service type legal: this does a local boot. eg.
705 pxe-service=x86PC, "Local boot"
706
707 Be more conservative in detecting "A for A"
708 queries. Dnsmasq checks if the name in a type=A query looks
709 like a dotted-quad IP address and answers the query itself
710 if so, rather than forwarding it. Previously dnsmasq
711 relied in the library function inet_addr() to convert
712 addresses, and that will accept some things which are
713 confusing in this context, like 1.2.3 or even just
714 1234. Now we only do A for A processing for four decimal
715 numbers delimited by dots.
716
717 A couple of tweaks to fix compilation on Solaris. Thanks
718 to Joel Macklow for help with this.
719
720 Another Solaris compilation tweak, needed for Solaris
721 2009.06. Thanks to Lee Essen for that.
722
723 Added extract packaging stuff from Lee Essen to
724 contrib/Solaris10.
725
726 Increased the default limit on number of leases to 1000
727 (from 150). This is mainly a defence against DoS attacks,
728 and for the average "one for two class C networks"
729 installation, IP address exhaustion does that just as
730 well. Making the limit greater than the number of IP
731 addresses available in such an installation removes a
732 surprise which otherwise can catch people out.
733
734 Removed extraneous trailing space in the value of the
735 DNSMASQ_TIME_REMAINING DNSMASQ_LEASE_LENGTH and
736 DNSMASQ_LEASE_EXPIRES environment variables. Thanks to
737 Gildas Le Nadan for spotting this.
738
739 Provide the network-id tags for a DHCP transaction to
740 the lease-change script in the environment variable
741 DNSMASQ_TAGS. A good suggestion from Gildas Le Nadan.
742
743 Add support for RFC3925 "Vendor-Identifying Vendor
744 Options". The syntax looks like this:
745 --dhcp-option=vi-encap:<enterprise number>, .........
746
747 Add support to --dhcp-match to allow matching against
748 RFC3925 "Vendor-Identifying Vendor Classes". The syntax
749 looks like this:
750 --dhcp-match=tag,vi-encap<enterprise number>, <value>
751
752 Add some application specific code to assist in
753 implementing the Broadband forum TR069 CPE-WAN
754 specification. The details are in contrib/CPE-WAN/README
755
756 Increase the default DNS packet size limit to 4096, as
757 recommended by RFC5625 section 4.4.3. This can be
758 reconfigured using --edns-packet-max if needed. Thanks to
759 Francis Dupont for pointing this out.
760
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100761 Rewrite query-ids even for TSIG signed packets, since
Simon Kelley316e2732010-01-22 20:16:09 +0000762 this is allowed by RFC5625 section 4.5.
763
764 Use getopt_long by default on OS X. It has been supported
765 since version 10.3.0. Thanks to Arek Dreyer for spotting
766 this.
767
768 Added up-to-date startup configuration for MacOSX/launchd
769 in contrib/MacOSX-launchd. Thanks to Arek Dreyer for
770 providing this.
771
772 Fix link error when including Dbus but excluding DHCP.
773 Thanks to Oschtan for the bug report.
774
775 Updated French translation. Thanks to Gildas Le Nadan.
776
777 Updated Polish translation. Thanks to Jan Psota.
778
779 Updated Spanish translation. Thanks to Chris Chatham.
780
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100781 Fixed confusion about domains, when looking up DHCP hosts
782 in /etc/hosts. This could cause spurious "Ignoring
783 domain..." messages. Thanks to Fedor Kozhevnikov for
784 finding and analysing the problem.
Simon Kelley316e2732010-01-22 20:16:09 +0000785
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100786
Simon Kelley1f15b812009-10-13 17:49:32 +0100787version 2.51
788 Add support for internationalised DNS. Non-ASCII characters
789 in domain names found in /etc/hosts, /etc/ethers and
790 /etc/dnsmasq.conf will be correctly handled by translation to
791 punycode, as specified in RFC3490. This function is only
792 available if dnsmasq is compiled with internationalisation
793 support, and adds a dependency on GNU libidn. Without i18n
794 support, dnsmasq continues to be compilable with just
795 standard tools. Thanks to Yves Dorfsman for the
796 suggestion.
797
798 Add two more environment variables for lease-change scripts:
799 First, DNSMASQ_SUPPLIED_HOSTNAME; this is set to the hostname
800 supplied by a client, even if the actual hostname used is
801 over-ridden by dhcp-host or dhcp-ignore-names directives.
802 Also DNSMASQ_RELAY_ADDRESS which gives the address of
803 a DHCP relay, if used.
804 Suggestions from Michael Rack.
805
806 Fix regression which broke echo of relay-agent
807 options. Thanks to Michael Rack for spotting this.
808
809 Don't treat option 67 as being interchangeable with
810 dhcp-boot parameters if it's specified as
811 dhcp-option-force.
812
813 Make the code to call scripts on lease-change compile-time
814 optional. It can be switched off by editing src/config.h
815 or building with "make COPTS=-DNO_SCRIPT".
816
817 Make the TFTP server cope with filenames from Windows/DOS
818 which use '\' as pathname separator. Thanks to Ralf for
819 the patch.
820
821 Updated Polish translation. Thanks to Jan Psota.
822
823 Warn if an IP address is duplicated in /etc/ethers. Thanks
824 to Felix Schwarz for pointing this out.
825
826 Teach --conf-dir to take an option list of file suffices
827 which will be ignored when scanning the directory. Useful
828 for backup files etc. Thanks to Helmut Hullen for the
829 suggestion.
830
831 Add new DHCP option named tftpserver-address, which
832 corresponds to the third argument of dhcp-boot. This
833 allows the complete functionality of dhcp-boot to be
834 replicated with dhcp-option. Useful when using
835 dhcp-optsfile.
836
837 Test which upstream nameserver to use every 10 seconds
838 or 50 queries and not just when a query times out and
839 is retried. This should improve performance when there
840 is a slow nameserver in the list. Thanks to Joe for the
841 suggestion.
842
843 Don't do any PXE processing, even for clients with the
844 correct vendorclass, unless at least one pxe-prompt or
845 pxe-service option is given. This stops dnsmasq
846 interfering with proxy PXE subsystems when it is just
847 the DHCP server. Thanks to Spencer Clark for spotting this.
848
849 Limit the blocksize used for TFTP transfers to a value
850 which avoids packet fragmentation, based on the MTU of the
851 local interface. Many netboot ROMs can't cope with
852 fragmented packets.
853
854 Honour dhcp-ignore configuration for PXE and proxy-PXE
855 requests. Thanks to Niels Basjes for the bug report.
856
857 Updated French translation. Thanks to Gildas Le Nadan.
858
859
Simon Kelley77e94da2009-08-31 17:32:17 +0100860version 2.50
Simon Kelley1f15b812009-10-13 17:49:32 +0100861 Fix security problem which allowed any host permitted to
Simon Kelley77e94da2009-08-31 17:32:17 +0100862 do TFTP to possibly compromise dnsmasq by remote buffer
863 overflow when TFTP enabled. Thanks to Core Security
864 Technologies and Iván Arce, Pablo Hernán Jorge, Alejandro
865 Pablo Rodriguez, Martín Coco, Alberto Soliño Testa and
866 Pablo Annetta. This problem has Bugtraq id: 36121
867 and CVE: 2009-2957
868
869 Fix a problem which allowed a malicious TFTP client to
870 crash dnsmasq. Thanks to Steve Grubb at Red Hat for
871 spotting this. This problem has Bugtraq id: 36120 and
872 CVE: 2009-2958
873
874
Simon Kelley03a97b62009-06-10 20:55:49 +0100875version 2.49
876 Fix regression in 2.48 which disables the lease-change
877 script. Thanks to Jose Luis Duran for spotting this.
878
879 Log TFTP "file not found" errors. These were not logged,
880 since a normal PXELinux boot generates many of them, but
881 the lack of the messages seems to be more confusing than
882 routinely seeing them when there is no real error.
883
884 Update Spanish translation. Thanks to Chris Chatham.
885
886
Simon Kelley7622fc02009-06-04 20:32:05 +0100887version 2.48
888 Archived the extensive, backwards, changelog to
889 CHANGELOG.archive. The current changelog now runs from
890 version 2.43 and runs conventionally.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000891
Simon Kelley7622fc02009-06-04 20:32:05 +0100892 Fixed bug which broke binding of servers to physical
893 interfaces when interface names were longer than four
894 characters. Thanks to MURASE Katsunori for the patch.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000895
Simon Kelley7622fc02009-06-04 20:32:05 +0100896 Fixed netlink code to check that messages come from the
897 correct source, and not another userspace process. Thanks
898 to Steve Grubb for the patch.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000899
Simon Kelley7622fc02009-06-04 20:32:05 +0100900 Maintainability drive: removed bug and missing feature
901 workarounds for some old platforms. Solaris 9, OpenBSD
902 older than 4.1, Glibc older than 2.2, Linux 2.2.x and
903 DBus older than 1.1.x are no longer supported.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000904
Simon Kelley7622fc02009-06-04 20:32:05 +0100905 Don't read included configuration files more than once:
906 allows complex configuration structures without problems.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000907
Simon Kelley7622fc02009-06-04 20:32:05 +0100908 Mark log messages from the various subsystems in dnsmasq:
909 messages from the DHCP subsystem now have the ident string
910 "dnsmasq-dhcp" and messages from TFTP have ident
911 "dnsmasq-tftp". Thanks to Olaf Westrik for the patch.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000912
Simon Kelley7622fc02009-06-04 20:32:05 +0100913 Fix possible infinite DHCP protocol loop when an IP
914 address nailed to a hostname (not a MAC address) and a
915 host sometimes provides the name, sometimes not.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000916
Simon Kelley7622fc02009-06-04 20:32:05 +0100917 Allow --addn-hosts to take a directory: all the files
918 in the directory are read. Thanks to Phil Cornelius for
919 the suggestion.
Simon Kelley9e4abcb2004-01-22 19:47:41 +0000920
Simon Kelley7622fc02009-06-04 20:32:05 +0100921 Support --bridge-interface on all platforms, not just BSD.
Simon Kelley1ab84e22004-01-29 16:48:35 +0000922
Simon Kelley7622fc02009-06-04 20:32:05 +0100923 Added support for advanced PXE functions. It's now
924 possible to define a prompt and menu options which will
925 be displayed when a client PXE boots. It's also possible to
926 hand-off booting to other boot servers. Proxy-DHCP, where
927 dnsmasq just supplies the PXE information and another DHCP
928 server does address allocation, is also allowed. See the
929 --pxe-prompt and --pxe-service keywords. Thanks to
930 Alkis Georgopoulos for the suggestion and Guilherme Moro
931 and Michael Brown for assistance.
Simon Kelley1ab84e22004-01-29 16:48:35 +0000932
Simon Kelley7622fc02009-06-04 20:32:05 +0100933 Improvements to DHCP logging. Thanks to Tom Metro for
934 useful suggestions.
935
936 Add ability to build dnsmasq without DHCP support. To do
937 this, edit src/config.h or build with
938 "make COPTS=-DNO_DHCP". Thanks to Mahavir Jain for the patch.
939
940 Added --test command-line switch - syntax check
941 configuration files only.
Simon Kelley33820b72004-04-03 21:10:00 +0100942
Simon Kelley7622fc02009-06-04 20:32:05 +0100943 Updated French translation. Thanks to Gildas Le Nadan.
Simon Kelley9009d742008-11-14 20:04:27 +0000944
Simon Kelley73a08a22009-02-05 20:28:08 +0000945
946version 2.47
947 Updated French translation. Thanks to Gildas Le Nadan.
948
949 Fixed interface enumeration code to work on NetBSD
950 5.0. Thanks to Roy Marples for the patch.
951
952 Updated config.h to use the same location for the lease
953 file on NetBSD as the other *BSD variants. Also allow
954 LEASEFILE and CONFFILE symbols to be overriden in CFLAGS.
955
956 Handle duplicate address detection on IPv6 more
957 intelligently. In IPv6, an interface can have an address
958 which is not usable, because it is still undergoing DAD
959 (such addresses are marked "tentative"). Attempting to
960 bind to an address in this state returns an error,
961 EADDRNOTAVAIL. Previously, on getting such an error,
962 dnsmasq would silently abandon the address, and never
963 listen on it. Now, it retries once per second for 20
964 seconds before generating a fatal error. 20 seconds should
965 be long enough for any DAD process to complete, but can be
966 adjusted in src/config.h if necessary. Thanks to Martin
967 Krafft for the bug report.
968
969 Add DBus introspection. Patch from Jeremy Laine.
970
971 Update Dbus configuration file. Patch from Colin Walters.
972 Fix for this bug:
973 http://bugs.freedesktop.org/show_bug.cgi?id=18961
974
975 Support arbitrarily encapsulated DHCP options, suggestion
976 and initial patch from Samium Gromoff. This is useful for
977 (eg) gPXE, which expect all its private options to be
978 encapsulated inside a single option 175. So, eg,
979
980 dhcp-option = encap:175, 190, "iscsi-client0"
981 dhcp-option = encap:175, 191, "iscsi-client0-secret"
982
983 will provide iSCSI parameters to gPXE.
984
985 Enhance --dhcp-match to allow testing of the contents of a
986 client-sent option, as well as its presence. This
987 application in mind for this is RFC 4578
988 client-architecture specifiers, but it's generally useful.
989 Joey Korkames suggested the enhancement.
990
991 Move from using the IP_XMIT_IF ioctl to IP_BOUND_IF on
992 OpenSolaris. Thanks to Bastian Machek for the heads-up.
993
994 No longer complain about blank lines in
995 /etc/ethers. Thanks to Jon Nelson for the patch.
996
997 Fix binding of servers to physical devices, eg
998 --server=/domain/1.2.3.4@eth0 which was broken from 2.43
999 onwards unless --query-port=0 set. Thanks to Peter Naulls
1000 for the bug report.
1001
1002 Reply to DHCPINFORM requests even when the supplied ciaddr
1003 doesn't fall in any dhcp-range. In this case it's not
1004 possible to supply a complete configuration, but
1005 individually-configured options (eg PAC) may be useful.
1006
1007 Allow the source address of an alias to be a range:
1008 --alias=192.168.0.0,10.0.0.0,255.255.255.0 maps the whole
1009 subnet 192.168.0.0->192.168.0.255 to 10.0.0.0->10.0.0.255,
1010 as before.
1011 --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
1012 maps only the 192.168.0.10->192.168.0.40 region. Thanks to
1013 Ib Uhrskov for the suggestion.
1014
1015 Don't dynamically allocate DHCP addresses which may break
1016 Windows. Addresses which end in .255 or .0 are broken in
1017 Windows even when using supernetting.
1018 --dhcp-range=192.168.0.1,192.168.1.254,255,255,254.0 means
1019 192.168.0.255 is a valid IP address, but not for Windows.
1020 See Microsoft KB281579. We therefore no longer allocate
1021 these addresses to avoid hard-to-diagnose problems.
1022
1023 Update Polish translation. Thanks to Jan Psota.
1024
1025 Delete the PID-file when dnsmasq shuts down. Note that by
1026 this time, dnsmasq is normally not running as root, so
1027 this will fail if the PID-file is stored in a root-owned
1028 directory; such failure is silently ignored. To take
1029 advantage of this feature, the PID-file must be stored in a
1030 directory owned and write-able by the user running
1031 dnsmasq.
Simon Kelley7622fc02009-06-04 20:32:05 +01001032
1033
1034version 2.46
1035 Allow --bootp-dynamic to take a netid tag, so that it may
1036 be selectively enabled. Thanks to Olaf Westrik for the
1037 suggestion.
1038
1039 Remove ISC-leasefile reading code. This has been
1040 deprecated for a long time, and last time I removed it, it
1041 ended up going back by request of one user. This time,
1042 it's gone for good; otherwise it would need to be
1043 re-worked to support multiple domains (see below).
1044
1045 Support DHCP clients in multiple DNS domains. This is a
1046 long-standing request. Clients are assigned to a domain
1047 based in their IP address.
1048
1049 Add --dhcp-fqdn flag, which changes behaviour if DNS names
1050 assigned to DHCP clients. When this is set, there must be
1051 a domain associated with each client, and only
1052 fully-qualified domain names are added to the DNS. The
1053 advantage is that the only the FQDN needs to be unique,
1054 so that two or more DHCP clients can share a hostname, as
1055 long as they are in different domains.
1056
1057 Set environment variable DNSMASQ_DOMAIN when invoking
1058 lease-change script. This may be useful information to
1059 have now that it's variable.
1060
1061 Tighten up data-checking code for DNS packet
1062 handling. Thanks to Steve Dodd who found certain illegal
1063 packets which could crash dnsmasq. No memory overwrite was
1064 possible, so this is not a security issue beyond the DoS
1065 potential.
1066
1067 Update example config dhcp option 47, the previous
1068 suggestion generated an illegal, zero-length,
1069 option. Thanks to Matthias Andree for finding this.
1070
1071 Rewrite hosts-file reading code to remove the limit of
1072 1024 characters per line. John C Meuser found this.
1073
1074 Create a net-id tag with the name of the interface on
1075 which the DHCP request was received.
1076
1077 Fixed minor memory leak in DBus code, thanks to Jeremy
1078 Laine for the patch.
1079
1080 Emit DBus signals as the DHCP lease database
1081 changes. Thanks to Jeremy Laine for the patch.
1082
1083 Allow for more that one MAC address in a dhcp-host
1084 line. This configuration tells dnsmasq that it's OK to
1085 abandon a DHCP lease of the fixed address to one MAC
1086 address, if another MAC address in the dhcp-host statement
1087 asks for an address. This is useful to give a fixed
1088 address to a host which has two network interfaces
1089 (say, a laptop with wired and wireless interfaces.)
1090 It's very important to ensure that only one interface
1091 at a time is up, since dnsmasq abandons the first lease
1092 and re-uses the address before the leased time has
1093 elapsed. John Gray suggested this.
1094
1095 Tweak the response to a DHCP request packet with a wrong
1096 server-id when --dhcp-authoritative is set; dnsmasq now
1097 returns a DHCPNAK, rather than silently ignoring the
1098 packet. Thanks to Chris Marget for spotting this
1099 improvement.
1100
1101 Add --cname option. This provides a limited alias
1102 function, usable for DHCP names. Thanks to AJ Weber for
1103 suggestions on this.
1104
1105 Updated contrib/webmin with latest version from Neil
1106 Fisher.
1107
1108 Updated Polish translation. Thanks to Jan Psota.
1109
1110 Correct the text names for DHCP options 64 and 65 to be
1111 "nis+-domain" and "nis+-servers".
1112
1113 Updated Spanish translation. Thanks to Chris Chatham.
1114
1115 Force re-reading of /etc/resolv.conf when an "interface
1116 up" event occurs.
1117
1118
1119version 2.45
1120 Fix total DNS failure in release 2.44 unless --min-port
1121 specified. Thanks to Steven Barth and Grant Coady for
1122 bugreport. Also reject out-of-range port spec, which could
1123 break things too: suggestion from Gilles Espinasse.
1124
1125
1126version 2.44
1127 Fix crash when unknown client attempts to renew a DHCP
1128 lease, problem introduced in version 2.43. Thanks to
1129 Carlos Carvalho for help chasing this down.
1130
1131 Fix potential crash when a host which doesn't have a lease
1132 does DHCPINFORM. Again introduced in 2.43. This bug has
1133 never been reported in the wild.
1134
1135 Fix crash in netlink code introduced in 2.43. Thanks to
1136 Jean Wolter for finding this.
1137
1138 Change implementation of min_port to work even if min-port
1139 is large.
1140
1141 Patch to enable compilation of latest Mac OS X. Thanks to
1142 David Gilman.
1143
1144 Update Spanish translation. Thanks to Christopher Chatham.
1145
1146
1147version 2.43
1148 Updated Polish translation. Thanks to Jan Psota.
1149
1150 Flag errors when configuration options are repeated
1151 illegally.
1152
1153 Further tweaks for GNU/kFreeBSD
1154
1155 Add --no-wrap to msgmerge call - provides nicer .po file
1156 format.
1157
1158 Honour lease-time spec in dhcp-host lines even for
1159 BOOTP. The user is assumed to known what they are doing in
1160 this case. (Hosts without the time spec still get infinite
1161 leases for BOOTP, over-riding the default in the
1162 dhcp-range.) Thanks to Peter Katzmann for uncovering this.
1163
1164 Fix problem matching relay-agent ids. Thanks to Michael
1165 Rack for the bug report.
1166
1167 Add --naptr-record option. Suggestion from Johan
1168 Bergquist.
1169
1170 Implement RFC 5107 server-id-override DHCP relay agent
1171 option.
1172
1173 Apply patches from Stefan Kruger for compilation on
1174 Solaris 10 under Sun studio.
1175
1176 Yet more tweaking of Linux capability code, to suppress
1177 pointless wingeing from kernel 2.6.25 and above.
1178
1179 Improve error checking during startup. Previously, some
1180 errors which occurred during startup would be worked
1181 around, with dnsmasq still starting up. Some were logged,
1182 some silent. Now, they all cause a fatal error and dnsmasq
1183 terminates with a non-zero exit code. The errors are those
1184 associated with changing uid and gid, setting process
1185 capabilities and writing the pidfile. Thanks to Uwe
1186 Gansert and the Suse security team for pointing out
1187 this improvement, and Bill Reimers for good implementation
1188 suggestions.
1189
1190 Provide NO_LARGEFILE compile option to switch off largefile
1191 support when compiling against versions of uclibc which
1192 don't support it. Thanks to Stephane Billiart for the patch.
1193
1194 Implement random source ports for interactions with
1195 upstream nameservers. New spoofing attacks have been found
1196 against nameservers which do not do this, though it is not
1197 clear if dnsmasq is vulnerable, since to doesn't implement
1198 recursion. By default dnsmasq will now use a different
1199 source port (and socket) for each query it sends
1200 upstream. This behaviour can suppressed using the
1201 --query-port option, and the old default behaviour
1202 restored using --query-port=0. Explicit source-port
1203 specifications in --server configs are still honoured.
1204
1205 Replace the random number generator, for better
1206 security. On most BSD systems, dnsmasq uses the
1207 arc4random() RNG, which is secure, but on other platforms,
1208 it relied on the C-library RNG, which may be
1209 guessable and therefore allow spoofing. This release
1210 replaces the libc RNG with the SURF RNG, from Daniel
1211 J. Berstein's DJBDNS package.
1212
1213 Don't attempt to change user or group or set capabilities
1214 if dnsmasq is run as a non-root user. Without this, the
1215 change from soft to hard errors when these fail causes
1216 problems for non-root daemons listening on high
1217 ports. Thanks to Patrick McLean for spotting this.
1218
1219 Updated French translation. Thanks to Gildas Le Nadan.
Simon Kelley1f15b812009-10-13 17:49:32 +01001220
1221
1222version 2.42
1223 The changelog for version 2.42 and earlier is
1224 available in CHANGELOG.archive.