Simon Kelley | 03a97b6 | 2009-06-10 20:55:49 +0100 | [diff] [blame^] | 1 | version 2.49 |
| 2 | Fix regression in 2.48 which disables the lease-change |
| 3 | script. Thanks to Jose Luis Duran for spotting this. |
| 4 | |
| 5 | Log TFTP "file not found" errors. These were not logged, |
| 6 | since a normal PXELinux boot generates many of them, but |
| 7 | the lack of the messages seems to be more confusing than |
| 8 | routinely seeing them when there is no real error. |
| 9 | |
| 10 | Update Spanish translation. Thanks to Chris Chatham. |
| 11 | |
| 12 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 13 | version 2.48 |
| 14 | Archived the extensive, backwards, changelog to |
| 15 | CHANGELOG.archive. The current changelog now runs from |
| 16 | version 2.43 and runs conventionally. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 17 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 18 | Fixed bug which broke binding of servers to physical |
| 19 | interfaces when interface names were longer than four |
| 20 | characters. Thanks to MURASE Katsunori for the patch. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 21 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 22 | Fixed netlink code to check that messages come from the |
| 23 | correct source, and not another userspace process. Thanks |
| 24 | to Steve Grubb for the patch. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 25 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 26 | Maintainability drive: removed bug and missing feature |
| 27 | workarounds for some old platforms. Solaris 9, OpenBSD |
| 28 | older than 4.1, Glibc older than 2.2, Linux 2.2.x and |
| 29 | DBus older than 1.1.x are no longer supported. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 30 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 31 | Don't read included configuration files more than once: |
| 32 | allows complex configuration structures without problems. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 33 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 34 | Mark log messages from the various subsystems in dnsmasq: |
| 35 | messages from the DHCP subsystem now have the ident string |
| 36 | "dnsmasq-dhcp" and messages from TFTP have ident |
| 37 | "dnsmasq-tftp". Thanks to Olaf Westrik for the patch. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 38 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 39 | Fix possible infinite DHCP protocol loop when an IP |
| 40 | address nailed to a hostname (not a MAC address) and a |
| 41 | host sometimes provides the name, sometimes not. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 42 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 43 | Allow --addn-hosts to take a directory: all the files |
| 44 | in the directory are read. Thanks to Phil Cornelius for |
| 45 | the suggestion. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 46 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 47 | Support --bridge-interface on all platforms, not just BSD. |
Simon Kelley | 1ab84e2 | 2004-01-29 16:48:35 +0000 | [diff] [blame] | 48 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 49 | Added support for advanced PXE functions. It's now |
| 50 | possible to define a prompt and menu options which will |
| 51 | be displayed when a client PXE boots. It's also possible to |
| 52 | hand-off booting to other boot servers. Proxy-DHCP, where |
| 53 | dnsmasq just supplies the PXE information and another DHCP |
| 54 | server does address allocation, is also allowed. See the |
| 55 | --pxe-prompt and --pxe-service keywords. Thanks to |
| 56 | Alkis Georgopoulos for the suggestion and Guilherme Moro |
| 57 | and Michael Brown for assistance. |
Simon Kelley | 1ab84e2 | 2004-01-29 16:48:35 +0000 | [diff] [blame] | 58 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 59 | Improvements to DHCP logging. Thanks to Tom Metro for |
| 60 | useful suggestions. |
| 61 | |
| 62 | Add ability to build dnsmasq without DHCP support. To do |
| 63 | this, edit src/config.h or build with |
| 64 | "make COPTS=-DNO_DHCP". Thanks to Mahavir Jain for the patch. |
| 65 | |
| 66 | Added --test command-line switch - syntax check |
| 67 | configuration files only. |
Simon Kelley | 33820b7 | 2004-04-03 21:10:00 +0100 | [diff] [blame] | 68 | |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 69 | Updated French translation. Thanks to Gildas Le Nadan. |
Simon Kelley | 9009d74 | 2008-11-14 20:04:27 +0000 | [diff] [blame] | 70 | |
Simon Kelley | 73a08a2 | 2009-02-05 20:28:08 +0000 | [diff] [blame] | 71 | |
| 72 | version 2.47 |
| 73 | Updated French translation. Thanks to Gildas Le Nadan. |
| 74 | |
| 75 | Fixed interface enumeration code to work on NetBSD |
| 76 | 5.0. Thanks to Roy Marples for the patch. |
| 77 | |
| 78 | Updated config.h to use the same location for the lease |
| 79 | file on NetBSD as the other *BSD variants. Also allow |
| 80 | LEASEFILE and CONFFILE symbols to be overriden in CFLAGS. |
| 81 | |
| 82 | Handle duplicate address detection on IPv6 more |
| 83 | intelligently. In IPv6, an interface can have an address |
| 84 | which is not usable, because it is still undergoing DAD |
| 85 | (such addresses are marked "tentative"). Attempting to |
| 86 | bind to an address in this state returns an error, |
| 87 | EADDRNOTAVAIL. Previously, on getting such an error, |
| 88 | dnsmasq would silently abandon the address, and never |
| 89 | listen on it. Now, it retries once per second for 20 |
| 90 | seconds before generating a fatal error. 20 seconds should |
| 91 | be long enough for any DAD process to complete, but can be |
| 92 | adjusted in src/config.h if necessary. Thanks to Martin |
| 93 | Krafft for the bug report. |
| 94 | |
| 95 | Add DBus introspection. Patch from Jeremy Laine. |
| 96 | |
| 97 | Update Dbus configuration file. Patch from Colin Walters. |
| 98 | Fix for this bug: |
| 99 | http://bugs.freedesktop.org/show_bug.cgi?id=18961 |
| 100 | |
| 101 | Support arbitrarily encapsulated DHCP options, suggestion |
| 102 | and initial patch from Samium Gromoff. This is useful for |
| 103 | (eg) gPXE, which expect all its private options to be |
| 104 | encapsulated inside a single option 175. So, eg, |
| 105 | |
| 106 | dhcp-option = encap:175, 190, "iscsi-client0" |
| 107 | dhcp-option = encap:175, 191, "iscsi-client0-secret" |
| 108 | |
| 109 | will provide iSCSI parameters to gPXE. |
| 110 | |
| 111 | Enhance --dhcp-match to allow testing of the contents of a |
| 112 | client-sent option, as well as its presence. This |
| 113 | application in mind for this is RFC 4578 |
| 114 | client-architecture specifiers, but it's generally useful. |
| 115 | Joey Korkames suggested the enhancement. |
| 116 | |
| 117 | Move from using the IP_XMIT_IF ioctl to IP_BOUND_IF on |
| 118 | OpenSolaris. Thanks to Bastian Machek for the heads-up. |
| 119 | |
| 120 | No longer complain about blank lines in |
| 121 | /etc/ethers. Thanks to Jon Nelson for the patch. |
| 122 | |
| 123 | Fix binding of servers to physical devices, eg |
| 124 | --server=/domain/1.2.3.4@eth0 which was broken from 2.43 |
| 125 | onwards unless --query-port=0 set. Thanks to Peter Naulls |
| 126 | for the bug report. |
| 127 | |
| 128 | Reply to DHCPINFORM requests even when the supplied ciaddr |
| 129 | doesn't fall in any dhcp-range. In this case it's not |
| 130 | possible to supply a complete configuration, but |
| 131 | individually-configured options (eg PAC) may be useful. |
| 132 | |
| 133 | Allow the source address of an alias to be a range: |
| 134 | --alias=192.168.0.0,10.0.0.0,255.255.255.0 maps the whole |
| 135 | subnet 192.168.0.0->192.168.0.255 to 10.0.0.0->10.0.0.255, |
| 136 | as before. |
| 137 | --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 |
| 138 | maps only the 192.168.0.10->192.168.0.40 region. Thanks to |
| 139 | Ib Uhrskov for the suggestion. |
| 140 | |
| 141 | Don't dynamically allocate DHCP addresses which may break |
| 142 | Windows. Addresses which end in .255 or .0 are broken in |
| 143 | Windows even when using supernetting. |
| 144 | --dhcp-range=192.168.0.1,192.168.1.254,255,255,254.0 means |
| 145 | 192.168.0.255 is a valid IP address, but not for Windows. |
| 146 | See Microsoft KB281579. We therefore no longer allocate |
| 147 | these addresses to avoid hard-to-diagnose problems. |
| 148 | |
| 149 | Update Polish translation. Thanks to Jan Psota. |
| 150 | |
| 151 | Delete the PID-file when dnsmasq shuts down. Note that by |
| 152 | this time, dnsmasq is normally not running as root, so |
| 153 | this will fail if the PID-file is stored in a root-owned |
| 154 | directory; such failure is silently ignored. To take |
| 155 | advantage of this feature, the PID-file must be stored in a |
| 156 | directory owned and write-able by the user running |
| 157 | dnsmasq. |
Simon Kelley | 7622fc0 | 2009-06-04 20:32:05 +0100 | [diff] [blame] | 158 | |
| 159 | |
| 160 | version 2.46 |
| 161 | Allow --bootp-dynamic to take a netid tag, so that it may |
| 162 | be selectively enabled. Thanks to Olaf Westrik for the |
| 163 | suggestion. |
| 164 | |
| 165 | Remove ISC-leasefile reading code. This has been |
| 166 | deprecated for a long time, and last time I removed it, it |
| 167 | ended up going back by request of one user. This time, |
| 168 | it's gone for good; otherwise it would need to be |
| 169 | re-worked to support multiple domains (see below). |
| 170 | |
| 171 | Support DHCP clients in multiple DNS domains. This is a |
| 172 | long-standing request. Clients are assigned to a domain |
| 173 | based in their IP address. |
| 174 | |
| 175 | Add --dhcp-fqdn flag, which changes behaviour if DNS names |
| 176 | assigned to DHCP clients. When this is set, there must be |
| 177 | a domain associated with each client, and only |
| 178 | fully-qualified domain names are added to the DNS. The |
| 179 | advantage is that the only the FQDN needs to be unique, |
| 180 | so that two or more DHCP clients can share a hostname, as |
| 181 | long as they are in different domains. |
| 182 | |
| 183 | Set environment variable DNSMASQ_DOMAIN when invoking |
| 184 | lease-change script. This may be useful information to |
| 185 | have now that it's variable. |
| 186 | |
| 187 | Tighten up data-checking code for DNS packet |
| 188 | handling. Thanks to Steve Dodd who found certain illegal |
| 189 | packets which could crash dnsmasq. No memory overwrite was |
| 190 | possible, so this is not a security issue beyond the DoS |
| 191 | potential. |
| 192 | |
| 193 | Update example config dhcp option 47, the previous |
| 194 | suggestion generated an illegal, zero-length, |
| 195 | option. Thanks to Matthias Andree for finding this. |
| 196 | |
| 197 | Rewrite hosts-file reading code to remove the limit of |
| 198 | 1024 characters per line. John C Meuser found this. |
| 199 | |
| 200 | Create a net-id tag with the name of the interface on |
| 201 | which the DHCP request was received. |
| 202 | |
| 203 | Fixed minor memory leak in DBus code, thanks to Jeremy |
| 204 | Laine for the patch. |
| 205 | |
| 206 | Emit DBus signals as the DHCP lease database |
| 207 | changes. Thanks to Jeremy Laine for the patch. |
| 208 | |
| 209 | Allow for more that one MAC address in a dhcp-host |
| 210 | line. This configuration tells dnsmasq that it's OK to |
| 211 | abandon a DHCP lease of the fixed address to one MAC |
| 212 | address, if another MAC address in the dhcp-host statement |
| 213 | asks for an address. This is useful to give a fixed |
| 214 | address to a host which has two network interfaces |
| 215 | (say, a laptop with wired and wireless interfaces.) |
| 216 | It's very important to ensure that only one interface |
| 217 | at a time is up, since dnsmasq abandons the first lease |
| 218 | and re-uses the address before the leased time has |
| 219 | elapsed. John Gray suggested this. |
| 220 | |
| 221 | Tweak the response to a DHCP request packet with a wrong |
| 222 | server-id when --dhcp-authoritative is set; dnsmasq now |
| 223 | returns a DHCPNAK, rather than silently ignoring the |
| 224 | packet. Thanks to Chris Marget for spotting this |
| 225 | improvement. |
| 226 | |
| 227 | Add --cname option. This provides a limited alias |
| 228 | function, usable for DHCP names. Thanks to AJ Weber for |
| 229 | suggestions on this. |
| 230 | |
| 231 | Updated contrib/webmin with latest version from Neil |
| 232 | Fisher. |
| 233 | |
| 234 | Updated Polish translation. Thanks to Jan Psota. |
| 235 | |
| 236 | Correct the text names for DHCP options 64 and 65 to be |
| 237 | "nis+-domain" and "nis+-servers". |
| 238 | |
| 239 | Updated Spanish translation. Thanks to Chris Chatham. |
| 240 | |
| 241 | Force re-reading of /etc/resolv.conf when an "interface |
| 242 | up" event occurs. |
| 243 | |
| 244 | |
| 245 | version 2.45 |
| 246 | Fix total DNS failure in release 2.44 unless --min-port |
| 247 | specified. Thanks to Steven Barth and Grant Coady for |
| 248 | bugreport. Also reject out-of-range port spec, which could |
| 249 | break things too: suggestion from Gilles Espinasse. |
| 250 | |
| 251 | |
| 252 | version 2.44 |
| 253 | Fix crash when unknown client attempts to renew a DHCP |
| 254 | lease, problem introduced in version 2.43. Thanks to |
| 255 | Carlos Carvalho for help chasing this down. |
| 256 | |
| 257 | Fix potential crash when a host which doesn't have a lease |
| 258 | does DHCPINFORM. Again introduced in 2.43. This bug has |
| 259 | never been reported in the wild. |
| 260 | |
| 261 | Fix crash in netlink code introduced in 2.43. Thanks to |
| 262 | Jean Wolter for finding this. |
| 263 | |
| 264 | Change implementation of min_port to work even if min-port |
| 265 | is large. |
| 266 | |
| 267 | Patch to enable compilation of latest Mac OS X. Thanks to |
| 268 | David Gilman. |
| 269 | |
| 270 | Update Spanish translation. Thanks to Christopher Chatham. |
| 271 | |
| 272 | |
| 273 | version 2.43 |
| 274 | Updated Polish translation. Thanks to Jan Psota. |
| 275 | |
| 276 | Flag errors when configuration options are repeated |
| 277 | illegally. |
| 278 | |
| 279 | Further tweaks for GNU/kFreeBSD |
| 280 | |
| 281 | Add --no-wrap to msgmerge call - provides nicer .po file |
| 282 | format. |
| 283 | |
| 284 | Honour lease-time spec in dhcp-host lines even for |
| 285 | BOOTP. The user is assumed to known what they are doing in |
| 286 | this case. (Hosts without the time spec still get infinite |
| 287 | leases for BOOTP, over-riding the default in the |
| 288 | dhcp-range.) Thanks to Peter Katzmann for uncovering this. |
| 289 | |
| 290 | Fix problem matching relay-agent ids. Thanks to Michael |
| 291 | Rack for the bug report. |
| 292 | |
| 293 | Add --naptr-record option. Suggestion from Johan |
| 294 | Bergquist. |
| 295 | |
| 296 | Implement RFC 5107 server-id-override DHCP relay agent |
| 297 | option. |
| 298 | |
| 299 | Apply patches from Stefan Kruger for compilation on |
| 300 | Solaris 10 under Sun studio. |
| 301 | |
| 302 | Yet more tweaking of Linux capability code, to suppress |
| 303 | pointless wingeing from kernel 2.6.25 and above. |
| 304 | |
| 305 | Improve error checking during startup. Previously, some |
| 306 | errors which occurred during startup would be worked |
| 307 | around, with dnsmasq still starting up. Some were logged, |
| 308 | some silent. Now, they all cause a fatal error and dnsmasq |
| 309 | terminates with a non-zero exit code. The errors are those |
| 310 | associated with changing uid and gid, setting process |
| 311 | capabilities and writing the pidfile. Thanks to Uwe |
| 312 | Gansert and the Suse security team for pointing out |
| 313 | this improvement, and Bill Reimers for good implementation |
| 314 | suggestions. |
| 315 | |
| 316 | Provide NO_LARGEFILE compile option to switch off largefile |
| 317 | support when compiling against versions of uclibc which |
| 318 | don't support it. Thanks to Stephane Billiart for the patch. |
| 319 | |
| 320 | Implement random source ports for interactions with |
| 321 | upstream nameservers. New spoofing attacks have been found |
| 322 | against nameservers which do not do this, though it is not |
| 323 | clear if dnsmasq is vulnerable, since to doesn't implement |
| 324 | recursion. By default dnsmasq will now use a different |
| 325 | source port (and socket) for each query it sends |
| 326 | upstream. This behaviour can suppressed using the |
| 327 | --query-port option, and the old default behaviour |
| 328 | restored using --query-port=0. Explicit source-port |
| 329 | specifications in --server configs are still honoured. |
| 330 | |
| 331 | Replace the random number generator, for better |
| 332 | security. On most BSD systems, dnsmasq uses the |
| 333 | arc4random() RNG, which is secure, but on other platforms, |
| 334 | it relied on the C-library RNG, which may be |
| 335 | guessable and therefore allow spoofing. This release |
| 336 | replaces the libc RNG with the SURF RNG, from Daniel |
| 337 | J. Berstein's DJBDNS package. |
| 338 | |
| 339 | Don't attempt to change user or group or set capabilities |
| 340 | if dnsmasq is run as a non-root user. Without this, the |
| 341 | change from soft to hard errors when these fail causes |
| 342 | problems for non-root daemons listening on high |
| 343 | ports. Thanks to Patrick McLean for spotting this. |
| 344 | |
| 345 | Updated French translation. Thanks to Gildas Le Nadan. |