[Dnsmasq-discuss] Announce: dnsmasq version 2.53
simon at thekelleys.org.uk
Thu Jun 3 19:55:43 BST 2010
Dnsmasq version 2.53 is now available from
Thanks to all who contributed to this release: they are mentioned in the
CHANGELOG, reproduced below.
Fix failure to compile on Debian/kFreeBSD. Thanks to
Axel Beckert and Petr Salinger.
Fix code to avoid scary strict-aliasing warnings
generated by gcc 4.4.
Added FAQ entry warning about DHCP failures with Vista
when firewalls block 255.255.255.255.
Fixed bug which caused bad things to happen if a
resolv.conf file which exists is subsequently removed.
Thanks to Nikolai Saoukh for the patch.
Rationalised the DHCP tag system. Every configuration item
which can set a tag does so by adding "set:<tag>" and
every configuration item which is conditional on a tag is
made so by "tag:<tag>". The NOT operator changes to '!',
which is a bit more intuitive too. Dhcp-host directives
can set more than one tag now. The old '#' NOT,
"net:" prefix and no-prefixes are still honoured, so
no existing config file needs to be changed, but
the documentation and new-style config files should be
much less confusing.
Added --tag-if to allow boolean operations on tags.
This allows complicated logic to be clearer and more
general. A great suggestion from Richard Voigt.
Add broadcast/unicast information to DHCP logging.
Allow --dhcp-broadcast to be unconditional.
Fixed incorrect behaviour with NOT <tag> conditionals in
dhcp-options. Thanks to Max Turkewitz for assistance
If we send vendor-class encapsulated options based on the
vendor-class supplied by the client, and no explicit
vendor-class option is given, echo back the vendor-class
from the client.
Fix bug which stopped dnsmasq from matching both a
circuitid and a remoteid. Thanks to Ignacio Bravo for
Add --dhcp-proxy, which makes it possible to configure
dnsmasq to use a DHCP relay agent as a full proxy, with
all DHCP messages passing through the proxy. This is
useful if the relay adds extra information to the packets
it forwards, but cannot be configured with the RFC 5107
Added interface:<iface name> part to dhcp-range. The
semantics of this are very odd at first sight, but it
allows a single line of the form
to be added to dnsmasq configuration which then supplies
DHCP and DNS services to that interface, without affecting
what services are supplied to other interfaces and
irrespective of the existance or lack of
lines elsewhere in the dnsmasq configuration. The idea is
that such a line can be added automatically by libvirt
or equivalent systems, without disturbing any manual
Similarly to the above, allow --enable-tftp=<interface>
Allow a TFTP root to be set separately for requests via
different interfaces, --tftp-root=<path>,<interface>
Correctly handle and log clashes between CNAMES and
DNS names being given to DHCP leases. This fixes a bug
which caused nonsense IP addresses to be logged. Thanks to
Sergei Zhirikov for finding and analysing the problem.
Tweak flush_log so as to avoid leaving the log
file in non-blocking mode. O_NONBLOCK is a property of the
file, not the process/descriptor.
(/usr/man -> /usr/share/man) Thanks to Vita Batrla.
Fix a problem where, if a client got a lease, then went
to another subnet and got another lease, then moved back,
it couldn't resume the old lease, but would instead get
a new address. Thanks to Leonardo Rodrigues for spotting
this and testing the fix.
Fix weird bug which sometimes omitted certain characters
from the start of quoted strings in dhcp-options. Thanks
to Dayton Turner for spotting the problem.
Add facility to redirect some domains to the standard
upstream servers: this allows something like
which will send queries for *.google.com to 220.127.116.11,
except *www.google.com which will be forwarded as usual.
Thanks to AJ Weber for prompting this addition.
Improve the hash-algorithm used to generate IP addresses
from MAC addresses during initial DHCP address
allocation. This improves performance when large numbers
of hosts with similar MAC addresses all try and get an IP
address at the same time. Thanks to Paul Smith for his
work on this.
Tweak DHCP code so that --bridge-interface can be used to
select which IP alias of an interface should be used for
DHCP purposes on Linux. If eth0 has an alias eth0:dhcp
then adding --bridge-interface=eth0:dhcp,eth0 will use
the address of eth0:dhcp to determine the correct subnet
for DHCP address allocation. Thanks to Pawel Golaszewski
for prompting this and Eric Cooper for further testing.
Add --dhcp-generate-names. Suggestion by Ferenc Wagner.
Tweak DNS server selection algorithm when there is more
than one server available for a domain, eg.
Thanks to Alberto Cuesta-Canada for spotting a weakness
Add --max-ttl. Thanks to Fredrik Ringertz for the patch.
Allow --log-facility=- to force all logging to
stderr. Suggestion from Clemens Fischer.
Fix regression which caused configuration like
--address=/.domain.com/18.104.22.168 to be rejected. The dot to
the left of the domain has been implied and not required for
a long time, but it should be accepted for backward
compatibility. Thanks to Andrew Burcin for spotting this.
Add --rebind-domain-ok and --rebind-localhost-ok.
Suggestion from Clemens Fischer.
Log replies to queries of type TXT, when --log-queries
Fix compiler warnings when compiled with -DNO_DHCP. Thanks
to Shantanu Gadgil for the patch.
Updated French translation. Thanks to Gildas Le Nadan.
Updated Polish translation. Thanks to Jan Psota.
Updated German translation. Thanks to Matthias Andree.
Added contrib/static-arp, thanks to Darren Hoo.
Fix corruption of the domain when a name from /etc/hosts
overrides one supplied by a DHCP client. Thanks to Fedor
Kozhevnikov for spotting the problem.
Updated Spanish translation. Thanks to Chris Chatham.
More information about the Dnsmasq-discuss