1ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.4 - initial public release
2ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
3ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.5 - added caching, removed compiler warning on linux PPC
4ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
5ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.6 - TCP handling: close socket and return to connect state if we 
6ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              can't read the first byte. This corrects a problem seen very 
7ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              occasionally where dnsmasq would loop using all available CPU.
8ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
9ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added a patch from Cris Bailiff <c.bailiff@e-secure.com.au>
10ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      to set SO_REUSEADDR on the tcp socket which stops problems when
11ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              dnsmasq is restarted and old connections still exist.
12ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
13ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Stopped claiming in doc.html that smail is the default Debian
14ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      mailer, since it isn't any longer. (Pointed out by
15ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      David Karlin <dkarlin@coloradomtn.edu>)
16ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
17ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.7   Create a pidfile at /var/run/dnsmasq.pid
18ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
19ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Extensive armouring against "poison packets" courtesy of
20ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Thomas Moestl <tmoestl@gmx.net>
21ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
22ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Set sockaddr.sa_family on outgoing address, patch from
23ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      David Symonds <xoxus@usa.net>
24ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
25ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Patch to clear cache on SIGHUP 
26ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      from Jason L. Wagner <nialscorva@yahoo.com> 
27ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
28ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix bad bug resulting from not initialising value-result	
29ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      address-length parameter to recvfrom() and accept() - it
30ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      worked by luck before!
31ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
32ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.95  Major rewrite: remove calls to gethostbyname() and talk
33ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              directly to the upstream server(s) instead.
34ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              This has many advantages.
35ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (1) Dnsmasq no longer blocks during long lookups.
36ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (2) All query types are handled now, (eg MX) not just internet
37ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  address queries. Addresses are cached, all other
38ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  queries are forwarded directly.
39ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (3) Time-to-live data from upstream server is read and
40ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  used by dnsmasq to purge entries from the cache.
41ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (4) /etc/hosts is still read and its contents served (unless 
42ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	          the -h option is given).
43ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (5) Dnsmasq can get its upstream servers from
44ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  a file other than /etc/resolv.conf (-r option) this allows
45ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  dnsmasq to serve names to the machine it is running
46ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  on (put nameserver 127.0.0.1 in /etc/resolv.conf and
47ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  give dnsmasq the option -r /etc/resolv.dnsmasq)
48ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (6) Dnsmasq will re-read its servers if the
49ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  modification time of resolv.conf changes. Along with
50ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  4 above this allows nameservers to be set
51ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat		  automatically by ppp or dhcp.	 
52ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
53ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              A really clever NAT-like technique allows the daemon to have lots
54ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              of queries in progress, but still remain very lightweight.
55ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Dnsmasq has a small footprint and normally doesn't allocate
56ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              any more memory after start-up. The NAT-like forwarding was
57ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              inspired by a suggestion from Eli Chen <eli@routefree.com>
58ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
59ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.96  Fixed embarrasing thinko in cache linked-list code.
60ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                             
61ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.98  Some enhancements and bug-fixes. 
62ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Thanks to "Denis Carre" <denis.carre@laposte.net> and Martin 
63ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Otte <otte@essc.psu.edu>	
64ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
65ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (1) Dnsmasq now always sets the IP source address
66ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  of its replies correctly. Older versions would not always
67ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  do this on multi-homed and IP aliased hosts, which violates 
68ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  the RFC.
69ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (2) Dnsmasq no longer crashes if a server loop is created
70ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	          (ie dnsmasq is told to use itself as an upstream server.)
71ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  Now it just logs the problem and doesn't use the bad 
72ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  server address.
73ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (3) Dnsmasq should now forward (but not cache) inverse queries 
74ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  and server status queries; this feature has not been tested.
75ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (4) Don't write the pid file when in non-daemon mode.
76ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (5) Create the pid file mode 644, rather then 666 (!).
77ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (6) Generate queries to upstream nameservers with unpredictable
78ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                  ids, to thwart DNS spoofers.
79ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (7) Dnsmasq no longer forwards queries when the 
80ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	          "recursion desired" bit is not set in the header.
81ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (8) Fixed getopt code to work on compliers with unsigned char.
82ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
83ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.991 Added -b flag: when set causes dnsmasq to always answer
84ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      reverse queries on the RFC 1918 private IP space itself and
85ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              never forward them to an upstream server. If the name is not in
86ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      /etc/hosts, dnsmasq replies with the dotted-quad address.
87ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
88ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed a bug which stopped dnsmasq working on a box with
89ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              two or more interfaces with the same IP address. 
90ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
91ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed cacheing of CNAMEs. Previously, a CNAME which pointed
92ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              to  a name with many A records would not have all the addresses
93ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              returned when being answered from the cache.
94ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
95ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Thanks to "Steve Hardy" <s.a.hardy@connectux.com> for his input 
96ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              on these fixes.
97ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
98ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed race which could cause dnsmasq to miss the second of
99ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              two closely-spaced updates of resolv.conf (Thanks to Eli Chen
100ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              for pointing this out.)
101ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
102ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed a bug which could cause dnsmasq to fail to cache some
103ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              dns names.
104ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
105ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.992 Small change to memory allocation so that names in /etc/hosts
106ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              don't use cache slots. Also make "-c 0" flag meaningfully 
107ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              disable caching completely.                            
108ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
109ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.993 Return only the first (canonical) name from an entry in
110ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      /etc/hosts as reply to reverse query.
111ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
112ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Handle wildcard queries for names/addresses in /etc/hosts
113ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      this is mainly to allow reverse lookups by dig to succeed.
114ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (Bug reported by Simon J. Rowe" <srowe@mose.org.uk>)  
115ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
116ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Subtle change to the logic which selects which of multiple
117ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      upstream servers we send queries to. This fixes a problem 
118ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              where dnsmasq continuously sends queries to a server which
119ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      is returning error codes and ignores one which is working.
120ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
121ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.994 Fixed bug which broke lookup of names in /etc/hosts
122ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              which have upper-case letters in them. Thanks for Joao Clemente
123ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              for spotting that one. 
124ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
125ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Output cache statistics on receipt of SIGUSR1. These go
126ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              to syslog except in debug (-d) mode, when a complete cache
127ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      dump goes to stdout. Suggestion from Joao Clemente, code
128ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              based in John Volpe's.
129ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
130ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Accept GNU long options on the command line. Code from 
131ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      John Volpe for this. 
132ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
133ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Split source code into multiple files and produced 
134ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      a proper makefile. 
135ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
136ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Included code from John Volpe to parse dhcp.leases file
137ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              written by ISC dhcpd. The hostnames in the leases file are
138ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              added to the cache and updated as dhcpd updates the 
139ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              leases file. The code has been heavily re-worked by me,
140ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              so any bugs are probably mine.
141ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
142ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.995 Small tidy-ups to signal handling and cache code.
143ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
144ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.996 Added negative caching: If dnsmasq gets a "no such domain" reply
145ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              from an upstream nameserver, it will cache that information
146ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              for a time specified by the SOA RR in the reply. See RFC 2308
147ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              for details. This is useful with  resolver libraries
148ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              which append assorted suffices to non-FQDN in an attempt to 
149ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              resolve them, causing useless cache misses.
150ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
151ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added -i flag, which restricts dnsmasq to offering name service
152ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              only on specified interfaces.
153ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
154ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 0.997 Deleted INSTALL script and added "install" target to makefile.
155ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
156ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Stopped distributing binaries in the tarball to avoid 
157ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              libc version clashes.
158ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
159ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed  interface detection code to
160ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              remove spurious startup errors in rare circumstances.
161ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
162ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Dnsmasq now changes its uid, irrevocably, to nobody after
163ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              startup for security reasons. Thanks to Peter Bailey for
164ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              this patch.
165ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
166ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Cope with infinite DHCP leases. Patch thanks to 
167ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Yaacov Akiba Slama.
168ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
169ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added rpm control files to .tar.gz distribution. Thanks to
170ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Peter Baldwin at ClarkConnect for those.
171ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
172ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Improved startup script for rpms. Thanks to Yaacov Akiba Slama.
173ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
174ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.0   Stable release: dnsmasq is now considered feature-complete
175ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              and stable.
176ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              
177ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.1   Added --user argument to allow user to change to
178ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              a different userid.
179ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
180ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added --mx-target argument to allow mail to be delivered
181ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              away from the gateway machine running dnsmasq.
182ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
183ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed highly  obscure bug with wildcard queries for
184ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              DHCP lease derived names.
185ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
186ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Moved manpage from section 1 to section 8.
187ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
188ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added --no-poll option.
189ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added Suse-rpm support.
190ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Thanks to Joerg Mayer for the last two.
191ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
192ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.2   Added IPv6 DNS record support. AAAA records are cached
193ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              and read from /etc/hosts. Reverse-lookups in the
194ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      ip6.int and ip6.arpa domains are suppored. Dnsmasq can
195ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              talk to upstream servers via IPv6 if it finds IP6 addresses
196ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              in /etc/resolv.conf and it offers DNS service automatically
197ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              if IPv6 support is present in the kernel.
198ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
199ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Extended negative caching to NODATA replies.
200ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
201ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Re-vamped CNAME processing to cope with RFC 2317's use of
202ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              CNAMES to PTR RRs in CIDR.
203ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
204ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added config.h and a couple of symbols to aid
205ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              compilation on non-linux systems.
206ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
207ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.3   Some versions of the Linux kernel return EINVAL rather
208ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              then ENPROTONOSUPPORT when IPv6 is not available, 
209ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              causing dnsmasq to bomb out. This release fixes that.
210ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Thanks to Steve Davis for pointing this one out.
211ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
212ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Trivial change to startup logic so that dnsmasq logs
213ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              its stuff and reads config files straight away on
214ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              starting, rather than after the first query - principle 
215ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              of least surprise applies here.     
216ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
217ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.4   Fix a bug with DHPC lease parsing which broke in
218ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              non-UTC timezones. Thanks to Mark Wormgoor for
219ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              spotting and diagnosing this. Fixed versions in
220ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              the .spec files this time. Fixed bug in Suse startup
221ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              script. Thanks to Didi Niklaus for pointing this out.
222ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
223ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.5   Added --filterwin2k option which stops dnsmasq from forwarding
224ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      "spam" queries from win2k boxes. This is useful to stop spurious
225ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              connections over dial-on-demand links. Thanks to Steve Hardy 
226ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              for this code.
227ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
228ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Clear "truncated" bit in replies we return from upstream. This
229ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              stops resolvers from switching to TCP, which is pointless since
230ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              dnsmasq doesn't support TCP. This should solve problems
231ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              in resolving hotmail.com domains.
232ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
233ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Don't include getopt.h when Gnu-long-options are disabled -
234ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              hopefully this will allow compilation on FreeBSD.
235ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
236ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added the --listen-address and --pid-file flags.
237ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
238ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed a bug which caused old entries in the DHCP leases file
239ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              to be used in preference to current ones under certain
240ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              circumstances.
241ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
242ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.6   If a machine gets named via DHCP and the DHCP name doesn't have
243ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              a domain part and domain suffix is set using the -s flag, then
244ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              that machine has two names with the same address, with and 
245ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              without the domain suffix. When doing a _reverse_ lookup to
246ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              get the name, the "without suffix" name used to be returned,
247ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              now the "with suffix" one gets returned instead. This change
248ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      suggested by Arnold Schulz.
249ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
250ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed assorted typos in the documentation. Thanks 
251ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              to David Kimdon.
252ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
253ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Subtle rearrangement to the downloadable tarball, and stopped
254ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              distributing .debs, since dnsmasq is now an official Debian
255ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              package.
256ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
257ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.7   Fix a problem with cache not clearing properly
258ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              on receipt of SIGHUP. Bug spotted by Sat Deshpande.
259ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
260ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              In group-id changing code:
261ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      1) Drop supplimentary groups.
262ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              2) Change gid before dropping root (patch from Soewono Effendi.)
263ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              3) Change group to "dip" if it exists, to allow access
264ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                 to /etc/ppp/resolv.conf (suggestion from Jorg Sommer.)
265ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Update docs to reflect above changes.
266ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
267ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Other documentation changes from David Miller.
268ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added suggested script fragment for dhcpcd.exe.
269ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
270ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.8   Fix unsafe use of tolower() macro - allows linking against 
271ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              ulibc. (Patches from Soewono Effendi and Bjorn Andersson.)
272ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
273ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fix typo in usage string.
274ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
275ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added advice about RedHat PPP configuration to
276ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              documentation. (Thanks to C. Lee Taylor.)
277ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
278ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Patches to fix problems on BSD systems from Marc Huber
279ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              and Can Erkin Acar. These add the options
280ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              HAVE_ARC4RANDOM and HAVE_SOCKADDR_SA_LEN to config.h.
281ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Elaborated config.h - should really use autoconf.
282ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
283ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix time-to-live calculation when chasing CNAMEs.
284ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
285ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix use-after-free and missing initialisation bugs in
286ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              the cache code. (Thanks to Marc Huber.)
287ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
288ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Builds on Solaris 9. (Thanks to Marc Huber.)           
289ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
290ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.9   Fixes to rpm .spec files.
291ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
292ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Don't put expired DHCP entries into the cache only to 
293ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      throw them away again.
294ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
295ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Put dnsmasq on a severe memory diet: this reduces both
296ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              the amount of heap space used and the stack size
297ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              required. The difference is not really visible with
298ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              bloated libcs like glibc, but should dramatically reduce
299ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              memory requirements when linked against ulibc for use on
300ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              embeded routers, and that's the point really. Thanks to
301ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Matthew Natalier for prompting this.   
302ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
303ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Changed debug mode (-d) so that all logging appears on
304ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              stderr as well as going to syslogd. 
305ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
306ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added HAVE_IPV6 config symbol to allow compilation
307ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              against a libc which doesn't have IPv6 support.
308ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
309ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added a facility to log all queries, enabled with -q flag.
310ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
311ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed packet size checking bug in address extraction code.
312ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
313ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Halved default cache size - 300 was way OTT in typical use.
314ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
315ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added self-MX function, enabled by -e flag. Thanks to
316ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Lyonel Vincent for the patch.
317ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
318ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added HAVE_FORK config symbol and stuff to support
319ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              uClinux. Thanks to Matthew Natalier for uClinux stuff. 
320ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
321ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.10  Log warnings if resolv.conf or dhcp.leases are not
322ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              accessable for any reason, as suggested by Hinrich Eilts.
323ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
324ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed wrong address printing in error message about
325ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      no interface with address.
326ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
327ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Updated docs and split installation instuctions into setup.html.
328ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
329ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix bug in CNAME chasing code: One CNAME pointing
330ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      to many A records would lose A records after the 
331ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      first. This bug was introduced in version 1.9.
332ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
333ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Log startup failures at level Critical as well as 
334ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      printing them to standard error.
335ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Exit with return code 1 when given bad options.
336ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
337ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Cleaned up code for no-cache operation.
338ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
339ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added -o option which forces dnsmasq to use to
340ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              upstream servers in the order they appear in /etc/resolv.conf.
341ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
342ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Added upstream server use logging.
343ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
344ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Log full cache dump on receipt of SIGUSR1 when query 
345ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              logging is enabled (-q switch).
346ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
347ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added -S option to directly specify upstream servers and
348ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              added ability to direct queries for specific domains to
349ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              specfic servers. Suggested by Jens Vonderheide.
350ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
351ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Upgraded random ID generation - patch from Rob Funk.	      
352ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
353ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed reading of domains in arguments with capital
354ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              letters or trailing periods.
355ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
356ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed potential SEGV when given bad options.
357ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
358ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Read options from /etc/dnsmasq.conf if it exists.
359ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Do sensible things with missing parameters, eg 
360ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              "--resolv-file=" turns off reading /etc/resolv.conf.
361ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
362ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.11  Actually implement the -R flag promised in the 1.10 man page.
363ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
364ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Improve and rationalise the return codes in answers to
365ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              queries. In the case that there are no available
366ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              upstream servers to forward a query to, return REFUSED.
367ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              This makes sendmail work better on modem connected
368ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              systems when the modem link is down (Thanks to Roger Plant).
369ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Cache and return the NXDOMAIN status of failed queries:
370ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              this makes the `host` command work when traversing search
371ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              paths (Thanks to Peter Bailey). Set the "authoritative"
372ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              bit in replies containing names from /etc/hosts or DHCP.
373ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
374ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Tolerate MS-DOS style line ending codes in /etc/hosts
375ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      and /etc/resolv.conf, for people who copy from winsock
376ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              installations.
377ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
378ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Allow specification of more than one resolv.conf file. This is 
379ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              intended for laptops which connect via DHCP or
380ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              PPP. Whichever resolv.conf was updated last is used.
381ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
382ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Allow -S flags which specify a domain but no server
383ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              address. This gives local domains which are never forwarded.
384ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
385ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Add -E flag to automatically add the domain suffix to
386ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              names in /etc/hosts -suggestion from Phil Harman.
387ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
388ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Always return a zero time-to-live for names derived from 
389ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      DHCP which stops anthing else caching these
390ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              names. Previously the TTL was derived from the lease
391ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              time but that is incorrect since a lease can be given
392ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              up early: dnsmasq would know this but anything with the
393ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              name cached with long TTL would not be updated.
394ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
395ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Extended HAVE_IPV6 config flag to allow compliation on
396ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      old systems which don't have modern library routines
397ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      like inet_ntop(). Thanks to Phil Harman for the patch.
398ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
399ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.12  Allow more than one domain in server config lines and
400ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      make "local" a synonym for "server". This makes things
401ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      like "local=/localnet/thekelleys.org.uk/" legal. Allow
402ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              port to specified as part of server address.
403ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
404ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Allow whole domains to have an IP address specified
405ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              in /etc/dnsmasq.conf. (/etc/hosts doesn't work domains).
406ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              address=/doubleclick.net/127.0.0.1 should catch all
407ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              those nasty banner ads. Inspired by a patch 
408ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      from Daniel Gryniewicz
409ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
410ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Log the source of each query when logging switched on. 
411ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
412ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix bug in script fragment for dhcpcd - thanks to Barry Stewart.
413ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
414ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix bug which meant that strict-order and self-mx were
415ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      always enabled.
416ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
417ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Builds with Linux libc5 now - for the Freesco project.
418ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
419ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed Makefile installation script (patch from Silvan
420ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Minghetti) and added CC and CFLAGS variables.
421ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
422ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Improve resource allocation to reduce vulnerability to
423ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      DOS attacks - the old version could have all queries
424ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      blocked by a continuous high-speed stream of
425ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      queries. Now some queries will succeed, and the excess
426ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      will be rejected with a server fail error. This change also
427ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      protects against server-loops; setting up a resolving
428ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              loop between two instances of dnsmasq is no longer
429ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      catastrophic. The servers will continue to run, looped
430ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      queries fail and a warning is logged. Thanks to C. Lee
431ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Taylor for help with this.
432ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
433ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.13  Added support for building rpms suitable for modern Suse 
434ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      systems. (patch from Andi <cambeis@netplace.de>)
435ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
436ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added options --group, --localmx, --local-ttl,
437ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      --no-negcache, --addn-host.
438ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
439ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Moved all the various rpm-building bits into /rpm.
440ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
441ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix builds with glibc 2.1 (thanks to Cristian
442ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Ionescu-Idbohrn)
443ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
444ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Preserve case in domain names, as per RFC1035.
445ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
446ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed ANY queries to domains with --address specification.
447ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
448ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed FreeBSD build. (thanks to Steven Honson)
449ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
450ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added -Q option which allows a specified port to be used
451ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      to talk to upstream servers. Useful for people who want
452ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      very paranoid firewalls which open individual UDP port.
453ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (thanks to David Coe for the patch)
454ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      	      
455ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.14  Fixed man page description of -b option which confused 
456ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      /etc/hosts with /etc/resolv.conf. (thanks to Christopher
457ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Weimann)
458ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
459ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed config.h to allow building under MACOS X and glibc
460ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      2.0.x. (thanks to Matthew Gregan and Serge Caron)
461ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
462ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added --except-interface option. (Suggested by Serge Caron)
463ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
464ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added SIGUSR2 facility to re-scan for new
465ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      interfaces. (Suggested by Serge Caron)
466ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
467ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed SEGV in option-reading code for invalid options.
468ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (Thanks to Klaas Teschauer)
469ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
470ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed man page to clarify effect of SIGUSR1 on
471ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      /etc/resolv.conf.
472ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      (Thanks to Klaas Teschauer)
473ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
474ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Check that recieved queries have only rfc1035-legal characters
475ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      in them. This check is mainly to avoid bad strings being
476ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      sent to syslog.
477ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
478ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed &&/& confusion in option.c and added DESTDIR
479ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      variable for "make install" (Thanks to Osvaldo 
480ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Marques for the patch.)
481ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
482ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed /etc/hosts parsing code to cope with MS-DOS
483ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      line-ends in the file. This was supposed to be done in
484ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      version 1.11, but something got missed. (Thanks to Doug
485ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Copestake for helping to find this.)
486ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
487ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Squash repeated name/address pairs read from hosts
488ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      files.
489ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
490ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Tidied up resource handling in util.c (Thanks to
491ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Cristian Ionescu-Idbohrn).
492ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
493ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added hashed searching of domain names. People are starting
494ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      to use dnsmasq with larger loads now, and bigger caches,
495ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      and large lists of ad-block addresses. This means doing
496ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      linear searches can start to use lots of CPU so I added hashed
497ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      searching and seriously optimised the cache code for 
498ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      algorithmic efficiency. Also upped the limit on cache 
499ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      size to 10000.
500ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
501ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed logging of the source of names from the additional
502ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      hosts file and from the "bogus private address" option.
503ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
504ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed spurious re-reading of empty lease files. (Thanks
505ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      to Lewis Baughman for spotting this.)
506ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
507ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed building under uclibc (patch from Cristian Ionescu-Idbohrn)
508ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
509ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Do some socket tweaking to allow dnsmasq to co-exist
510ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      with BIND. Thanks to Stefan 'Sec' Zehl for the patch.
511ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
512ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.15  Added --bogus-nxdomain option.
513ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
514ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Restrict checking of resolv.conf and DHCP leases files
515ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              to once per second. This is intended to improve
516ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              performance under heavy loads. Also make a system call
517ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      to get the current time once per query, rather than four
518ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              times.
519ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
520ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Increased number of outstanding queries to 150 in
521ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      config.h
522ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
523ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.16  Allow "/" characters in domain names - this fixes
524ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              caching of RFC 2317 CNAME-PTR records.
525ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
526ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixed brain-fart in -B option when GETOPT_LONG not
527ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      enabled - thanks to Steven Young and Jason Miller 
528ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      for pointing this out.
529ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
530ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Generalised bogus-nxdomain code: allow more than one
531ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      address to check, and deal with replies with multiple
532ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      answer records. (Based on contribution from Humberto
533ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Massa.)
534ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
535ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Updated the documentation to include information about
536ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      bogus-nxdomain and the Verisign tragedy.
537ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
538ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added libraries needed on Solaris to Makefile.
539ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
540ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added facility to set source address in queries to
541ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      upstream nameservers. This is useful with multihomed
542ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      hosts, especially when using VPNs. Thanks to Tom Fanning
543ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      for suggesting this feature.
544ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
545ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Tweaked logging: log to facility LOCAL0 when in
546ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      debug/no-daemon mode and changed level of query logging
547ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      from INFO to DEBUG. Make log options controllable in
548ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      config.h
549ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
550ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.17  Fixed crash with DHCP hostnames > 40 characters.
551ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
552ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Fixed name-comparision routines to not depend on Locale,
553ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              in theory this versions since 1.15 could lock up or give
554ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              wrong results when run with locale != 'C'.
555ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
556ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fix potential lockup in cache code. (thanks to Henning
557ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Glawe for help chasing this down.)
558ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
559ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Made lease-file reader bullet-proof.
560ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
561ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added -D option, suggested by Peter Fichtner.
562ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
563ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 1.18  Added round-robin DNS for names which have more than one
564ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              address. In this case all the addresses will be
565ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              returned, as before, but the order will change on each
566ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              query.
567ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
568ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Remove stray tolower() and isalnum() calls missed in 
569ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      last release to complete LOCALE independence.
570ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
571ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Allow port numbers in source-address specifications.
572ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
573ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      For hostnames without a domain part which don't get
574ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      forwarded because -D is in effect, return NXDOMAIN not
575ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      an empty reply.
576ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
577ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Add code to return the software version in repsonse to the
578ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      correct magic query in the same way as BIND. Use  
579ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      "dig version.bind chaos txt" to make the query.
580ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
581ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Added negative caching for PTR (address to name) records.
582ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
583ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	       Ensure that names of the form typically used in PTR queries
584ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              (ie w.x.yz.in-addr.arpa and IPv6 equivalents) get
585ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              correct answers when queried as other types. It's
586ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              unlikely that anyone would do this, but the change makes
587ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              things pedantically correct.
588ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
589ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Taught dnsmasq to understand "bitstring" names, as these
590ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      are used for PTR lookups of IPv6 addresses by some 
591ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      resolvers and lookup tools. Dnsmasq now understands both
592ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      the ip6.int domain and the ip6.arpa domain and both
593ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      nibble and bitstring formats so it should work with any
594ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      client code. Standards for this stuff have flip-flopped
595ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      over the last few years, leaving many different clients
596ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      in their wake. See RFC2673 for details of bitstrings.
597ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
598ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Allow '_' characters in domain names: Legal characters
599ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      are now [a-z][A-Z].-_ Check names read from hosts files
600ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      and leases files and reject illegal ones with a message
601ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      in syslog. 
602ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
603ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Make empty domain names in server and address options 
604ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      have the special meaning "unqualified
605ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      names". (unqualified names are names without any dots in
606ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      them). It's now possible to do server=//1.2.3.4 and have 
607ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      unqualified names sent to a special nameserver.
608ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
609ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.0rc1  
610ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              Moved source code into src/ directory.
611ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
612ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Fixes to cure compilation breakage when HAVE_IPV6 not
613ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      set, thanks to Claas Hilbrecht.
614ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
615ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      BIG CHANGE: added an integrated DHCP server and removed
616ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      the code to read ISC dhcp.leases. This wins in terms 
617ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      of ease of setup and configuration flexibility and 
618ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      total machine resources consumed. 
619ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
620ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      Re-jiged the signal handling code to remove a race
621ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      condition and to be more portable.
622ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
623ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.0
624ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Thanks to David Ashworth for feedback which informed many 
625ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     of the fixes below.
626ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
627ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Allow hosts to be specified by client ID in dhcp-hosts
628ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             options. These are now one of 
629ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             dhcp-host=<hardware addr>,.... 
630ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             dhcp-host=id:<hex client id>,..... 
631ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             dhcp-host=id:<ascii client id>,.....
632ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
633ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow dhcp-host options to specify any IP address on the
634ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             DHCP-served network, not just the range available for
635ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             dynamic allocation.
636ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
637ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow dhcp-host options for the same host with different
638ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     IP adresses where the correct one will be selected for
639ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     the network the host appears on.
640ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
641ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fix parsing of --dhcp-option to allow more than one
642ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     IP address and to allow text-type options.	     
643ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
644ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Inhibit use of --dhcp-option to send hostname DHCP options.
645ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
646ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Update the DNS with DHCP information after re-reading
647ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     /etc/hosts so that any DHCP derived names which have been
648ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     shadowed by now-deleted hosts entries become visible.
649ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
650ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fix typos in dnsmasq.conf.example
651ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
652ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixes to Makefile(s) to help pkgsrc packaging - patch 
653ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     from "pancake".
654ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
655ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add dhcp-boot option to support network boot.
656ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
657ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Check for duplicate IP addresses in dhcp-hosts lines
658ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     and refuse to run if found. If allowed to remain these 
659ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     can provoke an infinite loop in the DHCP protocol.
660ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
661ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Attempted to rationalise the .spec files for rpm
662ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     building. There are now files for Redhat, Suse and
663ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Mandrake. I hope they work OK.
664ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
665ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed hard-to-reproduce crash involving use of local
666ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     domains and IPv6 queries. Thanks to Roy Marples for
667ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     helping to track that one down.
668ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
669ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.1  
670ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Thanks to Matt Swift and Dag Wieers for many suggestions 
671ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     which went into this release.
672ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
673ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Tweak include files to allow compilation on FreeBSD 5
674ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             
675ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Fix unaligned access warnings on BSD/Alpha.
676ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
677ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow empty DHCP options, like so: dhpc-option=44
678ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
679ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Allow single-byte DHCP options like so: dhcp-option=20,1
680ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
681ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow comments on the same line as options in
682ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     /etc/dnsmasq.conf
683ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
684ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Don't complain when the same name and address is
685ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     allocated to a host using DHCP and /etc/hosts.
686ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
687ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added to the example configuration the dnsmasq equivalent
688ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     of the ISC dhcpd settings given in 
689ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             http://www.samba.org/samba/ftp/docs/textdocs/DHCP-Server-Configuration.txt
690ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
691ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed long-existing strangeness in Linux IPv6 interface
692ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     discovery code. The flags field in /proc/net/if_inet6 is
693ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     _not_ the interface flags. 
694ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
695ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fail gracefully when getting an ENODEV error when trying
696ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     to bind an IPv6 socket, rather than bailing out. Thanks
697ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     to Jan Ischebeck for feedback on that.
698ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
699ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow the name->address mapping for static DHCP leases to
700ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     be set by /etc/hosts. It's now possible to have
701ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat     	        dhcp-host=<mac addr>,wibble
702ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     or even
703ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                dhcp-host=wibble
704ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     and in /etc/hosts have
705ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	        wibble 1.2.3.4
706ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     and for the correct thing to happen. Note that some sort
707ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     of dhcp-host line is still needed, it's not possible for
708ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     random host to claim an address in /etc/hosts without
709ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     some explicit configuration.
710ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
711ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Make 0.0.0.0 in a dhcp-option to mean "the machine
712ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     running dnsmasq".
713ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    		    
714ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Fix lease time spec when specified in dhcp-range and not
715ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     in dhcp-host, previously this was always one hour.
716ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
717ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Fix problem with setting domains as "local only". -
718ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             thanks to Chris Schank.
719ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
720ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added support for max message size DHCP option.
721ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
722ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.2
723ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Fix total lack for DHCP functionality on
724ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Linux systems with IPv6 enabled. - thanks to
725ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Jonathon Hudson for spotting that.
726ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
727ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Move default config file under FreeBSD - patch from
728ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Steven Honson 
729ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
730ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.3
731ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Fix "install" makefile target. (reported by Rob Stevens)
732ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
733ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Ensure that "local=/domain/" flag is obeyed for all
734ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     queries on a domain, not just A and AAAA. (Reported by
735ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Peter Fichtner.)
736ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
737ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Handle DHCPDECLINE messages and provide an error message
738ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     in DHCPNAK messages.
739ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
740ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add "domain" setting example to
741ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dnsmasq.conf.example. Thanks to K P Kirchdorfer for
742ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     spotting that it was missing.
743ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
744ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Subtle change to the DHCPREQUEST handling code to work
745ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     around a bug in the DHCP client in HP Jetdirect printers.
746ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Thanks to Marko Stolle for finding this problem.
747ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
748ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Return DHCP T1 and T2 times, with "fuzz" to desychronise lease
749ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     renewals, as specified in the RFC.
750ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
751ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Ensure that the END option is always present in DHCP
752ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     packets , even if the packet is too small to fit all 
753ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     the requested options.
754ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
755ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Handle larger-than-default DHCP packets if required, up
756ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     to the ethernet MTU.
757ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
758ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fix a couple of places where the return code from
759ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     malloc() was not checked.
760ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
761ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Cope with a machine taking a DHCP lease and then moving
762ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     network so that the lease address is no longer valid.
763ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
764ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     The DHCP server will now work via a BOOTP relay - remote
765ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     networks are configured with the dhcp-range option the
766ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     same as directly connected ones, but they need an
767ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     additional netmask parameter. Eg
768ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     --dhcp-range=192.168.4.10,192.168.4.50,255.255,255.0
769ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             will enable DHCP service via a BOOTP relay on the
770ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     192.168.4.0 network. 
771ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
772ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add a limit on the number of available DHCP leases,
773ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     otherwise the daemon could be DOSed by a malicious
774ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     host. The default is 150, but it can be changed by the 
775ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dhcp-lease-max option.
776ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
777ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed compilation on OpenBSD (thanks to Frederic Brodbeck
778ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     for help with that.)
779ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
780ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Reworked the DHCP network handling code for two good
781ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     effects: (1) The limit of one network only for DHCP on
782ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     FreeBSD is now gone, (2) The DHCP server copes with
783ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dynamically created interfaces. The one-interface
784ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     limitation remains for OpenBSD, which is missing
785ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     extensions to the socket API which have been in Linux
786ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     since version 2.2 and FreeBSD since version 4.8.
787ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
788ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Reworked the DNS network code to also cope with
789ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dynamically created interfaces. dnsmasq will now listen
790ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     to the wildcard address and port 53 by default, so if no
791ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     --interface or --address options are given it will handle
792ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dynamically created interfaces. The old behaviour can be
793ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     restored with --bind-interfaces for people running BIND
794ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     on one interface and dnsmasq on another. Note that
795ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     --interface and --address options still work, but the
796ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     filtering is done by dnsmasq, rather then the kernel.
797ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     This works on Linux, and FreeBSD>=5.0. On systems which
798ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     don't support the required API extensions, the old 
799ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     behaviour is used, just as if --bind-interfaces had been set.
800ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
801ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow IPv6 support to be disabled at compile time. To do
802ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     that, add -DNO_IPV6 to the CFLAGS. Thanks to Oleg
803ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     I. Vdovikin for the suggestion to do that.
804ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
805ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add ability to set DHCP options per network. This is done
806ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     by giving a network an identifier like this:
807ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dhcp-range=red-net,192.168.0.10,192.168.0.50
808ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     and then labeling options intended for that network only
809ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     like this:
810ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dhcp-option=red-net,6,1.1.1.1
811ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Thanks to Oleg Vdovikin for arguing that one through.
812ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
813ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Made errors in the configuration file non-fatal: dnsmasq
814ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     will now complain bitterly, but continue.
815ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
816ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added --read-ethers option, to allow dnsmasq to pull
817ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     static DHCP information from that file. 
818ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Thanks to Andi Cambeis for that suggestion.
819ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
820ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added HAVE_BROKEN_RTC compilation option to support
821ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     embedded systems without a stable RTC. Oleg Vdovikin
822ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     helped work out how to make that work.
823ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
824ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.4
825ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed inability to start when the lease file doesn't
826ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     already exist. Thanks to Dag Wieers for reporting that.
827ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
828ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed problem were dhcp-host configuration options did
829ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     not play well with entries in /etc/ethers for the same
830ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     host. Thanks again to Dag Wieers.
831ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
832ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Tweaked DHCP code to favour moving to a newly-configured
833ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     static IP address rather than an old lease when doing
834ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     DHCP allocation.
835ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
836ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added --alias configuration option. This provides IPv4
837ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     rewrite facilities like Cisco "DNS doctoring". Suggested
838ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     by Chad Skeeters.
839ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
840ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed bug in /etc/ethers parsing code triggered by tab
841ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     characters. Qudos to Dag Wieers for hepling to nail that
842ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     one.
843ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 	     
844ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added "bind-interfaces" option correctly.	     
845ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
846ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.5
847ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Made "where are we allocating addresses?" code in DHCP
848ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     server cope with requests via a relay which is on a
849ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     directly connected network for which there is not a
850ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     configured netmask. This strange state of affairs occurs
851ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     with win4lin. Thanks to Alex Melt and Jim Horner for bug
852ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     reports and testing with this. 
853ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
854ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed trivial-but-irritating missing #include which broke
855ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     compilation on *BSD.
856ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
857ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Force --bind-interfaces if IP-aliased interface
858ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     specifications are used, since the sockets API provides
859ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     no other sane way to determine which alias of an
860ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     interface a packet was sent to. Thanks to Javier Kohen
861ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     for the bug report.
862ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
863ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.6 
864ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Support Token Ring DHCP. Thanks to Dag Wieers for help
865ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     testing. Note that Token ring support only works on Linux 
866ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     currently.
867ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
868ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fix compilation on MacOS X. Thanks to Bernhard Ehlers for
869ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     the patch.
870ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
871ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added new "ignore" keyword for
872ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dhcp-host. "dhcp-host=11:22:33:44:55:66,ignore" will
873ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     cause the DHCP server to ignore any host with the given
874ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     MAC address, leaving it to other servers on the
875ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     network. This also works with client-id and hostnames.
876ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Suggestion by Alex Melt.
877ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
878ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed parsing of hex client IDs. Problem spotted by Peter
879ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fichtner.
880ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
881ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow conf-file options in configuration file, to
882ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     provide an include function.
883ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
884ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Re-read /etc/ethers on receipt of SIGHUP.
885ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
886ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added back the ability to read ISC dhcpd lease files, by
887ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     popular demand. Note that this is deprecated and for
888ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     backwards compatibility only. You can get back the 4K of
889ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     memory that the code occupies by undefining
890ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     "HAVE_ISC_READER" in src/config.h
891ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
892ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Added ability to disable "pool" DHCP address allocation
893ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     whilst leaving static leases working. The syntax is
894ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     "dhcp-range=192.168.0.0,static"
895ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Thanks to Grzegorz Nosek for the suggestion.
896ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
897ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Generalized dnsmasq-rh.spec file to work on Mandrake too,
898ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     and removed dnsmasq-mdk.spec. Thanks to Doug Keller.
899ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
900ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow DHCP options which are tied to specific static
901ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     leases in the same way as to specific networks.
902ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
903ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Generalised the dhcp-option parser a bit to allow hex
904ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     strings as parameters. This is now legal:
905ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dhcp-option=128,e4:45:74:68:00:00
906ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Inspired by a patch from Joel Nordell.
907ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
908ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Changed the semantics of argument-less dhcp-options for
909ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     the default-setting ones, ie 1, 3, 6 and 28. Now, doing
910ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     eg, dhcp-option=3 stops dnsmasq from sending a default
911ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     router option at all. Thanks to Scott Emmons for pointing
912ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     out that this is useful.
913ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
914ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed dnsmasq.conf parsing bug which interpreted port
915ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     numbers in server= lines as a comment. To start a
916ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     comment, a '#' character must now be a the start of a
917ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     line or preceded by whitespace. Thanks to Christian
918ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Haggstrom for the bug report.
919ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
920ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.7  
921ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Allow the dhcp-host specification of id:* which makes 
922ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     dnsmasq ignore any client-id. This is useful to ensure 
923ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     that a dual-boot machine sees the same lease when one OS 
924ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     gives a client-id and the other doesn't. It's also useful
925ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     when PXE boot DHCP does not use client IDs but the OS it boots 
926ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             does. Thanks to Grzegorz Nosek for suggesting this enhancement.
927ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
928ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     No longer assume that ciaddr is zero in received DHCPDISCOVER 
929ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     messages, just for security against broken clients.
930ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
931ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Set default of siaddr field to the address of the machine running 
932ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             dnsmasq when not explicitly set using dhcp-boot
933ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             option. This is the ISC dhcpd behaviour.  
934ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
935ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             Send T1 and T2 options in DHCPOFFER packets. This is required
936ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     by the DHCP client in some JetDirect printers. Thanks 
937ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat             to Paul Mattal for work on this.
938ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
939ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed bug with DHCP on OpenBSD reported by Dominique Jacquel.
940ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     The code which added loopback interfaces to the list
941ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     was confusing the DHCP code, which expected one interface only.
942ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Solved by adding loopback interfaces to address list instead.
943ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
944ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add dhcp-vendorclass option to allow options to be sent only
945ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     to certain classes of clients.
946ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
947ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Tweaked option search code so that if a netid-qualified
948ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     option is used, any unqualified option is ignored.
949ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
950ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Changed the method of picking new dynamic IP
951ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     addresses. This used to use the next consecutive
952ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     address as long it was free, now it uses a hash
953ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     from the client hardware address. This reduces the amount
954ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     of address movement for clients which let their lease
955ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     expire and allows consecutive DHCPOFFERS to the same host
956ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     to (almost always) be for the same address, without
957ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     storing state before a lease is granted.
958ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
959ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Tweaked option handling code to return all possible
960ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     options rather than none when DHCP "requested options"
961ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     field is missing. This fixes interoperability with
962ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     ancient IBM LANMAN DHCP clients. Thanks to Jim Louvau for
963ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     help with this.
964ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
965ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.8
966ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Pad DHCP packets to a minimum size of 300 bytes. This
967ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     fixes interoperability problems with the Linux in-kernel
968ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     DHCP/BOOTP client. Thanks to Richard Musil for
969ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     diagnosing this and supplying a patch.
970ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
971ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed option-parsing bug and potential memory leak. Patch
972ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     from Richard Musil.
973ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
974ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Improved vendor class configuration and added user class
975ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     configuration. Specifically: (1) options are matched on
976ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     the netids from dhcp-range, dhcp-host, vendor class and
977ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     user class(es). Multiple net-ids are allowed and options
978ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     are searched on them all. (2) matches agains vendor class
979ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     and user class are now on a substring, if the given
980ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     string is a substring of the vendor/user class, then a
981ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     match occurs. Thanks again to Richard Musil for prompting
982ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     this.
983ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
984ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Make "#" match any domain on --address and --server
985ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     flags. --address=/#/1.2.3.4 will return 1.2.3.4 for _any_
986ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     domain not otherwise matched. Of course
987ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     --server=/#/1.2.3.4 is exactly equivalent to
988ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     --server=1.2.3.4. Special request from Josh Howlett.
989ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	
990ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed a nasty bug which would cause dnsmasq to lose track
991ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     of leases for hosts which had a --dhcp-host flag without
992ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     a name specification. The mechanism for this was that
993ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     the hostname could get erroneously set as a zero-length
994ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     string and then written to the leases file as a
995ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     mal-formed line. Restarting dnsmasq would then lose the lease.
996ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Alex Hermann's work helped chase down this problem.
997ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
998ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add checks against DHCP clients which return zero-length
999ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     hostnames. This avoids the potential lease-loss problems
1000ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     reffered to above. Also, if a client sends a hostname when
1001ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     it creates a lease but subsequently sends no or a
1002ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     zero-length hostname whilst renewing, continue to use the
1003ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     existing hostname, don't wipe it out. 
1004ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
1005ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Tweaked option parsing to flag some parameter errors.
1006ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1007ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.9
1008ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed interface filter code for two effects: 1) Fixed bug
1009ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     where queries sent via loopback interface
1010ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     but to the address of another interface were ignored
1011ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     unless the loopback interface was explicitly configured.
1012ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     2) on OpenBSD failure to configure one interface now
1013ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     causes a fatal error on startup rather than an huge
1014ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     stream of log messages. Thanks to Erik Jan Tromp for 
1015ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     finding that bug.
1016ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1017ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Changed server selection strategy to improve performance
1018ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     when there are many available servers and some are
1019ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     broken. The new algorithm is to pick as before for the
1020ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     first try, but if a query is retried, to send to all
1021ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     available servers in parallel. The first one to reply
1022ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     then becomes prefered for the next query. This should 
1023ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     improve reliability without generating significant extra
1024ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     upstream load.
1025ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1026ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed breakage of special servers/addresses for
1027ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     unqualified domains introduced in version 2.8 
1028ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	      
1029ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow fallback to "bind-interfaces" at runtime: Some
1030ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     verions of *BSD seem to have enough stuff in the header
1031ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     files to build but no kernel support. Also now log if
1032ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     "bind-interfaces" is forced on.
1033ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1034ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Log replies from upstream servers which refuse to do
1035ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     recursion - dnsmasq is not a recursive nameserver and
1036ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     relies on upstream servers to do the recursion, this
1037ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     flags a configuration error.
1038ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1039ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Disable client-id matching for hosts whose MAC address is
1040ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     read from /etc/ethers. Patch from Oleg I. Vdovikin.
1041ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1042ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Extended --mx-host flag to allow arbitrary targets for MX
1043ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     records, suggested by Moritz Bunkus.
1044ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1045ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Fixed build under NetBSD 2.0 - thanks to Felix Deichmann
1046ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     for the patch.
1047ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
1048ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Deal correctly with repeated addresses in /etc/hosts. The
1049ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     first name found is now returned for reverse lookups,
1050ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     rather than all of them.
1051ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1052ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Add back fatal errors when nonexistant 
1053ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     interfaces or interface addresses are given but only in
1054ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     "bind-interfaces" mode. Principle of least surprise applies.
1055ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     
1056ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     Allow # as the argument to --domain, meaning "read the
1057ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     domain from the first search directive in
1058ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     /etc.resolv.conf". Feature suggested by Evan Jones.
1059ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1060ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.10
1061ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow --query-port to be set to a low port by creating and
1062ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    binding the socket before dropping root. (Suggestion from
1063ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Jamie Lokier) 
1064ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1065ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support TCP queries. It turned out to be possible to do
1066ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this with a couple of hundred lines of code, once I knew
1067ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    how. The executable size went up by a few K on i386.
1068ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    There are a few limitations: data obtained via TCP is not
1069ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    cached, and dynamically-created interfaces may break under
1070ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    certain circumstances. Source-address or query-port
1071ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    specifications are ignored for TCP.
1072ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1073ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    NAK attempts to renew a DHCP lease where the DHCP range
1074ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    has changed and the lease is no longer in the allowed
1075ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    range. Jamie Lokier pointed out this bug.
1076ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1077ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    NAK attempts to renew a pool DHCP lease when a statically
1078ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    allocated address has become available, forcing a host to
1079ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    move to its allocated address. Lots of people have
1080ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    suggested this change and been rebuffed (they know who
1081ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    they are) the straws that broke the camel's back were Tim
1082ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Cutts and Jamie Lokier.
1083ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1084ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Remove any nameserver records from answers which are
1085ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    modified by --alias flags. If the answer is modified, it
1086ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    cannot any longer be authoritative.
1087ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1088ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Change behaviour of "bogus-priv" option to return NXDOMAIN
1089ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    rather than a PTR record with the dotted-quad address as
1090ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    name. The new behaviour doesn't provoke tcpwrappers like
1091ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the old behavior did.
1092ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1093ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added a patch for the Suse rpm. That changes the default
1094ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    group to one suitable for Suse and disables inclusion of
1095ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the ISC lease-file reader code. Thanks to Andy Cambeis for
1096ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    his ongoing work on Suse packaging.
1097ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1098ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support forwarding of EDNS.0 The maximum UDP packet size 
1099ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    defaults to 1280, but may be changed with the
1100ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --edns-packet-max option. Detect queries with the do bit
1101ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    set and always forward them, since DNSSEC records are 
1102ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    not cached. This behaviour is required to make
1103ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DNSSECbis work properly though dnsmasq. Thanks to Simon
1104ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Josefsson for help with this.
1105ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1106ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Move default config file location under OpenBSD from
1107ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /usr/local/etc/dnsmasq.conf to /etc/dnsmasq.conf. Bug
1108ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    report from Jonathan Weiss.
1109ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1110ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Use a lease with matching MAC address for a host which
1111ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    doesn't present a client-id, even if there was a client ID 
1112ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    at some point in the past. This reduces surprises when
1113ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    changing DHCP clients, adding id:* to a host, and from the
1114ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    semantics change of /etc/ethers in 2.9. Thanks to Bernard
1115ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Sammer for finding that.
1116ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1117ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added a "contrib" directory and in it the dnslist utility,
1118ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    from Thomas Tuttle.
1119ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1120ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed "fail to start up" problems under Linux with IPv6
1121ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    enabled. It's not clear that these were an issue in
1122ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    released versions, but they manifested themselves when TCP
1123ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    support was added. Thanks to Michael Hamilton for
1124ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    assistance with this.
1125ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1126ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.11
1127ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed DHCP problem which could result in two leases in the
1128ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            database with the same address. This looked much more
1129ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            alarming then it was, since it could only happen when a
1130ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            machine changes MAC address but kept the same name. The
1131ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            old lease would persist until it timed out but things
1132ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            would still work OK. 
1133ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1134ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Check that IP addresses in all dhcp-host directives are
1135ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    unique and die horribly if they are not, since otherwise
1136ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    endless protocol loops can occur. 
1137ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1138ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Use IPV6_RECVPKTINFO as socket option rather than
1139ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    IPV6_PKTINFO where available. This keeps late-model FreeBSD
1140ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    happy.
1141ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1142ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Set source interface when replying to IPv6 UDP
1143ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queries. This is needed to cope with link-local addresses.
1144ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1145ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.12
1146ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Added extra checks to ensure that DHCP created DNS entries 
1147ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    cannot generate multiple DNS address->name entries. Thanks to 
1148ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Stefan Monnier for finding the exact set of configuration
1149ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            options which could create this.
1150ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1151ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Don't set the the filterwin2k option in the example config
1152ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    file and add warnings that is breaks Kerberos. Thanks to
1153ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Simon Josefsson and Timothy Folks for pointing that out.
1154ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1155ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Log types of incoming queries as well as source and domain.
1156ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1157ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Log NODATA replies generated as a result of the
1158ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    filterwin2k option.
1159ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1160ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.13
1161ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed crash with un-named DHCP hosts introduced in 2.12.
1162ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Nicolo Wojewoda and Gregory Gathy for bug reports.
1163ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1164ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.14
1165ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix DHCP network detection for hosts which talk via a
1166ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    relay. This makes lease renewal for such hosts work
1167ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    correctly.
1168ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1169ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support RFC3011 subnet selectors in the DHCP server.
1170ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1171ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix DHCP code to generate RFC-compliant responses
1172ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            to hosts in the INIT-REBOOT state.
1173ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1174ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    In the DHCP server, set the receive buffer size on 
1175ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the transmit-only packet socket to zero, to avoid 
1176ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    waste of kernel buffers.
1177ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1178ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix DHCP address allocation code to use the whole of
1179ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the DHCP range, including the start and end addresses.
1180ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1181ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Attempt an ICMP "ping" on new addresses before allocating 
1182ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    them to leases, to avoid allocating addresses which are in use.
1183ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1184ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Handle rfc951 BOOTP as well as DHCP for hosts which have
1185ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    MAC address to IP address mapping defined.
1186ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1187ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix compilation under MacOS X. Thanks to Chris Tomlinson.
1188ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1189ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix compilation under NetBSD. Thanks to Felix Deichmann.
1190ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1191ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added "keep-in-foreground" option. Thanks to Sean
1192ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    MacLennan for the patch.
1193ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1194ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.15
1195ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Fixed NXDOMAIN/NODATA confusion for locally known
1196ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            names. We now return a NODATA reponse for names which are
1197ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            locally known. Now a query for (eg AAAA or MX) for a name
1198ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with an IPv4 address in /etc/hosts which fails upstream
1199ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            will generate a NODATA response. Note that the query 
1200ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is still tried upstream, but a NXDOMAIN reply gets
1201ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            converted to NODATA. Thanks to Eric de Thouars, Eric
1202ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Spakman and Mike Mestnik for bug reports/testing.
1203ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1204ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow multiple dhcp-ranges within the same network. The
1205ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    original intention was that there would be a dhcp-range
1206ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    option for each network served, but there's no real reason
1207ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    not to allow discontinuous ranges within a network so this
1208ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    release adds support for that.
1209ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1210ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Check for dhcp-ranges which are inconsistent with their 
1211ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    netmask, and generate errors or warnings.
1212ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1213ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Improve error messages when there are problems with
1214ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configuration.
1215ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1216ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.16
1217ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed typo in OpenBSD-only code which stopped compilation
1218ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            under that OS. Chris Weinhaupl gets credit for reporting 
1219ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            this.
1220ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1221ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added dhcp-authoritative option which restores non-RFC 
1222ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    compliant but desirable behaviour of pre-2.14 versions and
1223ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            avoids long timeouts while DHCP clients try to renew leases
1224ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            which are unknown to dnsmasq. Thanks to John Mastwijk for 
1225ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    help with this.	 
1226ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1227ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added support to the DHCP option code to allow RFC-3397 
1228ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    domain search DHCP option (119) to be sent.
1229ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1230ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Set NONBLOCK on all listening sockets to workaround non-POSIX
1231ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            compliance in Linux 2.4 and 2.6. This fixes rare hangs which
1232ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            occured when corrupted packets were received. Thanks to
1233ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Joris van Rantwijk for chasing that down.
1234ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
1235ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated config.h for NetBSD. Thanks to Martin Lambers.
1236ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1237ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Do a better job of distinguishing between retransmissions
1238ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and new queries when forwarding. This fixes a bug
1239ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    triggered by the polipo web cache which sends A and AAAA
1240ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queries both with the same transaction-ID. Thanks to 
1241ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Joachim Berdal Haga and Juliusz Chroboczek for help with this.
1242ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1243ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Rewrote cache code to store CNAMES, rather then chasing
1244ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    them before storage. This eliminates bad situations when
1245ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    clients get inconsistent views depending on if data comes
1246ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    from the cache.
1247ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1248ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow for more than one --addn-hosts flag.
1249ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1250ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Clarify logged message when a DHCP lease clashes with an
1251ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts entry. Thanks to Mat Swift for the suggestion.
1252ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1253ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added dynamic-dnsmasq from Peter Willis to the contrib
1254ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    section.
1255ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1256ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.17
1257ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Correctly deduce the size of numeric dhcp-options, rather
1258ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    than making wild guesses. Also cope with negative values.
1259ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1260ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed use of C library reserved symbol "index" which broke
1261ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    under certain combinations of library and compiler.
1262ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1263ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Make bind-interfaces work for IPv6 interfaces too.
1264ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1265ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Warn if an interface is given for listening which doesn't
1266ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    currently exist when not in bind-interfaces mode. (This is
1267ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    already a fatal error when bind-interfaces is set.)
1268ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1269ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow the --interface and --except-interface options to
1270ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    take a comma-separated list of interfaces.
1271ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1272ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak --dhcp-userclass matching code to work with the
1273ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ISC dhclient which violates RFC3004 unless its
1274ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configuration is very warped. Thanks to Cedric Duval for
1275ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the bug report. 
1276ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1277ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow more than one network-id tag in a dhcp-option. All
1278ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the tags must match to enable the option.
1279ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1280ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added dhcp-ignore option to disable classes of hosts based
1281ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    on network-id tags. Also allow BOOTP options to be
1282ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    controlled by network tags.
1283ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1284ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fill in sname, file and siaddr fields in replies to
1285ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCPINFORM messages.
1286ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1287ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Don't send NAK replies to DHCPREQUEST packets for disabled
1288ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    clients. Credit to Cedric Duval for spotting this.
1289ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1290ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix rare crash associated with long DNS names and CNAME
1291ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    records. Thanks to Holger Hoffstatte and especially Steve
1292ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Grecni for help chasing that one down.
1293ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1294ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.18
1295ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Reworked the Linux interface discovery code (again) to
1296ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    cope with interfaces which have only IPv6 addresses and 
1297ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    interfaces with more than one IPv6 address. Thanks to
1298ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Martin Pels for help with that.
1299ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1300ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix problems which occured when more than one dhcp-range
1301ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    was specified in the same subnet: sometimes parameters
1302ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    (lease time, network-id tag) from the wrong one would be
1303ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    used. Thanks to Rory Campbell-Lange for the bug report.
1304ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1305ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Reset cache statistics when clearing the cache.
1306ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1307ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Enable long command line options on FreeBSD when the
1308ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    C library supports them.
1309ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1310ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.19 
1311ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Tweaked the Linux-only interface discovery code to cope 
1312ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with interface-indexes larger than 8 bits in
1313ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            /proc/net/if_inet6. This only affects Linux, obviously.  
1314ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Richard Atterer for the bug report.
1315ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1316ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Check for under-length option fields in DHCP packets, a
1317ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    zero length client-id, in particluar, could seriously
1318ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    confuse dnsmasq 'till now. Thanks to Will Murname for help
1319ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with that.
1320ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1321ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    If a DHCP-allocated address has an associated name in
1322ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts, and the client does not provide a hostname
1323ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    parameter and there is no hostname in a matching dhcp-host
1324ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    option, send the /etc/hosts name as the hostname in 
1325ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the DHCP lease. Thanks to Will Murname for the suggestion.
1326ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1327ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.20
1328ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow more than one instance of dnsmasq to run on a
1329ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    machine, each providing DHCP service on a different
1330ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    interface, provided that --bind-interfaces is set. This
1331ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configuration used to work, but regressed in version 2.14
1332ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1333ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix compilation on Mac OS X. Thanks to Kevin Bullock.
1334ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	
1335ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Protect against overlong names and overlong
1336ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    labels in configuration and from DHCP.
1337ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1338ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix interesting corner case in CNAME handling. This occurs
1339ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when a CNAME has a target which "shadowed" by a name in
1340ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts or from DHCP. Resolving the CNAME would sneak
1341ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the upstream value of the CNAME's target into the cache,
1342ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    alongside the local value. Now that doesn't happen, though
1343ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    resolving the CNAME still gives the unshadowed value. This
1344ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is arguably wrong but rather difficult to fix. The main
1345ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    thing is to avoid getting strange results for the target
1346ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    due to the cache pollution when resolving the
1347ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    CNAME. Thanks to Pierre Habouzit for exploring the corner
1348ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and submitting a very clear bug report.
1349ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1350ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix subtle bug in the DNS packet parsing code. It's almost
1351ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    impossible to describe this succinctly, but the one known
1352ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    manifestation is the inability to cache the A record for
1353ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    www.apple.com. Thanks to Bob Alexander for spotting that.
1354ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1355ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support SRV records. Thanks to Robert Kean for the patches
1356ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for this.
1357ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1358ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed sign confusion in the vendor-id matching code which
1359ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    could cause crashes sometimes. (Credit to Mark Wiater for
1360ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    help finding this.)
1361ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1362ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added the ability to match the netid tag in a
1363ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-range. Combined with the ability to have multiple
1364ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ranges in a single subnet, this provides a means to
1365ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    segregate hosts on different address ranges based on
1366ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    vendorclass or userclass. Thanks to Mark Wiater for
1367ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    prompting this enhancement.    
1368ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1369ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added preference values for MX records.
1370ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1371ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added the --localise-queries option.
1372ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1373ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.21
1374ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Improve handling of SERVFAIL and REFUSED errors. Receiving
1375ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    these now initiates search for a new good server, and a 
1376ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    server which returns them is not a candidate as a good
1377ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            server. Thanks to Istvan Varadi for pointing out the
1378ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            problem.
1379ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1380ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak the time code in BROKEN_RTC mode.
1381ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1382ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Sanity check lease times in dhcp-range and dhcp-host
1383ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configurations and force them to be at least two minutes
1384ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    (120s) leases shorter than a minute confuse some clients,
1385ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    notably Apple MacOS X. Rory Campbell-Lange found this
1386ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    problem.
1387ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1388ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Only warn once about an upstream server which is refusing to do
1389ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    recursive queries.
1390ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1391ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix DHCP address allocation problem when netid tags are in
1392ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    use. Thanks to Will Murnane for the bug report and
1393ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    subsequent testing.
1394ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1395ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add an additional data section to the reply for MX and SRV
1396ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queries. Add support for DNS TXT records. Thanks to Robert 
1397ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Kean and John Hampton for prompts and testing of these.
1398ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1399ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Apply address rewriting to records in the additional data section
1400ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    of DNS packets. This makes things like MX records work
1401ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with the alias function. Thanks to Chad Skeeters for
1402ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    pointing out the need for this.
1403ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1404ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added support for quoted strings in config file.
1405ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1406ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Detect and defeat cache-poisoning attacks which attempt to
1407ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    send (malicious) answers to questions we didn't
1408ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    send. These are ignored now even if the attacker manages
1409ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to guess a random query-id.
1410ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1411ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Provide DHCP support for interfaces with multiple IP
1412ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    addresses or aliases. This in only enabled under Linux.
1413ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    See the FAQ entry for details.
1414ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1415ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Revisit the MAC-address and client-id matching code to
1416ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    provide saner behaviour with PXE boots, where some
1417ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    requests have a client-id and some don't.
1418ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1419ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed off-by-one buffer overflow in lease file reading
1420ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    code. Thanks to Rob Holland for the bug report.
1421ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1422ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added wildcard matching for MAC addresses in dhcp-host
1423ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    options. A sensible suggestion by Nathaniel McCallum.
1424ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1425ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.22
1426ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Fixed build problems on (many) systems with older libc
1427ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            headers where <linux/types.h> is required before
1428ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            <linux/netlink.h>. Enabled HAVE_RTNETLINK under uclibc now
1429ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            that this fix is in place.
1430ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1431ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added support for encapsulated vendor-class-specific DHCP
1432ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    options. Thanks to Eric Shattow for help with this.
1433ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1434ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix regression in 2.21 which broke commas in filenames and
1435ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    corrupted argv. Thanks to Eric Scott for the bugreport.
1436ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1437ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed stupid thinko which caused dnsmasq to wedge during
1438ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    startup with certain MX-record options. Another 2.21 regression.
1439ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1440ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed broken-ness when reading /etc/ethers. 2.21 broke
1441ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this too.
1442ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1443ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed wedge with certain DHCP options. Yet another 2.21
1444ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    regression. Rob Holland and Roy Marples chased this one
1445ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    down.
1446ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1447ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.23
1448ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added a check to ensure that there cannot be more than one
1449ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-host option for any one IP address, even if the
1450ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    addresses are assigned indirectly via a hostname and
1451ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts.
1452ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1453ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Include a "server identifier" in DHCPNAK replies, as
1454ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    required by RFC2131.
1455ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1456ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added method  support for DBus
1457ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    (http://www.freedesktop.org/Software/dbus)
1458ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    This is a superior way to re-configure dnsmasq on-the-fly
1459ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with different upstream nameservers, as the host moves
1460ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    between networks. DBus support must be enabled in
1461ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    src/config.h and should be considered experimental at this
1462ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    point. See DBus-interface for the specification of the
1463ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DBus method calls supported.
1464ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1465ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added information to the FAQ about setting the DNS domain
1466ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in windows XP and Mac OS X, thanks to Rick Hull.
1467ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1468ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added sanity check to resolv.conf polling code to cope
1469ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with backwards-moving clocks. Thanks to Leonardo Canducci
1470ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for	help with this.
1471ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1472ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Handle so-called "A-for-A" queries, which are queries for
1473ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the address associated with a name which is already a
1474ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dotted-quad address. These should be handled by the
1475ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    resolver code, but sometimes aren't and there's no point
1476ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in forwarding them.
1477ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1478ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added "no-dhcp-interface" option to disable DHCP service
1479ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            on an interface, whilst still providing DNS.
1480ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1481ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix format-string problem - config file names get passed
1482ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to fprintf as a format string, so % characters could cause
1483ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    crashes. Thanks to Rob Holland for sleuthing that one.
1484ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1485ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed multiple compiler warnings from gcc 4. Thanks to 
1486ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tim Cutts for the report.
1487ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1488ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Send the hostname option on DHCP offer messages as well as
1489ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCP ack messages. This is required by the Rio Digital 
1490ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Audio Receiver. Thanks to Ron Frederick for the patch.
1491ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
1492ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Add 'd' (for day) as a possible time multiplier in lease 
1493ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    time specifications. Thanks to Michael Deegan.
1494ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1495ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Make quoting suppress recognition of IP addresses, so
1496ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-option=66,1.2.3.4 now means something different to
1497ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            dhcp-option=66,"1.2.3.4", which sets the option to a
1498ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    string value. Thanks to Brian Macauley for the bug report.
1499ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1500ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed the option parsing code to avoid segfaults from some
1501ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    invalid configurations. Thanks to Wookey for spotting that one.
1502ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
1503ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Provide information about which compile-time options were 
1504ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    selected, both in the log at startup and as part of the output 
1505ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            from dnsmasq --version. Thanks to Dirk Schenkewitz for 
1506ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            the suggestion. 
1507ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1508ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix pathalogical behaviour when a broken client keeps sending
1509ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            DHCPDISCOVER messages repeatedly and fast. Because dealing with
1510ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            each of these takes a few seconds, (because of the ping) then a 
1511ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queue of DHCP packets could build up. Now, the results of a ping 
1512ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            test are assumed to be valid for 30 seconds, so repeated waits are
1513ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            not required. Thanks to Luca Landi for finding this.
1514ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1515ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow DHCPINFORM requests without hardware address
1516ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    information. These are generated by some browsers, looking
1517ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for proxy information. Thanks to Stanley Jaddoe for the
1518ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    bug report on that.
1519ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1520ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add support of the "client FQDN" DHCP option. If present,
1521ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this is used to allow the client to tell dnsmasq its name,
1522ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in preference to (mis)using the hostname option. See 
1523ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat              http://tools.ietf.org/wg/dhc/draft-ietf-dhc-fqdn-option/\
1524ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat                draft-ietf-dhc-fqdn-option-10.txt
1525ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            for details of the draft spec.
1526ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1527ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added startup scripts for MacOS X Tiger/Panther to the 
1528ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            contrib collection. Thanks to Tim Cutts.
1529ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1530ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak DHCP network selection so that clients which turn up
1531ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    on our network in REBINDING state and with a lease for a
1532ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    foreign network will get a NAK response. Thanks to Dan
1533ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Shechter for work on this and an initial patch and thanks
1534ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Gyorgy Farkas for further testing.
1535ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1536ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix DNS query forwarding for empty queries and forward
1537ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queries even when the recursion-desired bit is clear. This
1538ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    allows "dig +trace" to work. Problem report from Uwe
1539ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Gansert.
1540ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1541ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added "const" declarations where appropriate, thanks to
1542ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Andreas Mohr for the patch.
1543ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1544ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --bootp-dynamic option and associated
1545ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    functionality. Thanks to Josef Wolf for the suggestion.
1546ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
1547ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.24
1548ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Updated contrib/openvpn/dnsmasq.patch from Joseph Tate.
1549ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1550ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweaked DHCP NAK code, a DHCP NAK is now unicast as a
1551ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    fallback in cases where a broadcast is futile: namely in
1552ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    response to a unicast REQUEST from a non-local network
1553ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which was not sent via a relay.
1554ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1555ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Slightly changed the semantics of domain matching in
1556ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --server and --address configs. --server=/domain.com/ still
1557ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    matches domain.com and sub.domain.com but does not 
1558ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    now match newdomain.com The semantics of 
1559ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            --server=/.domain.com/ are unchanged. 
1560ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Chris Blaise for the patch.
1561ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1562ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added backwards-compatible internationalisation support.
1563ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    The existing make targets, (all, dnsmasq, install) work as
1564ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    before. New ones (all-i18n, and install-i18n) add gettext.
1565ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    The translations live in po/ There are not too many
1566ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    strings, so if anybody can provide translations (and for
1567ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the manpage....) please send them in.
1568ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1569ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak behaviour on receipt of REFUSED or SERVFAIL rcodes,
1570ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    now the query gets retried on all servers before returning
1571ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the error to the source of the query. Thanks to Javier
1572ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Kohen for the report.
1573ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
1574ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Polish translation - thanks to Tomasz Sochanski.
1575ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1576ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Changed default manpage install location from /usr/man 
1577ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to /usr/share/man 
1578ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1579ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Spanish translation - thanks to Christopher Chatham.
1580ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1581ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Log a warning when a DHCP packet is truncated due to lack
1582ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    of space. (Thanks to Michael Welle for the prompt to do
1583ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this.)
1584ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1585ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added French translation - thanks to Lionel Tricon.
1586ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1587ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Indonesian translation - thanks to Salman AS.
1588ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1589ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweaked the netlink code to cope with interface broadcast
1590ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    address not set, or set to 0.0.0.0.
1591ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1592ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed problem assigning fixed addresses to hosts when more
1593ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    than one dhcp-range is available. Thanks to Sorin Panca
1594ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for help chasing this down.
1595ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1596ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added more explict error mesages to the hosts file and
1597ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ethers file reading code. Markus Kaiserswerth suffered to
1598ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    make this happen.
1599ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1600ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Ensure that a hostname supplied by a DHCP client can never
1601ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    override one configured on the server. Previously, any
1602ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    host claiming a name would be given it, even if that
1603ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    over-rode a dhcp-host declaration, leading to potentially 
1604ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            confusing situations.
1605ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1606ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Slackware package-build stuff into contrib/ The i18n
1607ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    effort broke the current scripts, and working ones were
1608ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    needed for testing, so they ended up here rather than make
1609ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Pat re-invent the wheel.
1610ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1611ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Romanian translation, thanks to Sorin Panca for
1612ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    that.
1613ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1614ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.25
1615ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Fixed RedHat spec file for FC4 - thanks to Werner Hoelzl
1616ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            and Andrew Bird.
1617ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1618ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Fixed Suse spec file - thanks to Steven Springl.
1619ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1620ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed DHCP bug when two distict subnets are on the same
1621ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    physical interface. Thanks to Pawel Zawora for finding
1622ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this and suggesting the fix.
1623ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1624ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added logging to make it explicit when dnsmasq falls back
1625ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    from using RT-netlink sockets to the old ioctl API for
1626ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    getting information about interfaces. Doing this
1627ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    completely silently made remote debugging hard.
1628ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1629ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Merged uclibc build fixes from the OpenWRT package into
1630ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    src/config.h 
1631ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1632ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Norwegian translation - thanks to Jan Erik Askildt.
1633ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1634ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.26
1635ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed SuSe rpm patch problem - thanks to Steven Springl.
1636ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1637ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed crash when attempting to send a DHCP NAK to a host
1638ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which believes it has a lease on an unknown
1639ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    network. Thanks to Lutz Pressler for the bug report and
1640ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    patch.
1641ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1642ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.27
1643ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweaked DHCP behaviour when a client attempts to renew a lease
1644ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            which dnsmasq doesn't know about. Previously that would always
1645ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            result in a DHCPNAK. Now, in dhcp-authoritative mode, the
1646ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            lease will be created, if it's legal. This makes dnsmasq work
1647ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            better if the lease database is lost, for example on an OpenWRT
1648ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    system which reboots. Thanks to Stephen Rose for work on
1649ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this.
1650ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1651ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added the ability to support RFC-3442 style destination
1652ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    descriptors in dhcp-options. This makes classless static
1653ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    routes easy to do, eg dhcp-option=121,192.168.1.0/24,1.2.3.4
1654ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1655ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added error-checking to the code which writes the lease
1656ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    file. If this fails for any reason, an error is logged,
1657ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and a retry occurs after one minute. This should improve
1658ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    things eg when a filesystem is full. Thanks to Jens Holze
1659ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for the bug report.
1660ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1661ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed breakage of the "/#/ matches any domain" facility
1662ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which happened in 2.24. Thanks to Peter Surda for the bug
1663ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    report.
1664ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1665ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Use "size_t" and "ssize_t" types where appropriate in the
1666ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    code.
1667ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1668ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix buggy CNAME handling in mixed IPv4 and IPv6
1669ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queries. Thanks to Andreas Pelme for help finding that.
1670ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1671ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added some code to attempt to re-transmit DNS queries when 
1672ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a network interface comes up.  This helps on DoD links, 
1673ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    where frequently the packet which triggers dialling is
1674ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            a DNS query, which then gets lost. By re-sending, we can 
1675ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    avoid the lookup failing. This function is only active
1676ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when netlink support is compiled in, and therefore only
1677ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    under Linux. Thanks to Jean Wolter for help with this.
1678ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1679ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweaked the DHCP tag-matching code to work correctly with
1680ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    NOT-tag conditions. Thanks to Lutz Pressler for finding
1681ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the bug.
1682ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1683ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Generalised netid-tag matching in dhcp-range statements to
1684ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    allow more than one tag.
1685ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1686ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-mac to do MAC address matching in the same
1687ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    way as vendorclass and userclass matching. A good
1688ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    suggestion from Lutz Pressler.
1689ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1690ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add workaround for buggy early Microsoft DHCP clients
1691ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which need zero-termination in string options.
1692ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Fabiano Pires for help with this.
1693ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1694ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Generalised the DHCP code to cope with any hardware
1695ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    address type, at least on Linux. *BSD is still limited to
1696ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ethernet only.
1697ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1698ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.28
1699ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Eliminated all raw network access when running on
1700ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Linux. All DHCP network activity now goes through the IP
1701ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            stack. Packet sockets are no longer required. Apart from
1702ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            being a neat hack, this should also allow DHCP over IPsec
1703ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            to work better. On *BSD and OS X, the old method of raw net
1704ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            access through BPF is retained.
1705ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1706ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Simplified build options. Networking is now slimmed down
1707ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to a choice of "linux" or "other". Netlink is always used
1708ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    under Linux. Since netlink has been available since 2.2
1709ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and non-optional in an IPv4-configured  kernel since 2.4,
1710ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and the dnsmasq netlink code is now well tested, this 
1711ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    should work out fine. 
1712ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1713ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Removed decayed build support for libc5 and Solaris.
1714ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1715ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Removed pselect code: use a pipe for race-free signal
1716ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    handling instead, as this works everywhere.
1717ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1718ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    No longer enable the ISC leasefile reading code in the
1719ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    distributed sources. I doubt there are many people left
1720ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    using this 1.x compatibility code. Those that are will
1721ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    have to explicitly enable it in src/config.h.
1722ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1723ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Don't send the "DHCP maximum message size" option, even if 
1724ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    requested. RFC2131 says this is a "MUST NOT".
1725ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1726ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support larger-than-minimum DHCP message. Dnsmasq is now
1727ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    happy to get larger than 576-byte DHCP messages, and will
1728ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    return large messages, if permitted by the "maximum
1729ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    message size" option of the message to which it is
1730ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    replying. There's now an arbitrary sanity limit of 16384
1731ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    bytes.
1732ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1733ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --no-ping option. This fixes an RFC2131 "SHOULD".
1734ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1735ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Building on the 2.27 MAC-address changes, allow clients to 
1736ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    provide no MAC address at all, relying on the client-id as
1737ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a unique identifier. This should make things like DHCP for
1738ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    USB come easier.
1739ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1740ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed regression in netlink code under 2.2.x kernels which 
1741ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    occurred in 2.27. Erik Jan Tromp is the vintage kernel fan 
1742ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    who found this. P.S. It looks like this "netlink bind:
1743ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    permission denied" problem occured in kernels at least as
1744ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    late a 2.4.18. Good information from Alain Richoux.
1745ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1746ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added a warning when it's impossible to give a host its
1747ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configured address because the address is leased
1748ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    elsewhere.  A sensible suggestion from Mircea Bardac.
1749ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1750ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added minimal support for RFC 3046 DHCP relay agent-id
1751ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    options. The DHCP server now echoes these back to the
1752ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    relay, as required by the RFC. Also, RFC 3527 link selection 
1753ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    sub-options are honoured.
1754ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1755ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Set the process "dumpable" flag when running in debug
1756ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    mode: this makes getting core dumps from root processes
1757ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    much easier.
1758ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1759ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed one-byte buffer overflow which seems to only cause
1760ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    problems when dnsmasq is linked with uclibc. Thanks to
1761ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Eric House and Eric Spakman for help in chasing this down.
1762ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1763ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tolerate configuration screwups which lead to the DHCP
1764ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    server attemping to allocate its own address to a
1765ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    client; eg setting the whole subnet range as a DHCP
1766ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    range. Addresses in use by the server are now excluded
1767ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    from use by clients.
1768ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1769ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Did some thinking about HAVE_BROKEN_RTC mode, and made it
1770ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    much simpler and better. The key is to just keep lease
1771ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    lengths in the lease file. Since these normally never
1772ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    change, even as the lease is renewed, the lease file never
1773ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    needs to change except when machines arrive on the network
1774ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    or leave. This eliminates the code for timed writes, and
1775ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    reduces the amount of wear on a flash filesystem to the
1776ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    absolute minimum. Also re-did the basic time function in
1777ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this mode to use the portable times(), rather than parsing
1778ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /proc/uptime.
1779ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1780ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Believe the source port number when replying to unicast 
1781ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCP requests and DHCP requests via a relay, instead of always 
1782ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            using the standard ports.  This will allow relays on 
1783ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            non-standard ports and DHCPINFORM from unprivileged ports
1784ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            to work. The source port sent by unconfigured clients is still 
1785ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            ignored, since this may be unreliable. This means that a DHCP 
1786ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            client must use the standard port to do full configuration.
1787ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
1788ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.29
1789ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed compilation on OpenBSD (thanks to Tom Hensel for the
1790ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    report). 
1791ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1792ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed false "no interface" errors when --bind-interfaces is
1793ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    set along with --interface=lo or --listen-address. Thanks
1794ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Paul Wise for the report.
1795ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1796ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated patch for SuSE rpm. Thanks to Steven Springl.
1797ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1798ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    It turns out that there are some Linux kernel
1799ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configurations which make using the capability system
1800ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    impossible. If this situation occurs then continue, running
1801ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    as root, and log a warning. Thanks to Scott Wehrenberg
1802ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for help tracking this down.
1803ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1804ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.30
1805ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Fixed crash when a DHCP client requested a broadcast
1806ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            reply. This problem was introduced in version 2.28.
1807ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Sandra Dekkers for the bug report.
1808ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1809ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.31
1810ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-script option. There have been calls for this
1811ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for a long time from many good people. Fabio Muzzi gets
1812ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the prize for finally convincing me.
1813ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1814ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added example dbus config file and moved dbus stuff into
1815ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    its own directory.
1816ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1817ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Removed horribly outdated Redhat RPM build files. These
1818ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    are obsolete now that dnsmasq in in Fedora extras. Thanks
1819ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Patrick "Jima" Laughton, the Fedora package
1820ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    maintainer.
1821ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1822ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added workaround for Linux kernel bug. This manifests
1823ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    itself as failure of DHCP on kernels with "support for
1824ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    classical IP over ATM" configured. That includes most
1825ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Debian kernel packages. Many thanks to A. Costa and
1826ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Benjamin Kudria for their huge efforts in chasing this
1827ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    down.
1828ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1829ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Force-kill child processes when dnsmasq is sent a sigterm,
1830ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    otherwise an unclosed TCP connection could keep dnsmasq
1831ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    hanging round for a few minutes.
1832ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1833ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweaked config.h logic for uclibc build. It will now pick
1834ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    up MMU and IPV6 status correctly on every system I tested.
1835ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1836ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.32 
1837ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Attempt a better job of replacing previous configuration
1838ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when re-reading /etc/hosts and /etc/ethers. SIGHUP is
1839ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    still not identical to a restart under all circumstances,
1840ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    but it is for the common case of name->MAC address in
1841ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/ethers and name->IP address in /etc/hosts.
1842ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1843ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fall back to broadcast for DHCP to an unconfigured client
1844ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when the MAC address size is greater than 14 bytes.
1845ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1846ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix problem in 2.28-onwards releases which breaks DNS on
1847ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Mac OS X. Thanks to Doug Fields for the bug report and
1848ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    testing.
1849ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1850ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added fix to allow compilation on c89-only compilers.
1851ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to John Mastwijk for the patch.
1852ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	   
1853ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak resolv file polling code to work better if there is
1854ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a race between updating the mtime and file contents. This
1855ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is not normally a problem, but it can be on systems which
1856ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    replace nameservers whilst active. The code now continues
1857ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to read resolv.conf until it gets at least one usable
1858ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    server. Thanks to Holger Mauermann for help with this.
1859ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1860ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    If a client DECLINEs an address which is allocated to it
1861ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    via dhcp-host or /etc/hosts, lock that address out of use
1862ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for ten minutes, instead of forever, and log when it's not
1863ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    being used because of the lock-out. This should provide
1864ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    less surprising behaviour when a configured address can't be
1865ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    used. Thanks to Peter Surda and Heinz Deinhart for input
1866ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    on this.
1867ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1868ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed *BSD DHCP breakage with only some
1869ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    arches/compilers, depending on structure padding rules.
1870ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Jeb Campbell and Tom Hensel for help with this.
1871ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1872ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --conf-dir option. Suggestion from Aaron Tygart.
1873ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1874ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Applied patch from Brent Cook which allows netids in
1875ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-option configuration lines to be prefixed by
1876ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    "net:". This is not required by the syntax, but it is
1877ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    consistent with other configuration items.
1878ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1879ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --log-facility option. Suggestion from Fabio Muzzi.
1880ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1881ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Major update to Spanish translation. Many thanks to Chris
1882ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Chatham. 
1883ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1884ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed gcc-4.1 strict-alias compilation warning.
1885ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1886ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.33
1887ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Remove bash-specific shellcode from the Makefile.
1888ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1889ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix breakage with some DHCP relay implementations which
1890ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    was introduced in 2.28. Believing the source port in
1891ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCP requests and sending the reply there is sometimes a
1892ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    bad thing to do, so I've reverted to always sending to
1893ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the relay on port 68. Thanks to Daniel Hamlin and Alex
1894ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    (alde) for bug reports on this.
1895ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1896ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Moved the SuSe packaging files to contrib. I will no
1897ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    longer attempt to maintain this in the source tarball. It
1898ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    will be done externally, in the same way as packaging for
1899ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    other distros. Suse packages are available from 
1900ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ftp://ftp.suse.com/pub/people/ug/
1901ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1902ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Merged patch from Gentoo to honour $LDFLAGS environment.
1903ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1904ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix bug in resolv.conf processing when more than one file
1905ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is being checked.
1906ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1907ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --dns-forward-max option.
1908ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1909ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Warn if --resolv-file flags are ignored because of
1910ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --no-resolv. Thanks to Martin F Krafft for spotting this
1911ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    one.
1912ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1913ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Add --leasefile-ro option which allows the use of an 
1914ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            external lease database. Many thanks to Steve Horbachuk 
1915ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for assistance developing this feature.
1916ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1917ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Provide extra information to lease-change script via its
1918ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    environment. If the host has a client-id, then
1919ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DNSMASQ_CLIENT_ID will be set. Either the lease length (in
1920ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DNSMASQ_LEASE_LENGTH) or lease expiry time (in
1921ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DNSMASQ_LEASE_EXPIRES) will be set, depending on the
1922ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    HAVE_BROKEN_RTC compile-time option. This extra
1923ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    information should make it possible to maintain the lease
1924ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    database in external storage such as LDAP or a relational
1925ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    database. Note that while leasefile-ro is set, the script
1926ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            will be called with "old"  events more often, since 
1927ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    changes to the client-id and lease length
1928ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    (HAVE_BROKEN_RTC) or lease expiry time (otherwise) 
1929ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    are now flagged. 
1930ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1931ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add contrib/wrt/* which is an example implementation of an
1932ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    external persistent lease database for *WRT distros with 
1933ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the nvram command.
1934ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1935ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add contrib/wrt/dhcp_release.c which is a small utility 
1936ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which removes DHCP leases using DHCPRELEASE operation in
1937ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the DHCP protocol.
1938ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1939ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.34
1940ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak network-determination code for another corner case:
1941ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in this case a host forced to move between dhcp-ranges on
1942ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the same physical interface. Thanks to Matthias Andree.
1943ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1944ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Improve handling of high DNS loads by throttling acceptance of
1945ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    new queries when resources are tight. This should be a
1946ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    better response than the "forwarding table full..."
1947ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    message which was logged before.
1948ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1949ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed intermittent infinite loop when re-reading
1950ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/ethers after SIGHUP. Thanks to Eldon Ziegler for the
1951ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    bug report.
1952ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1953ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Provide extra information to the lease-change script: when
1954ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a lease loses its hostname (because a new lease comes
1955ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    along and claims the same new), the "old" action is called 
1956ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with the current state of the lease, ie no name. The
1957ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    change is to provide the former name which the lease had
1958ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in the environment variable DNSMASQ_OLD_HOSTNAME. This
1959ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    helps scripts which do stuff based on hostname, rather
1960ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    than IP address. Also provide vendor-class and user-class
1961ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    information to the lease-change script when a new lease is
1962ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    created in the DNSMASQ_VENDOR_CLASS and
1963ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DNSMASQ_USER_CLASS<n> environment variables. Suggestion 
1964ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            from Francois-Xavier Le Bail.
1965ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1966ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Run the lease change script as root, even when dnsmasq is
1967ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configured to change UID to an unprivileged user. Since
1968ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    most uses of the lease change script need root, this
1969ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    allows its use whilst keeping the security advantages of
1970ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    running the daemon without privs. The script is invoked
1971ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    via a small helper process which keeps root UID, and
1972ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    validates all data received from the main process. To get
1973ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    root, an attacker would have to break dnsmasq and then
1974ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    break the helper through the restricted comms channel 
1975ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    linking the two.
1976ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
1977ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add contrib/port-forward/* which is a script to set up 
1978ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    port-forwards using the DHCP lease-change script. It's
1979ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    possible to add a host to a config file by name, and when
1980ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    that host gets a DHCP lease, the script will use iptables
1981ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to set up port-forwards to configured ports at the address
1982ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which the host is allocated. The script also handles
1983ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    setting up the port-forward iptables entries after reboot,
1984ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    using the persistent lease database, and removing them
1985ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when a host leaves and its DHCP lease expires.
1986ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1987ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix unaligned access problem which caused wrong log
1988ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    messages with some clients on some architectures. Thanks
1989ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Francois-Xavier Le Bail for the bugreport.
1990ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1991ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed problem with DHCPRELEASE and multi-address
1992ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    interfaces. Enhanced contrib/wrt/dhcp_release to cope
1993ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    under these circumstances too. Thanks to Eldon Ziegler for
1994ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    input on this.
1995ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1996ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated French translation: thanks to Gildas Le Nadan.
1997ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1998ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Upgraded the name hash function in the DNS cache. Thanks
1999ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Oleg Khovayko for good work on this.
2000ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2001ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --clear-on-reload flag.  Suggestion from Johannes
2002ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Stezenbach.
2003ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2004ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Treat a nameserver address of 0.0.0.0 as "nothing". Erwin 
2005ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Cabrera spotted that specifying a nameserver as 0.0.0.0 
2006ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    breaks things badly; this is because the network stack
2007ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    treats is as "this host" and an endless loop ensues.
2008ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat		   
2009ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Added Webmin module in contrib/webmin. Thanks to Neil
2010ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Fisher for that.
2011ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2012ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.35
2013ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Generate an "old" script event when a client does a DHCPREQUEST
2014ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in INIT-REBOOT or SELECTING state and the lease already
2015ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    exists. Supply vendor and user class information to these
2016ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    script calls.
2017ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2018ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added support for Dragonfly BSD to src/config.h
2019ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2020ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Removed "Upgrading to 2.0" document, which is ancient
2021ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    history now.
2022ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2023ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak DHCP networking code for BSD, esp OpenBSD. Added a 
2024ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    workaround for a bug in OpenBSD 4.0: there should finally
2025ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            be support for multiple interfaces under OpenBSD now.
2026ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Note that no version of dnsmasq before 2.35 will work for 
2027ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCP under OpenBSD 4.0 because of a kernel bug.
2028ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Claudio Jeker, Jeb Campbell and Cristobal 
2029ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Palmer for help with this.
2030ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2031ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Optimised the cache code for the case of large
2032ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts. This is mainly to remove the O(n-squared)
2033ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    algorithm which made reading large (50000 lines) files 
2034ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    slow, but it also takes into account the size of 
2035ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts when building hash tables, so overall 
2036ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    performance should be better. Thanks to "koko" for 
2037ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    pointing out the problem.
2038ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2039ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.36
2040ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-ignore-names flag which tells dnsmasq not to
2041ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    use names provided by DHCP clients. Suggestion from 
2042ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thomas M Steenholdt.
2043ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2044ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Send netmask and broadcast address DHCP options always,
2045ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    even if the client doesn't request them. This makes a few
2046ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    odd clients work better.
2047ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2048ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added simple TFTP function, optimised for net-boot. It is
2049ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    now possible to net boot hosts using only dnsmasq. The
2050ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    TFTP server is read-only, binary-mode only, and designed to be
2051ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    secure; it adds about 4K to the dnsmasq binary. 
2052ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
2053ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support DHCP option 120, SIP servers, (RFC 3361). Both
2054ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            encodings are supported, so both --dhcp-option=120,192.168.2.3
2055ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            and	--dhcp-option=120,sip.example.net will work. Brian
2056ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Candler pointed out the need for this.
2057ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2058ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow spaces in domain names, to support DNS-SD.
2059ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2060ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --ptr-record flag, again for DNS-SD. Thanks to Stephan 
2061ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Sokolow for the suggestion.
2062ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2063ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tolerate leading space on lines in the config file. Thanks
2064ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Luigi Rizzo for pointing this out.
2065ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2066ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed netlink.c to cope with headers from the Linux 2.6.19
2067ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    kernel. Thanks to Philip Wall for the bug report.
2068ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2069ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-bridge option, but only to the FreeBSD
2070ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    build. This fixes an oddity with a a particular bridged
2071ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    network configuration on FreeBSD. Thanks to Luigi Rizzo
2072ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for the patch.
2073ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2074ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added FAQ entry about running dnsmasq in a Linux
2075ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    vserver. Thanks to Gildas le Nadan for the information.  
2076ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2077ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed problem with option parsing which interpreted "/" as
2078ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    an address and not a string. Thanks to Luigi Rizzo
2079ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for the patch.
2080ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2081ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Ignore the --domain-needed flag when forwarding NS
2082ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and SOA queries, since NS queries of TLDs are always legit.
2083ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Marcus Better pointed out this problem.
2084ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2085ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Take care to forward signed DNS requests bit-perfect, so
2086ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    as not to affect the validity of the signature. This
2087ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    should allow DDNS updates to be forwarded.
2088ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2089ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.37
2090ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Add better support for RFC-2855 DHCP-over-firewire and RFC
2091ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat           -4390 DHCP-over-InfiniBand. A good suggestion from Karl Svec.
2092ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2093ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Some efficiency tweaks to the cache code for very large
2094ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /etc/hosts files. Should improve reverse (address->name)
2095ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    lookups and garbage collection. Thanks to Jan 'RedBully'
2096ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Seiffert for input on this.
2097ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2098ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix regression in 2.36 which made bogus-nxdomain
2099ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and DNS caching unreliable. Thanks to Dennis DeDonatis
2100ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and Jan Seiffert for bug reports.
2101ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2102ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Make DHCP encapsulated vendor-class	options sane. Be
2103ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    warned that some conceivable existing configurations 
2104ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    using these may break, but they work in a much 
2105ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    simpler and more logical way now. Prepending
2106ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    "vendor:<client-id>" to an option encapsulates it 
2107ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in option 43, and the option is sent only if the 
2108ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    client-supplied vendor-class substring-matches with 
2109ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the given client-id. Thanks to Dennis DeDonatis for 
2110ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    help with this.
2111ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2112ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Apply patch from Jan Seiffert to tidy up tftp.c
2113ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2114ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add support for overloading the filename and servername 
2115ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    fields in DHCP packet. This gives extra option-space when
2116ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    these fields are not being used or with a modern client
2117ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    which supports moving them into options.
2118ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2119ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added a LIMITS section to the man-page, with guidance on
2120ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    maximum numbers of clients, file sizes and tuning.
2121ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2122ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.38
2123ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix compilation on *BSD. Thanks to Tom Hensel.
2124ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2125ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Don't send length zero DHCP option 43 and cope with 
2126ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    encapsulated options whose total length exceeds 255 octets
2127ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    by splitting them into multiple option 43 pieces.
2128ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2129ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Avoid queries being retried forever when --strict-order is
2130ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    set and an upstream server returns a SERVFAIL
2131ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    error. Thanks to Johannes Stezenbach for spotting this.
2132ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2133ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix BOOTP support, broken in version 2.37.
2134ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2135ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add example dhcp-options for Etherboot.
2136ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2137ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add \e (for ASCII ESCape) to the set of valid escapes
2138ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    in config-file strings.
2139ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2140ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-option-force flag and examples in the
2141ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configuration file which use this to control PXELinux.
2142ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2143ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --tftp-no-blocksize option.
2144ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2145ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Set netid tag "bootp" when BOOTP (rather than DHCP) is in
2146ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    use. This makes it easy to customise which options are
2147ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    sent to BOOTP clients. (BOOTP allows only 64 octets for
2148ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    options, so it can be necessary to trim things.)
2149ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2150ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix rare hang in cache code, a 2.37 regression. This
2151ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    probably needs an infinite DHCP lease and some bad luck to
2152ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    trigger. Thanks to Detlef Reichelt for bug reports and testing.
2153ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2154ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatrelease 2.39
2155ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Apply patch from Mike Baker/OpenWRT to ensure that names
2156ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    like "localhost." in /etc/hosts with trailing period 
2157ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    are treated as fully-qualified.
2158ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2159ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tolerate and ignore spaces around commas in the
2160ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    configuration file in all circumstances. Note that this
2161ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    may change the meaning of a few existing config files, for
2162ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    instance
2163ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    txt-record=mydomain.com, string
2164ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    would have a leading space in the string before, and now
2165ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    will not. To get the old behaviour back, use quotes:
2166ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    txt-record=mydomain.com," string"
2167ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2168ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    /a is no longer a valid escape in quoted strings.
2169ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2170ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added symbolic DHCP option names. Instead of
2171ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-option = 3, 1.2.3.4 
2172ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    it is now possible to do
2173ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-option = option:router, 1.2.3.4
2174ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    To see the list of known DHCP options, use the 
2175ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            command "dnsmasq --help dhcp"
2176ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks to Luigi Rizzo for a patch and good work on this.
2177ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2178ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Overhauled the log code so that logging can be asynchronous; 
2179ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dnsmasq then no longer blocks waiting for the syslog() library
2180ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    call. This is important on systems where syslog
2181ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is being used to log over the network (and therefore doing
2182ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DNS lookups) and syslog is using dnsmasq as its DNS
2183ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    server. Having dnsmasq block awaiting syslog under 
2184ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    such circumstances can lead to syslog and dnsmasq 
2185ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    deadlocking. The new behaviour is enabled with a new
2186ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	     --log-async flag, which can also be used to tune the
2187ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    queue length. Paul Chambers found and diagnosed 
2188ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this trap for the unwary. He also did much testing of 
2189ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the solution along with Carlos Carvalho.
2190ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2191ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --log-facility can now take a file-name instead of a 
2192ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    facility name. When this is done, dnsmasq logs to the 
2193ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    file and not via syslog. (Failures early in startup, 
2194ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    whilst reading configuration, will still go to syslog, 
2195ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and syslog is used as a log-of-last-resort if the file
2196ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    cannot be written.)
2197ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2198ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --log-dhcp flag. Suggestion from Carlos Carvalho.
2199ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2200ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Made BINDIR, MANDIR and LOCALEDIR independently
2201ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    over-rideable in the makefile. Suggestion from Thomas
2202ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Klausner.
2203ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2204ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added 127.0.0.0/8 and 169.254.0.0/16 to the address
2205ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ranges affected by --bogus-priv. Thanks to  Paul 
2206ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Chambers for the patch.
2207ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2208ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed failure of TFTP server with --listen-address. Thanks
2209ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to William Dinkel for the bug report.
2210ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2211ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-circuitid and --dhcp-remoteid for RFC3046
2212ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    relay agent data matching.
2213ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
2214ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-subscrid for RFC3993 subscriber-id relay
2215ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    agent data matching.
2216ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2217ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Correctly garbage-collect connections when upstream
2218ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    servers go away as a result of DBus transactions.
2219ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2220ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow absolute paths for TFTP transfers even when
2221ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --tftp-root is set, as long as the path matches the root,
2222ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    so /var/ftp/myfile is OK with tftp-root=/var/ftp.
2223ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Thanks for Thomas Mizzi for the patch.
2224ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2225ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated Spanish translation - thanks to Chris Chatham.
2226ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2227ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated French translation - thanks to Gildas Le Nadan.
2228ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2229ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added to example conf file example of routing PTR queries
2230ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for a subnet to a different nameserver. Suggestion from
2231ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Jon Nicholson.
2232ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2233ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --interface-name option. This provides a facility 
2234ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to add a domain name with a dynamic IP address taken from
2235ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the address of a local network interface. Useful for
2236ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    networks with dynamic IPs.
2237ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2238ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.40
2239ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Make SIGUSR2 close-and-reopen the logfile when logging 
2240ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    direct to a file. Thanks to Carlos Carvalho for 
2241ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    suggesting this. When a logfile is created, change
2242ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    its ownership to the user dnsmasq will run as, don't
2243ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    leave it owned by root.
2244ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2245ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Set a special tag, "known" for hosts which are matched by
2246ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a dhcp-host or /etc/ethers line. This is especially
2247ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    useful to be able to do --dhcp-ignore=#known, like ISCs
2248ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    "deny unknown-clients".
2249ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2250ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Explicitly set a umask before creating the leases file,
2251ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    rather than relying on whatever we inherited. The
2252ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    permissions	are set to 644.
2253ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2254ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix handling of fully-qualified names in --dhcp-host
2255ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    directives and in /etc/ethers. These are now rejected 
2256ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    if the domain doesn't match that given by --domain,	  
2257ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and used correctly otherwise. Before, putting
2258ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a FQDN here could cause the whole FQDN to be used as
2259ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    hostname. Thanks to Michael Heimpold for the bug report.
2260ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2261ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Massive but trivial edit to make the "daemon" variable 
2262ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    global, instead of copying the same value around as the
2263ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    first argument to half the functions in the program.
2264ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2265ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated Spanish manpage and message catalog. Thanks 
2266ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to Chris Chatham.
2267ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2268ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added patch for support of DNS LOC records in
2269ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    contrib/dns-loc. Thanks to Lorenz Schori.
2270ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2271ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed error in manpage: dhcp-ignore-name ->
2272ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dhcp-ignore-names. Thanks to Daniel Mentz for spotting
2273ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this.
2274ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2275ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Use client-id as hash-seed for DHCP address allocation
2276ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with Firewire and Infiniband, as these don't supply an MAC
2277ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    address. 
2278ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2279ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweaked TFTP file-open code to make it behave sensibly
2280ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when the filesystem changes under its feet.
2281ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2282ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added DNSMASQ_TIME_REMAINING environment variable to the 
2283ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    lease-script.
2284ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2285ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Always send replies to DHCPINFORM requests to the source
2286ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    of the request and not to the address in ciaddr. This
2287ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    allows third-party queries.
2288ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2289ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Return "lease time remaining" in the reply to a DHCPINFORM
2290ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    request if there exists a lease for the host sending the
2291ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    request.
2292ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2293ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-hostsfile option. This gives a superset of
2294ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the functionality provided by /etc/ethers. Thanks to 
2295ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Greg Kurtzer for the suggestion.
2296ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2297ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Accept keyword "server" as a synonym for "nameserver" in 
2298ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    resolv.conf. Thanks to Andrew Bartlett for the report.
2299ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2300ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --tftp-unique-root option. Suggestion from Dermot
2301ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Bradley.
2302ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2303ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tweak TFTP retry timer to avoid problems with difficult
2304ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    clients. Thanks to Dermot Bradley for assistance with
2305ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    this. 
2306ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2307ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Continue to use unqualified hostnames provided by DHCP
2308ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    clients, even if the domain part is illegal. (The domain
2309ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is	ignored, and an error logged.) Previously in this
2310ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    situation, the whole name whould have been
2311ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    rejected. Thanks to Jima for the patch.
2312ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2313ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Handle EINTR returns from wait() correctly and reap
2314ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    our children's children if necessary. This fixes 
2315ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a problem with zombie-creation under *BSD when using
2316ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --dhcp-script.
2317ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2318ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Escape spaces in hostnames when they are stored in the
2319ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    leases file and passed to the lease-change
2320ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    script. Suggestion from Ben Voigt.
2321ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2322ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Re-run the lease chamge script with an "old" event for
2323ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    each lease when dnsmasq receives a SIGHUP.
2324ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2325ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added more useful exit codes, including passing on a
2326ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    non-zero exit code from the lease-script "init" call when
2327ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    --leasefile-ro is set.
2328ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2329ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Log memory allocation failure whilst the daemon is
2330ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    running. Allocation failures during startup are fatal, 
2331ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    but lack of memory whilst running is worked around.
2332ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    This used to be silent, but now is logged.
2333ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2334ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed misaligned memory access which caused problems on
2335ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Blackfin CPUs. Thanks to Alex Landau for the patch.
2336ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2337ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Don't include (useless) script-calling code when NO_FORK
2338ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is set. Since this tends to be used on very small uclinux 
2339ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    systems, it's worth-while to save some code-size.
2340ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2341ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Don't set REUSEADDR on TFTP listening socket. There's no
2342ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    need to do so, and it creates confusing behaviour when
2343ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    inetd is also listening on the same port. Thanks to Erik
2344ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Brown for spotting the problem.
2345ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2346ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.41
2347ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Remove deprecated calls when compiled against libdbus 1.1.
2348ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2349ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix "strict-alias" warning in bpf.c
2350ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2351ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Reduce dependency on Gnu-make in build system: dnsmasq now
2352ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    builds with system make under OpenBSD.
2353ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2354ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Port to Solaris. Dnsmasq 1.x used to run under Solaris,
2355ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and this release does so again, for Solaris 9 or better.
2356ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2357ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Allow the DNS function to be completely disabled, by
2358ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    setting the port to zero "--port=0". The allows dnsmasq to
2359ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    be used as a simple DHCP server, simple TFTP server, or
2360ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    both, but without the DNS server getting in the way.
2361ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2362ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix a bug where NXDOMAIN could be returned for a query
2363ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    even if the name's value was known for a different query
2364ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    type. This bug could be prodded with 
2365ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            --local=/domain/ --address=/name.domain/1.2.3.4 
2366ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    An IPv6 query for name.domain would return NXDOMAIN, and
2367ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    not the correct NOERROR. Thanks to Lars Nooden for
2368ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    spotting the bug and Jima for diagnosis of the problem.
2369ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2370ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added per-server stats to the information logged when
2371ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    dnsmasq gets SIGUSR1.
2372ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2373ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added counts of queries forwarded and queries answered
2374ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    locally (from the cache, /etc/hosts or config).
2375ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2376ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed possible crash bug in DBus IPv6 code. Thanks to Matt
2377ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Domsch and Jima.
2378ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2379ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Tighten checks for clashes between hosts-file and
2380ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCP-derived names. Multiple addresses associated with a
2381ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    name in hosts-file no longer confuses the check.
2382ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2383ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --dhcp-no-override option to fix problems with some
2384ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    combinations of stage zero and stage one
2385ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    bootloaders. Thanks to Steve Alexander for the bug report.
2386ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat  
2387ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --tftp-port-range option. Thanks to Daniel Mierswa for
2388ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the suggestion.
2389ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
2390ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --stop-dns-rebind option. Thanks to Collin Mulliner
2391ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    for the patch.
2392ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2393ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added GPL version 3 as a license option.
2394ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 
2395ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --all-servers option. Thanks to Peter Naulls for the
2396ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    patch.
2397ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2398ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Extend source address mechanism so that the interface used
2399ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    to contact an upstream DNS server can be nailed
2400ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    down. Something like "--server=1.2.3.4@eth1" will force
2401ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the use of eth1 for traffic to DNS-server 1.2.3.4. This
2402ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    facility is only available on Linux and Solaris. Thanks to
2403ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Peter Naulls for prompting this.	     
2404ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	
2405ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --dhcp-optsfile option. Thanks to Carlos Carvalho for
2406ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            the suggestion.
2407ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2408ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed failure to set source address for server connections
2409ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when using TCP. Thanks to Simon Capper for finding this
2410ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    bug.
2411ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2412ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Refuse to give a DHCP client the address it asks for if
2413ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the address range in question is not available to that
2414ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    particular host. Thanks to Cedric Duval for the bug
2415ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    report. 
2416ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2417ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Changed behavior of DHCP server to always return total length of
2418ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    a new lease in DHCPOFFER, even if an existing lease
2419ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    exists. (It used to return the time remaining on the lease
2420ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    whne one existed.) This fixes problems with the Sony Ericsson
2421ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    K610i phone. Thanks to Hakon Stordahl for finding and
2422ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    fixing this.
2423ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2424ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add DNSMASQ_INTERFACE to the environment of the
2425ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    lease-change script. Thanks to Nikos Mavrogiannopoulos for
2426ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the patch.
2427ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2428ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fixed broken --alias functionality. Thanks to Michael
2429ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Meelis for the bug report.
2430ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2431ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added French translation of the man page. Thank to Gildas
2432ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Le Nadan for that.
2433ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2434ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --dhcp-match flag, to check for arbitrary options in
2435ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    DHCP messages from clients. This enables use of dnsmasq
2436ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    with gPXE. Thanks to Rance Hall for the suggestion.
2437ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2438ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added --dhcp-broadcast, to force broadcast replies to DHCP
2439ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    clients which need them but are too dumb or too old to
2440ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    ask. Thanks to Bodo Bellut for the suggestion.
2441ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2442ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Disable path-MTU discovery on DHCP and TFTP sockets. This
2443ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    is never needed, and the presence of DF flags in the IP
2444ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    header confuses some broken PXE ROMS. Thanks again to Bodo
2445ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Bellut for spotting this.
2446ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2447ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix problems with addresses which have multiple PTR
2448ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    records - all but one of these could get lost. 
2449ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2450ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix bug with --address and ANY query type seeing REFUSED
2451ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    return code in replies. Thanks to Mike Wright for spotting
2452ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the problem.
2453ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2454ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Update Spanish translation. Thanks to Chris Chatham.
2455ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2456ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --neg-ttl option.
2457ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2458ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add warnings about the bad effects of --filterwin2k on
2459ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    SIP, XMPP and Google-talk to the example config file.
2460ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2461ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix va_list abuse in log.c. This fixes crashes on powerpc
2462ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    when debug mode is set. Thanks to Cedric Duval for the
2463ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    patch. 
2464ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2465ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatversion 2.42
2466ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            Define _GNU_SOURCE to avoid problems with later glibc
2467ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            headers. Thanks to Jima for spotting the problem.
2468ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2469ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --dhcp-alternate-port option. Thanks to Jan Psota for
2470ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    the suggestion.
2471ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2472ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix typo in code which is only used on BSD, when Dbus and
2473ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    IPv6 support is enabled. Thanks to Roy Marples.
2474ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2475ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Updated Polish translations - thank to Jan Psota.
2476ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2477ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix OS detection logic to cope with GNU/FreeBSD.
2478ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2479ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix unitialised variable in DBus code - thanks to Roy
2480ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Marples.
2481ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2482ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix network enumeration code to work on later NetBSD -
2483ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    thanks to Roy Marples.
2484ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    
2485ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Provide --dhcp-bridge on all BSD variants.
2486ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2487ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Define _LARGEFILE_SOURCE which removes an arbitrary 2GB
2488ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            limit on logfiles. Thanks to Paul Chambers for spotting 
2489ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            the problem.
2490ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2491ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix RFC3046 agent-id echo code, broken for many
2492ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    releases. Thanks to Jeremy Laine for spotting the problem
2493ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    and providing a patch.
2494ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2495ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Added Solaris 10 service manifest from David Connelly in
2496ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    contrib/Solaris10
2497ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat 	    	     
2498ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Add --dhcp-scriptuser option.	    
2499ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2500ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support new capability interface on suitable Linux 
2501ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    kernels, removes "legacy support in use" messages. Thanks 
2502ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat            to Jorge Bastos for pointing this out. 
2503ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2504ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Fix subtle bug in cache code which could cause dnsmasq to
2505ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    lock spinning CPU in rare circumstances. Thanks to Alex
2506ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Chekholko for bug reports and help debugging. 
2507ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2508ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat	    Support netascii transfer mode for TFTP.
2509ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
2510