import of dnsmasq-2.53.tar.gz

This commit is contained in:
Simon Kelley
2010-06-03 19:42:45 +01:00
parent 316e2730ac
commit 8ef5ada238
34 changed files with 6223 additions and 4426 deletions

167
CHANGELOG
View File

@@ -1,3 +1,163 @@
version 2.53
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
finding this.
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
finding this.
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
server-override option.
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
dhcp-range=interface:virt0,192.168.0.4,192.168.0.200
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
interface=<interface>
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
configuration.
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.
Fix contrib/Solaris10/create_package
(/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
--server=/google.com/1.2.3.4 --server=/www.google.com/#
which will send queries for *.google.com to 1.2.3.4,
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.
--server=/mydomain/1.1.1.1
--server=/mydomain/2.2.2.2
Thanks to Alberto Cuesta-Canada for spotting a weakness
here.
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/1.2.3.4 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
is set.
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.
version 2.52
Work around a Linux kernel bug which insists that the
length of the option passed to setsockopt must be at least
@@ -81,7 +241,7 @@ version 2.52
reconfigured using --edns-packet-max if needed. Thanks to
Francis Dupont for pointing this out.
Rewrite query-ids even for DNSSEC signed packets, since
Rewrite query-ids even for TSIG signed packets, since
this is allowed by RFC5625 section 4.5.
Use getopt_long by default on OS X. It has been supported
@@ -101,7 +261,12 @@ version 2.52
Updated Spanish translation. Thanks to Chris Chatham.
Fixed confusion about domains, when looking up DHCP hosts
in /etc/hosts. This could cause spurious "Ignoring
domain..." messages. Thanks to Fedor Kozhevnikov for
finding and analysing the problem.
version 2.51
Add support for internationalised DNS. Non-ASCII characters
in domain names found in /etc/hosts, /etc/ethers and