Diff for /embedaddon/dnsmasq/CHANGELOG between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2013/07/29 19:37:40 version 1.1.1.2, 2014/06/15 16:31:38
Line 1 Line 1
   version 2.71
               Subtle change to error handling to help DNSSEC validation 
               when servers fail to provide NODATA answers for 
               non-existent DS records.
   
               Tweak code which removes DNSSEC records from answers when
               not required. Fixes broken answers when additional section
               has real records in it. Thanks to Marco Davids for the bug 
               report.
   
               Fix DNSSEC validation of ANY queries. Thanks to Marco Davids
               for spotting that too.
   
               Fix total DNS failure and 100% CPU use if cachesize set to zero,
               regression introduced in 2.69. Thanks to James Hunt and
               the Ubuntu crowd for assistance in fixing this.
   
   
   version 2.70
               Fix crash, introduced in 2.69, on TCP request when dnsmasq
               compiled with DNSSEC support, but running without DNSSEC
               enabled. Thanks to Manish Sing for spotting that one.
   
               Fix regression which broke ipset functionality. Thanks to 
               Wang Jian for the bug report.
   
   
   version 2.69
               Implement dynamic interface discovery on *BSD. This allows
               the contructor: syntax to be used in dhcp-range for DHCPv6
               on the BSD platform. Thanks to Matthias Andree for
               valuable research on how to implement this.
   
               Fix infinite loop associated with some --bogus-nxdomain
               configs. Thanks fogobogo for the bug report.
   
               Fix missing RA RDNS option with configuration like
               --dhcp-option=option6:23,[::] Thanks to Tsachi Kimeldorfer
               for spotting the problem.
   
               Add [fd00::] and [fe80::] as special addresses in DHCPv6
               options, analogous to [::]. [fd00::] is replaced with the
               actual ULA of the interface on the machine running
               dnsmasq, [fe80::] with the link-local address. 
               Thanks to Tsachi Kimeldorfer for championing this.
   
               DNSSEC validation and caching. Dnsmasq needs to be
               compiled with this enabled, with 
               
               make dnsmasq COPTS=-DHAVE_DNSSEC
               
               this add dependencies on the nettle crypto library and the 
               gmp maths library. It's possible to have these linked
               statically with
               
               make dnsmasq COPTS='-DHAVE_DNSSEC -DHAVE_DNSSEC_STATIC'
               
               which bloats the dnsmasq binary, but saves the size of 
               the shared libraries which are much bigger.
   
               To enable, DNSSEC, you will need a set of
               trust-anchors. Now that the TLDs are signed, this can be
               the keys for the root zone, and for convenience they are
               included in trust-anchors.conf in the dnsmasq
               distribution. You should of course check that these are
               legitimate and up-to-date. So, adding
               
               conf-file=/path/to/trust-anchors.conf
               dnssec
   
               to your config is all thats needed to get things
               working. The upstream nameservers have to be DNSSEC-capable
               too, of course. Many ISP nameservers aren't, but the
               Google public nameservers (8.8.8.8 and 8.8.4.4) are.
               When DNSSEC is configured, dnsmasq validates any queries 
               for domains which are signed. Query results which are 
               bogus are replaced with SERVFAIL replies, and results 
               which are correctly signed have the AD bit set. In 
               addition, and just as importantly, dnsmasq supplies 
               correct DNSSEC information to clients which are doing 
               their own validation, and caches DNSKEY, DS and RRSIG
               records, which significantly improve the performance of 
               downstream validators. Setting --log-queries will show 
               DNSSEC in action.
   
               If a domain is returned from an upstream nameserver without 
               DNSSEC signature, dnsmasq by default trusts this. This 
               means that for unsigned zone (still the majority) there 
               is effectively no cost for having DNSSEC enabled. Of course
               this allows an attacker to replace a signed record with a 
               false unsigned record. This is addressed by the 
               --dnssec-check-unsigned flag, which instructs dnsmasq
               to prove that an unsigned record is legitimate, by finding  
               a secure proof that the zone containing the record is not
               signed. Doing this has costs (typically one or two extra
               upstream queries). It also has a nasty failure mode if
               dnsmasq's upstream nameservers are not DNSSEC capable. 
               Without --dnssec-check-unsigned using such an upstream
               server will simply result in not queries being validated; 
               with --dnssec-check-unsigned enabled and a 
               DNSSEC-ignorant upstream server, _all_ queries will fail.
   
               Note that DNSSEC requires that the local time is valid and 
               accurate, if not then DNSSEC validation will fail. NTP 
               should be running. This presents a problem for routers
               without a battery-backed clock. To set the time needs NTP 
               to do DNS lookups, but lookups will fail until NTP has run.
               To address this, there's a flag, --dnssec-no-timecheck 
               which disables the time checks (only) in DNSSEC. When dnsmasq
               is started and the clock is not synced, this flag should
               be used. As soon as the clock is synced, SIGHUP dnsmasq. 
               The SIGHUP clears the cache of partially-validated data and
               resets the no-timecheck flag, so that all DNSSEC checks 
               henceforward will be complete.
               
               The development of DNSSEC in dnsmasq was started by 
               Giovanni Bajo, to whom huge thanks are owed. It has been
               supported by Comcast, whose techfund grant has allowed for 
               an invaluable period of full-time work to get it to 
               a workable state.
    
               Add --rev-server. Thanks to Dave Taht for suggesting this.
               
               Add --servers-file. Allows dynamic update of upstream servers 
               full access to configuration. 
   
               Add --local-service. Accept DNS queries only from hosts 
               whose address is on a local subnet, ie a subnet for which 
               an interface exists on the server. This option
               only has effect if there are no --interface --except-interface,
               --listen-address or --auth-server options. It is intended 
               to be set as a default on installation, to allow
               unconfigured installations to be useful but also safe from 
               being used for DNS amplification attacks.
   
               Fix crashes in cache_get_cname_target() when dangling CNAMEs
               encountered. Thanks to Andy and the rt-n56u project for
               find this and helping to chase it down.
   
               Fix wrong RCODE in authoritative DNS replies to PTR queries. The
               correct answer was included, but the RCODE was set to NXDOMAIN.
               Thanks to Craig McQueen for spotting this.
   
               Make statistics available as DNS queries in the .bind TLD as 
               well as logging them.
   
   
   version 2.68
               Use random addresses for DHCPv6 temporary address
               allocations, instead of algorithmically determined stable
               addresses.
   
               Fix bug which meant that the DHCPv6 DUID was not available
               in DHCP script runs during the lifetime of the dnsmasq
               process which created the DUID de-novo. Once the DUID was
               created and stored in the lease file and dnsmasq
               restarted, this bug disappeared.
   
               Fix bug introduced in 2.67 which could result in erroneous
               NXDOMAIN returns to CNAME queries.
   
               Fix build failures on MacOS X and openBSD.
   
               Allow subnet specifications in --auth-zone to be interface 
               names as well as address literals. This makes it possible
               to configure authoritative DNS when local address ranges
               are dynamic and works much better than the previous
               work-around which exempted contructed DHCP ranges from the
               IP address filtering. As a consequence, that work-around
               is removed. Under certain circumstances, this change wil
               break existing configuration: if you're relying on the
               contructed-range exception, you need to change --auth-zone
               to specify the same interface as is used to construct your
               DHCP ranges, probably with a trailing "/6" like this: 
               --auth-zone=example.com,eth0/6 to limit the addresses to
               IPv6 addresses of eth0.
   
               Fix problems when advertising deleted IPv6 prefixes. If
               the prefix is deleted (rather than replaced), it doesn't
               get advertised with zero preferred time. Thanks to Tsachi
               for the bug report. 
   
               Fix segfault with some locally configured CNAMEs. Thanks
               to Andrew Childs for spotting the problem.
   
               Fix memory leak on re-reading /etc/hosts and friends,
               introduced in 2.67.
   
               Check the arrival interface of incoming DNS and TFTP
               requests via IPv6, even in --bind-interfaces mode. This
               isn't possible for IPv4 and can generate scary warnings,
               but as it's always possible for IPv6 (the API always
               exists) then we should do it always. 
               
               Tweak the rules on prefix-lengths in --dhcp-range for
               IPv6. The new rule is that the specified prefix length
               must be larger than or equal to the prefix length of the
               corresponding address on the local interface. 
   
   
   version 2.67
               Fix crash if upstream server returns SERVFAIL when
               --conntrack in use. Thanks to Giacomo Tazzari for finding
               this and supplying the patch. 
   
               Repair regression in 2.64. That release stopped sending
               lease-time information in the reply to DHCPINFORM
               requests, on the correct grounds that it was a standards
               violation. However, this broke the dnsmasq-specific
               dhcp_lease_time utility. Now, DHCPINFORM returns
               lease-time only if it's specifically requested
               (maintaining standards) and the dhcp_lease_time utility
               has been taught to ask for it (restoring functionality). 
   
               Fix --dhcp-match, --dhcp-vendorclass and --dhcp-userclass
               to work with BOOTP and well as DHCP. Thanks to Peter
               Korsgaard for spotting the problem. 
   
               Add --synth-domain. Thanks to Vishvananda Ishaya for
               suggesting this.
   
               Fix failure to compile ipset.c if old kernel headers are
               in use. Thanks to Eugene Rudoy for pointing this out.
   
               Handle IPv4 interface-address labels in Linux. These are
               often used to emulate the old IP-alias addresses. Before,
               using --interface=eth0 would service all the addresses of
               eth0, including ones configured as aliases, which appear
               in ifconfig as eth0:0. Now, only addresses with the label
               eth0 are active. This is not backwards compatible: if you
               want to continue to bind the aliases too, you need to add
               eg. --interface=eth0:0 to the config. 
           
               Fix "failed to set SO_BINDTODEVICE on DHCP socket: Socket 
               operation on non-socket" error on startup with
               configurations which have exactly one --interface option
               and do RA but _not_ DHCPv6. Thanks to Trever Adams for the
               bug report.
   
               Generalise --interface-name to cope with IPv6 addresses
               and multiple addresses per interface per address family.
   
               Fix option parsing for --dhcp-host, which was generating a
               spurious error when all seven possible items were
               included. Thanks to Zhiqiang Wang for the bug report.
   
               Remove restriction on prefix-length in --auth-zone. Thanks
               to Toke Hoiland-Jorgensen for suggesting this.
   
               Log when the maximum number of concurrent DNS queries is
               reached. Thanks to Marcelo Salhab Brogliato for the patch.
   
               If wildcards are used in --interface, don't assume that 
               there will only ever be one available interface for DHCP
               just because there is one at start-up. More may appear, so
               we can't use SO_BINDTODEVICE. Thanks to Natrio for the bug
               report. 
   
               Increase timeout/number of retries in TFTP to accomodate
               AudioCodes Voice Gateways doing streaming writes to flash.
               Thanks to Damian Kaczkowski for spotting the problem.
   
               Fix crash with empty DHCP string options when adding zero
               terminator. Thanks to Patrick McLean for the bug report.
   
               Allow hostnames to start with a number, as allowed in
               RFC-1123. Thanks to Kyle Mestery for the patch. 
   
               Fixes to DHCP FQDN option handling: don't terminate FQDN
               if domain not known and allow a FQDN option with blank
               name to request that a FQDN option is returned in the
               reply. Thanks to Roy Marples for the patch.
   
               Make --clear-on-reload apply to setting upstream servers
               via DBus too.
   
               When the address which triggered the construction of an
               advertised IPv6 prefix disappears, continue to advertise 
               the prefix for up to 2 hours, with the preferred lifetime
               set to zero. This satisfies RFC 6204 4.3 L-13 and makes
               things work better if a prefix disappears without being
               deprecated first. Thanks to Uwe Schindler for persuasively
               arguing for this.
   
               Fix MAC address enumeration on *BSD. Thanks to Brad Smith
               for the bug report.
   
               Support RFC-4242 information-refresh-time options in the 
               reply to DHCPv6 information-request. The lease time of the
               smallest valid dhcp-range is sent. Thanks to Uwe Schindler 
               for suggesting this.
   
               Make --listen-address higher priority than --except-interface
               in all circumstances. Thanks to Thomas Hood for the bugreport.
   
               Provide independent control over which interfaces get TFTP 
               service. If enable-tftp is given a list of interfaces, then TFTP 
               is provided on those. Without the list, the previous behaviour
               (provide TFTP to the same interfaces we provide DHCP to) 
               is retained. Thanks to Lonnie Abelbeck for the suggestion.
   
               Add --dhcp-relay config option. Many thanks to vtsl.net
               for sponsoring this development.
   
               Fix crash with empty tag: in --dhcp-range. Thanks to
               Kaspar Schleiser for the bug report.
   
               Add "baseline" and "bloatcheck" makefile targets, for 
               revealing size changes during development. Thanks to
               Vladislav Grishenko for the patch. 
   
               Cope with DHCPv6 clients which send REQUESTs without
               address options - treat them as SOLICIT with rapid commit.
   
               Support identification of clients by MAC address in
               DHCPv6. When using a relay, the relay must support RFC
               6939 for this to work. It always works for directly
               connected clients. Thanks to Vladislav Grishenko
               for prompting this feature.
               
               Remove the rule for constructed DHCP ranges that the local
               address must be either the first or last address in the
               range. This was originally to avoid SLAAC addresses, but
               we now explicitly autoconfig and privacy addresses instead.  
   
               Update Polish translation. Thanks to Jan Psota.
   
               Fix problem in DHCPv6 vendorclass/userclass matching
               code. Thanks to Tanguy Bouzeloc for the patch.
   
               Update Spanish transalation. Thanks to Vicente Soriano.
   
               Add --ra-param option. Thanks to Vladislav Grishenko for
               inspiration on this.
   
               Add --add-subnet configuration, to tell upstream DNS
               servers where the original client is. Thanks to DNSthingy
               for sponsoring this feature.
   
               Add --quiet-dhcp, --quiet-dhcp6 and --quiet-ra. Thanks to
               Kevin Darbyshire-Bryant for the initial patch.
   
               Allow A/AAAA records created by --interface-name to be the
               target of --cname. Thanks to Hadmut Danisch for the
               suggestion. 
   
               Avoid treating a --dhcp-host which has an IPv6 address
               as eligable for use with DHCPv4 on the grounds that it has
               no address, and vice-versa. Thanks to Yury Konovalov for
               spotting the problem.
   
               Do a better job caching dangling CNAMEs. Thanks to Yves
               Dorfsman for spotting the problem.
   
    
 version 2.66  version 2.66
             Add the ability to act as an authoritative DNS              Add the ability to act as an authoritative DNS
             server. Dnsmasq can now answer queries from the wider 'net              server. Dnsmasq can now answer queries from the wider 'net

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>