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