Simon Kelley
91421cb757
Fix compiler warning.
2018-10-18 19:21:55 +01:00
Martin Schiller
53792c934c
fix typo
...
it was introduced by commit 08933475ab
Signed-off-by: Martin Schiller <ms@dev.tdt.de >
2018-10-08 14:26:04 +01:00
Conrad Kostecki
df071825f2
Update German translation.
2018-10-06 23:55:12 +01:00
Simon Kelley
e1791f36ea
Fix logging of DNSSEC queries in TCP mode. Destination server address was misleading.
2018-10-06 23:23:23 +01:00
Simon Kelley
0fdf3c1f61
Fix dhcp-match-name to match hostname, not complete FQDN.
...
Also do name matching for DHCPv6.
2018-10-05 23:35:54 +01:00
Simon Kelley
ee1df06aab
Tweak strategy for confirming SLAAC addresses.
...
The code which conirms possible SLAAC addresses associated with
hosts known from DHCPv4 addresses keeps trying at longer and longer
intervals essentially forever, EXCEPT if sending an ICMP ping results
in a HOSTUNREACH error, which terminates the process immediately.
It turns out that this is too drastic. Routing changes associated
with addressing changes can cause temporary HOSTUNREACH problems,
even when an address has not gone forever. Therefore continue
trying in the face of HOSTUNREACH for the first part of the
process. HOSTUNREACH errors will still terminate the process
after it reaches the slow tail of retries.
Thanks to Andrey Vakhitov for help diagnosing this.
2018-10-05 22:22:41 +01:00
Simon Kelley
1e87eba424
Clarify manpage for --auth-sec-servers
2018-10-05 16:49:31 +01:00
Simon Kelley
08933475ab
Make interface spec optional in --auth-server.
...
But make auth-server required when any auth-zones are defined.
The "glue record" field in auth-server is needed to synthesise
SOA and NS records in auth zones, so the --auth-server has to
be specified. If makes sense, however to define one or more
auth-zones that appear within the normal recursive DNS service
without actually acting as an authoritative DNS server on
any interface. Hence making the interface field optional.
2018-10-05 16:44:05 +01:00
Simon Kelley
7cbf497da4
Example config file fix for CERT Vulnerability VU#598349.
2018-09-26 18:04:38 +01:00
Simon Kelley
3a610a007f
Finesse allocation of memory for "struct crec" cache entries.
...
These normally have enough space for a name of up to SMALLDNAME characters.
When used to hold /etc/hosts entries, they are allocated with just enough
bytes for the name held. When used to hold other configured stuff, (CNAMES
DS records. DHCP names etc), the name is replaced by a pointer to a string
held elsewhere, and F_NAMEP set. Hence only enough space to hold a char *
is needed, rather than SMALLDNAME bytes.
2018-09-26 16:50:35 +01:00
Simon Kelley
48b090cb5c
Fix b6f926fbef to not SEGV on startup (rarely).
...
Many thanks to Kristian Evensen for finding and diagnosing this.
We can't copy the whole of a crec structure in make_non_terminals, since
crec structures allocated to represent /etc/hosts entries are allocated with
just enough space for the actual name they contain, not the full
SMALLDNAME bytes declared in struct crec. Using structure copy therefore
copies beyond the end of the allocated source and, just occaisionally,
into unmapped memory, resulting in a SEGV.
Since the crecs we're making here always have F_NAMEP set, we're not
interested in copying the name field from the source anyway, we use the
namep part of the union and set it to point some way into the name
of the source crec to get the super-domain that we're representing.
The fix is therefore to copy the relevant fields of the crec, rather
than copying the whole and overwriting.
2018-09-26 12:53:59 +01:00
Simon Kelley
4139298d28
Change behavior when RD bit unset in queries.
...
Change anti cache-snooping behaviour with queries with the
recursion-desired bit unset. Instead to returning SERVFAIL, we
now always forward, and never answer from the cache. This
allows "dig +trace" command to work.
2018-09-19 22:27:11 +01:00
Simon Kelley
51cc10fa54
Add warning about 0.0.0.0 and :: addresses to man page.
2018-09-19 12:49:43 +01:00
Simon Kelley
ea6cc33804
Handle memory allocation failure in make_non_terminals()
...
Thanks to Kristian Evensen for spotting the problem.
2018-09-18 23:21:17 +01:00
Simon Kelley
ad03967ee4
Add debian/tmpfiles.conf
2018-09-17 23:54:13 +01:00
Simon Kelley
f4fd07d303
Debian bugfix.
2018-09-17 23:45:32 +01:00
Simon Kelley
e3c08a34a7
Debian packaging fix. (restorecon)
2018-09-17 23:20:00 +01:00
Simon Kelley
118011fe2b
Debian packaging fix. (tmpfiles.d)
2018-09-17 23:15:37 +01:00
Simon Kelley
af3bd07355
Man page typo.
2018-09-08 15:08:22 +01:00
Simon Kelley
d68209978a
Picky changes to 47b45b2967
2018-09-04 23:00:11 +01:00
Petr Menšík
47b45b2967
Fix lengths of interface names
...
Use helper function similar to copy correctly limited names into
buffers.
2018-09-04 22:47:58 +01:00
Petr Menšík
2b38e3823b
Minor improvements in lease-tools
...
Limit max interface name to fit into buffer.
Make sure pointer have to be always positive.
Close socket after received reply.
2018-09-04 22:36:23 +01:00
Petr Menšík
282eab7952
Mark die function as never returning
...
Improves static analysis output and reduces false positives.
2018-09-04 22:32:51 +01:00
Simon Kelley
c346f61535
Handle ANY queries in context of da8b6517de
2018-09-04 21:14:18 +01:00
Simon Kelley
03212e533b
Manpage typo.
2018-09-04 17:52:28 +01:00
Simon Kelley
da8b6517de
Implement --address=/example.com/#
...
as (more efficient) syntactic sugar for --address=/example.com/0.0.0.0 and --address=/example.com/::
2018-09-03 23:18:36 +01:00
Simon Kelley
c5db8f93ec
Tidy 7f876b64c22b2b18412e2e3d8506ee33e42db7c
2018-08-23 23:06:00 +01:00
Simon Kelley
974a6d087a
Add --caa-record
2018-08-23 23:01:16 +01:00
Simon Kelley
b758b67c37
Improve logging of RRs from --dns-rr.
2018-08-23 21:41:23 +01:00
Simon Kelley
9bafdc62b7
Tidy up file parsing code.
2018-08-21 22:53:38 +01:00
Simon Kelley
97f876b64c
Properly deal with unaligned addresses in DHCPv6 packets.
...
Thanks to Vladislav Grishenko for spotting this.
2018-08-21 22:06:36 +01:00
Simon Kelley
cbfbd173c4
Fix broken DNSSEC records in previous.
2018-08-21 18:25:18 +01:00
Simon Kelley
b6f926fbef
Don't return NXDOMAIN to empty non-terminals.
...
When a record is defined locally, eg an A record for one.two.example then
we already know that if we forward, eg an AAAA query for one.two.example,
and get back NXDOMAIN, then we need to alter that to NODATA. This is handled
by check_for_local_domain(). But, if we forward two.example, because
one.two.example exists, then the answer to two.example should also be
a NODATA.
For most local records this is easy, just to substring matching.
for A, AAAA and CNAME records that are in the cache, it's more difficult.
The cache has no efficient way to find such records. The fix is to
insert empty (none of F_IPV4, F_IPV6 F_CNAME set) records for each
non-terminal.
The same considerations apply in auth mode, and the same basic mechanism
is used there too.
2018-08-21 17:46:52 +01:00
Simon Kelley
c822620967
Add --dhcp-name-match
2018-08-08 23:46:03 +01:00
Simon Kelley
397c0502e2
Handle case of --auth-zone but no --auth-server.
2018-08-04 21:04:59 +01:00
Simon Kelley
1682d15a74
Add missing EDNS0 section.
...
EDNS0 section missing in replies to EDNS0-containing queries where
answer generated from --local=/<domain>/
2018-08-03 20:38:18 +01:00
Simon Kelley
dd33e98da0
Fix crash parsing a --synth-domain with no prefix.
...
Problem introduced in 2.79/6b2b564ac34cb3c862f168e6b1457f9f0b9ca69c
2018-07-30 14:55:39 +01:00
Simon Kelley
c16d966ad3
Add copyright to src/metrics.h
2018-07-29 22:31:02 +01:00
Simon Kelley
1dfed16071
Remove C99 only code.
2018-07-29 22:16:41 +01:00
Simon Kelley
6f835ed6c8
Format fixes - ubus.c
2018-07-29 22:15:36 +01:00
Kevin Darbyshire-Bryant
9d6fd1727e
dnsmasq.c fix OPT_UBUS option usage
...
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk >
2018-07-29 22:11:12 +01:00
Simon Kelley
8c1b6a5fd7
New metrics and ubus files.
2018-07-21 22:12:32 +01:00
Julian Kornberger
8dcdb33be9
Add --enable-ubus option.
2018-07-21 22:11:08 +01:00
Julian Kornberger
aba8bbb6e3
Add collection of metrics
...
Data can be retreived via D-Bus und U-Bus
2018-07-21 21:55:08 +01:00
Julian Kornberger
caf4d571e6
Add OpenWRT ubus patch
...
Originally written by John Crispin <john@phrozen.org >
2018-07-21 21:45:03 +01:00
Simon Kelley
3b6eb197a8
Log DNSSEC trust anchors at startup.
2018-07-20 21:23:56 +01:00
Simon Kelley
f3e57877ed
Trivial comment change.
2018-07-20 21:10:48 +01:00
Simon Kelley
c851c695db
Log failure to confirm an address in DHCPv6.
2018-07-20 17:35:24 +01:00
Simon Kelley
a3bd7e73d3
Fix missing fatal errors when parsing some command-line/config options.
2018-07-19 22:00:08 +01:00
Olivier Gayot
ab5ceaf74a
Document the --help option in the french manual
...
The option was already described in the original manual page but was not
replicated in the french translation.
Reviewed-By: Nicolas Cavallari <nicolas.cavallari@green-communications.fr >
2018-07-19 21:17:06 +01:00
Olivier Gayot
1f2f69d4f6
Fix recurrent minor spelling mistake in french manual
...
The use of "peut-être" should be spelled "peut être" (without the
hyphen) unless it can be replaced by "sans doute".
It is roughly the same difference between "maybe" and "may be".
As for "doit-être", it should always be spelled "doit être".
Reviewed-By: Nicolas Cavallari <nicolas.cavallari@green-communications.fr >
2018-07-19 21:16:41 +01:00
Olivier Gayot
f361b39dea
Fix some mistakes in french translation of the manual
...
Various typos were present along with spelling mistakes and grammar
errors. Some sentences were missing a few words to be easily
understandable.
Many of them probably remain though.
Reviewed-By: Nicolas Cavallari <nicolas.cavallari@green-communications.fr >
2018-07-19 21:16:04 +01:00
Simon Kelley
eb1fe15ca8
When replacing cache entries, preserve CNAMES which target them.
...
When inserting new cache records, we first delete existing records
of the same name/type, to maintain consistency. This has the side effect
of deleting any CNAMES which have the records as target. So
cname1.example CNAME record.example
cname2.example CNAME record.example
looking up cname2.example will push it into the cache, and also
push record.example. Doing that deletes any cache of cname1.example.
This changeset avoids that problem by making sure that when
deleting record.example, and re-insterting it (with the same name -important),
it uses the same struct crec, with the same uid. This preserves the existing cnames.
2018-07-18 20:59:52 +01:00
Simon Kelley
45d8a2435e
Introduce UID_NONE value, for cache records which are not the target of a CNAME.
2018-07-17 21:01:14 +01:00
Simon Kelley
706d84fd10
Merge branch 'master' of ssh://thekelleys.org.uk/var/local/git/dnsmasq
2018-07-16 18:07:15 +01:00
Simon Kelley
a997ca0da0
Fix sometimes missing DNSSEC RRs when DNSSEC validation not enabled.
...
Dnsmasq does pass on the do-bit, and return DNSSEC RRs, irrespective
of of having DNSSEC validation compiled in or enabled.
The thing to understand here is that the cache does not store all the
DNSSEC RRs, and dnsmasq doesn't have the (very complex) logic required
to determine the set of DNSSEC RRs required in an answer. Therefore if
the client wants the DNSSEC RRs, the query can not be answered from
the cache. When DNSSEC validation is enabled, any query with the
do-bit set is never answered from the cache, unless the domain is
known not to be signed: the query is always forwarded. This ensures
that the DNSEC RRs are included.
The same thing should be true when DNSSEC validation is not enabled,
but there's a bug in the logic.
line 1666 of src/rfc1035.c looks like this
if ((crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG)) || !do_bit || !(crecp->flags & F_DNSSECOK))
{ ...answer from cache ... }
So local stuff (hosts, DHCP, ) get answered. If the do_bit is not set
then the query is answered, and if the domain is known not to be
signed, the query is answered.
Unfortunately, if DNSSEC validation is not turned on then the
F_DNSSECOK bit is not valid, and it's always zero, so the question
always gets answered from the cache, even when the do-bit is set.
This code should look like that at line 1468, dealing with PTR queries
if ((crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG)) ||
!do_bit ||
(option_bool(OPT_DNSSEC_VALID) && !(crecp->flags & F_DNSSECOK)))
where the F_DNSSECOK bit is only used when validation is enabled.
2018-06-29 14:39:41 +01:00
Peter Pöschl
9268b5d677
Man page: uniform formatting style for options.
...
* Always use the long option form, except when options are introduced.
* Render options in bold, with '--' prefix.
2018-06-12 17:04:54 +01:00
Paul Maddock
51e4eeeb04
Fix address-dependent domains for IPv6.
...
Thanks to Paul Maddock for spotting this.
It seems to have been broken forever.
2018-06-12 16:37:40 +01:00
Simon Kelley
05ff659a3c
Fix stupid infinite loop introduced by preceding commit.
2018-06-12 16:03:09 +01:00
Simon Kelley
db0f488ea8
Handle some corner cases in RA contructed interfaces with addresses changing interface.
...
Thanks to Vladislav Grishenko for work on this.
2018-06-07 21:37:02 +01:00
Geert Stappers
7dcca6c622
Warn about the impact of cache-size on performance.
2018-06-02 18:54:04 +01:00
Simon Kelley
090856c7e6
Allow zone transfer in authoritative mode whenever auth-peer is specified.
2018-06-02 18:37:07 +01:00
Simon Kelley
cc5cc8f1e0
Sane error message when pcap file header is wrong.
2018-06-02 14:45:17 +01:00
Simon Kelley
c488b68e75
Handle standard and contructed dhcp-ranges on the same interface.
2018-06-02 13:06:00 +01:00
Simon Kelley
1f1873aadd
Log warning on very large cachesize config, instead of truncating it.
2018-05-11 23:38:23 +01:00
Maarten de Vries
0a496f059c
Do unsolicited RAs for interfaces which appear after dnsmasq startup.
...
I noticed that dnsmasq often wasn't sending any unsolicited RAs for me.
This turned out to happen when the interface (a bridge interface) wasn't
created yet at the time dnsmasq started. When dnsmasq is started after
the interface is created, it sends RAs as expected. I assume this also
extends to other types of virtual interfaces that are created after
dnsmasq starts.
Digging into the source, it seems to be caused by a missing call to
ra_start_unsolicited for non-template contexts in construct_worker from
src/dhcp6.c. The attached patch adds that call, but only if the
interface index or address changed to prevent doing fast RAs for no reason.
I tested it on my own server and it appears to work as expected. When
the interface is created and configured, dnsmasq does fast RAs for a
while and then settles into slow RAs.
2018-05-11 23:20:58 +01:00
Simon Kelley
e27825b0ef
Fix logging in previous.
2018-05-11 17:20:47 +01:00
Simon Kelley
1f60a18ea1
Retry SERVFAIL DNSSEC queries to a different server, if possible.
2018-05-11 16:44:16 +01:00
Simon Kelley
a0088e8364
Handle query retry on REFUSED or SERVFAIL for DNSSEC-generated queries.
2018-05-10 21:43:14 +01:00
Simon Kelley
34e26e14c5
Retry query to other servers on receipt of SERVFAIL rcode.
2018-05-10 20:54:57 +01:00
Simon Kelley
6b17335209
Add packet-dump debugging facility.
2018-05-08 18:32:14 +01:00
Simon Kelley
07ed585c38
Add logging for DNS error returns from upstream and local configuration.
2018-05-04 21:52:22 +01:00
Simon Kelley
0669ee7a69
Fix DHCP broken-ness when --no-ping AND --dhcp-sequential-ip are set.
2018-05-04 16:46:24 +01:00
Simon Kelley
f84e674d8a
Be persistent with broken-upstream-DNSSEC warnings.
2018-05-04 16:29:57 +01:00
Simon Kelley
7f0084316a
Handle DNSSEC-unaware upstream servers better.
2018-04-15 20:01:49 +01:00
Simon Kelley
a6918530ce
Change default for dnssec-check-unsigned.
2018-04-15 16:20:52 +01:00
Simon Kelley
4e72fec660
Fix DNSSEC without dnssec-check-unsigned.
...
An oversight meant that non-existance checking was being done
anyway.
(Should probably alter the default for this.)
2018-04-11 22:49:31 +01:00
Simon Kelley
4441cf762c
Fix DNS server fd garbage collection.
...
If we're talking to upstream servers from a fixed port, specified by query-port
we create the fds to do this once, before dropping root, so that ports <1024 can be used.
But we call check_servers() before reading /etc/resolv.conf, so if the only servers
are in resolv.conf, at that point there will be no servers, and the fds get garbage
collected away, only to be recreated (but without root) after we read /etc/resolv.conf
Make pre-allocated server fds immortal, to avoid this problem.
2018-04-10 21:39:54 +01:00
Simon Kelley
e83915d10d
Set V6ONLY on DNS upstream socket.
...
If query-port is set, we create sockets bound to the wildcard address and the query port for
IPv4 and IPv6, but the IPv6 one fails, because is covers IPv4 as well, and an IPv4 socket
already exists (it gets created first). Set V6ONLY to avoid this.
2018-04-10 21:27:26 +01:00
Kevin Darbyshire-Bryant
6d37924b86
Makefile: Stop creating '-d' directory
...
Install-common section was creating superfluous '-d' directory in build
location.
Split the directory creation into individual install commands to cope
with cross platform differences of interpreting subsequent '-d'
arguments. e.g. GNU appears to be fine. Apple creates the stray
directory.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk >
2018-04-07 23:00:56 +01:00
Simon Kelley
f3d7974e86
Fixed bug number in changelog s/833596/883596/
2018-03-26 13:23:59 +01:00
Simon Kelley
734d53176f
Add RFC4039 rapid commit support.
2018-03-23 23:09:53 +00:00
Simon Kelley
9a7be47614
Add lintian override in Debian package.
2018-03-23 20:45:53 +00:00
Simon Kelley
26e27d0015
Symbolic link for /usr/share/doc/dnsmasq-base-lua in Debian package.
2018-03-18 17:29:12 +00:00
Simon Kelley
94b6878821
Tidy crypto.c of old library compat. Now need libnettle 3.
2018-03-17 18:39:23 +00:00
Simon Kelley
8b96552f0d
Fix compiler warning.
2018-03-10 20:44:17 +00:00
Simon Kelley
ae290659de
Fix debian/changelog syntax.
2018-03-10 20:28:32 +00:00
Simon Kelley
6b2b564ac3
Enhance --synth-domain to allow names with sequential integers.
2018-03-10 20:25:57 +00:00
Simon Kelley
4f7bb57e97
Fix deletion of dhcp-options from inotify dynamic files.
...
These were not deleted except in the case that a dhcp-optsfile
option was coincidentally provided.
2018-03-08 18:47:08 +00:00
Petr Menšík
56f0623930
Allow trailing dot in CNAME.
...
I got reported bug in Fedora [1], that cname is broken in new releases.
At first I though this was false report, but there is still new
regression in cname handling.
Before, it accepted alias with trailing dot. Not it would accept only
target, but not alias.
cname=alias.,target
is no longer valid. The issue is it will count size to skip after
canonicalize. If that ignores trailing dot, next name would be "". And
that is invalid and refused, dnsmasq refuses to start.
I also think that any whitespace like tab should be possible after
comma. So this fixes also 30858e3b9b .
2018-03-06 23:13:32 +00:00
Simon Kelley
f3223fbff6
Fix nettle_hash() function to avoid ABI incompatibilities.
...
The way of accessing the list of available hashes on nettle was
vulnerable to breaking if the version of libnettle in use was
different to the version dnsmasq was compiled against.
Change to a new system if libnettle >= 3.4 is in use.
Older versions if nettle are still OK, once 3.4 is reached,
the ABi problem is fixed. Thanks to Petr Menšík for clues on this.
2018-03-06 22:55:36 +00:00
Simon Kelley
4c4f4c2649
Debian dependency tweaking for new dnsmasq-base-lua package.
2018-02-16 22:43:29 +00:00
Ville Skyttä
773af304ea
Man page typo fix.
2018-02-16 21:47:55 +00:00
Simon Kelley
4cc944b0d6
Merge branch 'master' of ssh://thekelleys.org.uk/var/local/git/dnsmasq
2018-02-16 21:30:21 +00:00
Simon Kelley
87e00feb01
Compiler warning fixes.
2018-02-16 21:29:32 +00:00
Simon Kelley
e7a4af8903
Compiler warning fixes.
2018-02-16 21:27:35 +00:00
Simon Kelley
2d69d6146d
Add liblua-dev to Debian build-depends.
2018-02-16 21:11:17 +00:00
Simon Kelley
30e4a9441e
Debian package: add dnsmasq-base-lua binary package.
2018-02-16 19:56:56 +00:00
Simon Kelley
232a8f3569
Merge messages for release.
2018-02-14 23:02:34 +00:00
Simon Kelley
1721453d51
Remove special handling of A-for-A queries.
2018-02-14 22:56:09 +00:00
yiwenchen
499d8dde2b
Fix boundary for test introduced in 3e3f1029c9ec6c63e430ff51063a6301d4b2262
...
This fixes breakage of DHCPv6 relay.
2018-02-14 22:26:54 +00:00
Andy Hawkins
6f1cbfd000
Fix debian/readme typo.
2018-02-14 21:35:56 +00:00
Andy Hawkins
55ecde7f1b
Inotify: Ignore backup files created by editors
...
Use strlen to determine the length of the filename returned by
inotify, as in->len refers to the length of the buffer containing
the name, not the length of the name itself.
http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2018q1/011950.html
Signed-off-by: Andy Hawkins <andy@gently.org.uk >
Patch further modified by simon@thekelleys.org to avoid
out-of-bounds array access with an empty string, call strlen once,
and reverse order of filename verifcation and resolv-file test.
2018-02-14 18:36:47 +00:00
Simon Kelley
6b54d69a85
Make failure to chown() pidfile a warning.
2018-02-08 21:32:16 +00:00
Simon Kelley
246a31cd73
Change ownership of pid file, to keep systemd happy.
2018-02-06 17:27:55 +00:00
Simon Kelley
83e4b73596
Remove confusion between --user and --script-user.
2018-02-06 16:57:15 +00:00
Simon Kelley
6340ca734f
Tweak heuristic for initial DNSSEC memory allocation.
2018-01-30 21:39:01 +00:00
Simon Kelley
baf553db0c
Default min-port to 1024 to avoid reserved ports.
2018-01-29 23:04:06 +00:00
Kurt H Maier
486bcd5a7b
Simplify and correct bindtodevice().
2018-01-26 15:10:59 +00:00
Simon Kelley
be9a74d2f8
Close Debian bug for CVE-2017-15107.
2018-01-26 14:36:32 +00:00
Leon M. George
ffcbc0f011
Example config typo fixes.
2018-01-26 13:17:41 +00:00
Simon Kelley
a969ba6e2a
Special case NSEC processing for root DS record, to avoid spurious BOGUS.
2018-01-20 23:08:38 +00:00
Simon Kelley
f1781728af
Add homepage to Debian control file.
2018-01-20 22:18:54 +00:00
Simon Kelley
cd7df612b1
Fix DNSSEC validation errors introduced in 4fe6744a22
2018-01-20 00:10:55 +00:00
Simon Kelley
c1a4e257a3
Try to be a little more clever at falling back to smaller DNS packet sizes.
2018-01-19 22:00:05 +00:00
Simon Kelley
4fe6744a22
DNSSEC fix for wildcard NSEC records. CVE-2017-15107 applies.
...
It's OK for NSEC records to be expanded from wildcards,
but in that case, the proof of non-existence is only valid
starting at the wildcard name, *.<domain> NOT the name expanded
from the wildcard. Without this check it's possible for an
attacker to craft an NSEC which wrongly proves non-existence
in a domain which includes a wildcard for NSEC.
2018-01-19 12:39:46 +00:00
Neil Jerram
3bd4c47f31
Remove limit on length of command-line options.
2018-01-18 22:49:38 +00:00
Artem Poloznikov
98196c4931
Typo fix.
2018-01-18 22:14:26 +00:00
Simon Kelley
22cd860124
Allow more than one --bridge-interface option to refer to an interface.
2018-01-14 22:57:14 +00:00
Simon Kelley
3c973ad92d
Use SIGINT (instead of overloading SIGHUP) to turn on DNSSEC time validation.
2018-01-14 21:40:56 +00:00
Ville Skyttä
faaf306a63
Spelling fixes.
2018-01-14 17:32:52 +00:00
Geert Stappers
c7e6aea81b
Change references to gPXE to iPXE.
...
Development of EtherBoot gPXE was always development
of iPXE core developer Michael Brown.
http://git.etherboot.org/?p=gpxe.git was last updated in 2011
https://git.ipxe.org/ipxe.git is well alive
This s/gPXE/iPXE/ reflects that.
Signed-off-by: Geert Stappers <stappers@stappers.nl >
2018-01-13 17:56:37 +00:00
Simon Kelley
e541245987
Handle duplicate RRs in DNSSEC validation.
...
RFC 4034 says:
[RFC2181] specifies that an RRset is not allowed to contain duplicate
records (multiple RRs with the same owner name, class, type, and
RDATA). Therefore, if an implementation detects duplicate RRs when
putting the RRset in canonical form, it MUST treat this as a protocol
error. If the implementation chooses to handle this protocol error
in the spirit of the robustness principle (being liberal in what it
accepts), it MUST remove all but one of the duplicate RR(s) for the
purposes of calculating the canonical form of the RRset.
We chose to handle this robustly, having found at least one recursive
server in the wild which returns duplicate NSEC records in the AUTHORITY
section of an answer generated from a wildcard record. sort_rrset() is
therefore modified to delete duplicate RRs which are detected almost
for free during the bubble-sort process.
Thanks to Toralf Förster for helping to diagnose this problem.
2018-01-06 22:16:31 +00:00
Simon Kelley
84a01bee10
Bump year in Debian copyright notice.
2018-01-03 15:16:09 +00:00
Simon Kelley
d1ced3ae38
Update copyrights to 2018.
2018-01-01 22:18:03 +00:00
Simon Kelley
a6cee69af4
Fix exit code from dhcp_release6.
2017-12-14 22:40:48 +00:00
Simon Kelley
0039920ab6
Severely fix code formating of contrib/lease-tools/dhcp_release6.c
2017-12-14 22:29:31 +00:00
Simon Kelley
39d8550a80
Run Debian startup regex in "C" locale.
2017-12-14 21:23:34 +00:00
Simon Kelley
ef3d137a64
Fix infinite retries in strict-order mode.
...
If all configured dns servers return refused in
response to a query; dnsmasq will end up in an infinite loop
retransmitting the dns query resulting into high CPU load.
Problem is caused by the dns refuse retransmission logic which does
not check for the end of a dns server list iteration in strict mode.
Having one configured dns server returning a refused reply easily
triggers this problem in strict order mode. This was introduced in
9396752c11
Thanks to Hans Dedecker <dedeckeh@gmail.com > for spotting this
and the initial patch.
2017-12-05 22:37:29 +00:00
Simon Kelley
8c707e1e37
Make 373e917389 compile without DNSSEC.
2017-12-05 22:28:10 +00:00
Simon Kelley
373e917389
Fix a6004d7f17 to cope with >256 RRs in answer section.
2017-12-01 22:40:56 +00:00
Josh Soref
74f0f9a042
Commment language tweaks.
2017-12-01 21:38:27 +00:00
李三0159
ed6bdb0967
Man page typos.
2017-11-30 16:47:01 +00:00
Simon Kelley
c88af046b7
Modify doc.html to mention git-over-http is now available.
2017-11-15 21:23:43 +00:00
Dr. Markus Waldeck
ae0187d454
Fix trust-anchor regexp in Debian init script.
2017-11-07 22:53:06 +00:00
Simon Kelley
0c50e3ddc8
Bump version in Debian package.
2017-11-07 22:49:20 +00:00
Petr Menšík
075366ad6e
Open inotify socket only when used.
...
Some of our Openstack users run quite large number of dnsmasq instances
on single host. They started hitting default limit of inotify socket
number on single system after upgrade to more recent version. System
defaults of sysctl fs.inotify.max_user_instances is 128. They reached
limit of 116 dnsmasq instances, then more instances failed to start.
I was surprised they have any use case for such high number of
instances. They use one dnsmasq for one virtual network.
I found simple way to avoid hitting low system limit. They do not use
resolv.conf for name server configuration or any dhcp hosts or options
directory. Created inotify socket is never used in that case. Simple
patch attached.
I know we can raise inotify system limit. I think better is to not waste
resources that are left unused.
2017-11-05 16:05:39 +00:00
Simon Kelley
8e8b2d6f63
Release notes update.
2017-10-30 23:21:52 +00:00
Simon Kelley
087eb76140
Always return a SERVFAIL response to DNS queries with RD=0.
...
Unless we are acting in authoritative mode, obviously.
To do otherwise may allows cache snooping, see.
http://cs.unc.edu/~fabian/course_papers/cache_snooping.pdf
2017-10-30 23:16:54 +00:00
Simon Kelley
ebedcbaeb8
Typo in printf format string added in 22dee512f3
2017-10-29 20:54:17 +00:00
Simon Kelley
0954a977c9
Remove RSA/MD5 DNSSEC algorithm.
...
This is set to status DoNotImplement in RFC 6944.
2017-10-27 23:26:51 +01:00
Simon Kelley
b77efc1948
Tidy DNSSEC algorithm table use.
2017-10-27 23:23:53 +01:00
Simon Kelley
3b0cb34710
Fix manpage which said ZSK but meant KSK.
2017-10-27 22:54:35 +01:00
Simon Kelley
aa6f832d61
Add a few DNS RRs to the table.
2017-10-27 22:52:26 +01:00
Simon Kelley
ad9c6f06c5
Add support for Ed25519 DNSSEC signature algorithm.
2017-10-27 22:13:49 +01:00
Simon Kelley
a6004d7f17
Fix caching logic for validated answers.
...
The current logic is naive in the case that there is more than
one RRset in an answer (Typically, when a non-CNAME query is answered
by one or more CNAME RRs, and then then an answer RRset.)
If all the RRsets validate, then they are cached and marked as validated,
but if any RRset doesn't validate, then the AD flag is not set (good) and
ALL the RRsets are cached marked as not validated.
This breaks when, eg, the answer contains a validated CNAME, pointing
to a non-validated answer. A subsequent query for the CNAME without do
will get an answer with the AD flag wrongly reset, and worse, the same
query with do will get a cached answer without RRSIGS, rather than
being forwarded.
The code now records the validation of individual RRsets and that
is used to correctly set the "validated" bits in the cache entries.
2017-10-25 17:48:19 +01:00
Simon Kelley
c366717e66
Tidy up add_resource_record() buffer size checks.
...
Mainly code-size and readability fixes.
Also return NULL from do_rfc1035_name() when limit exceeded, so
that truncated bit gets set in answer.
2017-10-13 23:26:29 +01:00
Simon Kelley
22dee512f3
Log DNS server max packet size reduction.
2017-10-13 22:54:00 +01:00
Simon Kelley
6fd5d79e73
Fix logic on EDNS0 headers.
...
The logic to determine is an EDNS0 header was added was wrong. It compared
the packet length before and after the operations on the EDNS0 header,
but these can include adding options to an existing EDNS0 header. So
a query may have an existing EDNS0 header, which is extended, and logic
thinks that it had a header added de-novo.
Replace this with a simpler system. Check if the packet has an EDSN0 header,
do the updates/additions, and then check again. If it didn't have one
initially, but it has one laterly, that's the correct condition
to strip the header from a reply, and to assume that the client
cannot handle packets larger than 512 bytes.
2017-10-13 22:26:40 +01:00
Simon Kelley
9d6918d32c
Use IP[V6]_UNICAST_IF socket option instead of SO_BINDTODEVICE for DNS.
...
dnsmasq allows to specify a interface for each name server passed with
the -S option or pushed through D-Bus; when an interface is set,
queries to the server will be forced via that interface.
Currently dnsmasq uses SO_BINDTODEVICE to enforce that traffic goes
through the given interface; SO_BINDTODEVICE also guarantees that any
response coming from other interfaces is ignored.
This can cause problems in some scenarios: consider the case where
eth0 and eth1 are in the same subnet and eth0 has a name server ns0
associated. There is no guarantee that the response to a query sent
via eth0 to ns0 will be received on eth0 because the local router may
have in the ARP table the MAC address of eth1 for the IP of eth0. This
can happen because Linux sends ARP responses for all the IPs of the
machine through all interfaces. The response packet on the wrong
interface will be dropped because of SO_BINDTODEVICE and the
resolution will fail.
To avoid this situation, dnsmasq should only restrict queries, but not
responses, to the given interface. A way to do this on Linux is with
the IP_UNICAST_IF and IPV6_UNICAST_IF socket options which were added
in kernel 3.4 and, respectively, glibc versions 2.16 and 2.26.
Reported-by: Hector Martin <marcan@marcan.st >
Signed-off-by: Beniamino Galvani <bgalvani@redhat.com >
2017-10-13 17:55:09 +01:00
Simon Kelley
a49c5c2265
Fix search_servers() segfault with DNSSEC.
...
--address=/example.com/<IP> would segfault if query on example.com
was generated as part of DNSSEC validation.
2017-10-10 22:04:59 +01:00
Simon Kelley
30858e3b9b
Spaces in CNAME options break parsing.
...
cname = wibble,wobble
works, but
cname = wibble, wobble
fails. Bug introduced in 2.77. commit a1d973f987
2017-10-09 22:36:11 +01:00
Simon Kelley
30df7efc96
Merge i18n messages.
2017-10-02 14:13:51 +01:00
Simon Kelley
3e8c42cba5
Debian changlelog update.
2017-09-29 17:39:26 +01:00
Simon Kelley
62cb936cb7
Security fix, CVE-2017-14491, DNS heap buffer overflow.
...
Further fix to 0549c73b7e
Handles case when RR name is not a pointer to the question,
only occurs for some auth-mode replies, therefore not
detected by fuzzing (?)
2017-09-26 22:00:11 +01:00
Simon Kelley
39921d03ba
Update credits for Google security team.
2017-09-26 18:43:19 +01:00
Simon Kelley
6a0b00f0d6
Misc code cleanups arising from Google analysis.
...
No security impleications or CVEs.
2017-09-25 20:19:55 +01:00
Simon Kelley
51eadb692a
Security fix, CVE-2017-14495, OOM in DNS response creation.
...
Fix out-of-memory Dos vulnerability. An attacker which can
send malicious DNS queries to dnsmasq can trigger memory
allocations in the add_pseudoheader function
The allocated memory is never freed which leads to a DoS
through memory exhaustion. dnsmasq is vulnerable only
if one of the following option is specified:
--add-mac, --add-cpe-id or --add-subnet.
2017-09-25 20:16:50 +01:00
Simon Kelley
897c113fda
Security fix, CVE-2017-14496, Integer underflow in DNS response creation.
...
Fix DoS in DNS. Invalid boundary checks in the
add_pseudoheader function allows a memcpy call with negative
size An attacker which can send malicious DNS queries
to dnsmasq can trigger a DoS remotely.
dnsmasq is vulnerable only if one of the following option is
specified: --add-mac, --add-cpe-id or --add-subnet.
2017-09-25 20:11:58 +01:00
Simon Kelley
33e3f1029c
Security fix, CVE-2017-14494, Infoleak handling DHCPv6 forwarded requests.
...
Fix information leak in DHCPv6. A crafted DHCPv6 packet can
cause dnsmasq to forward memory from outside the packet
buffer to a DHCPv6 server when acting as a relay.
2017-09-25 20:05:11 +01:00
Simon Kelley
3d4ff1ba84
Security fix, CVE-2017-14493, DHCPv6 - Stack buffer overflow.
...
Fix stack overflow in DHCPv6 code. An attacker who can send
a DHCPv6 request to dnsmasq can overflow the stack frame and
crash or control dnsmasq.
2017-09-25 19:59:54 +01:00
Simon Kelley
24036ea507
Security fix, CVE-2017-14492, DHCPv6 RA heap overflow.
...
Fix heap overflow in IPv6 router advertisement code.
This is a potentially serious security hole, as a
crafted RA request can overflow a buffer and crash or
control dnsmasq. Attacker must be on the local network.
2017-09-25 19:59:27 +01:00
Simon Kelley
0549c73b7e
Security fix, CVE-2017-14491 DNS heap buffer overflow.
...
Fix heap overflow in DNS code. This is a potentially serious
security hole. It allows an attacker who can make DNS
requests to dnsmasq, and who controls the contents of
a domain, which is thereby queried, to overflow
(by 2 bytes) a heap buffer and either crash, or
even take control of, dnsmasq.
2017-09-25 18:17:11 +01:00
Christian Hesse
b697fbb7f1
Do not include stdio.h before dnsmasq.h
...
We define some constants in dnsmasq.h, which have an influence on
stdio.h. So do not include stdio.h before dnsmasq.h.
2017-09-25 17:36:24 +01:00
Rasmus Ahlberg
96e063c43d
Update contrib/try-all-ns.
2017-09-25 17:30:59 +01:00
Chris Novakovic
4e841da1a6
Fix broken translations after commit 730c6745
2017-09-25 17:21:49 +01:00
Simon Kelley
09ce307bdb
Disable libIDN2 underscore workaround with libIDN or fixed libIDN2.
2017-09-25 16:53:55 +01:00
Simon Kelley
a3303e196e
Don't return arcount=1 if EDNS0 RR won't fit in the packet.
...
Omitting the EDNS0 RR but setting arcount gives a malformed packet.
Also, don't accept UDP packet size less than 512 in recieved EDNS0.
2017-09-07 20:45:00 +01:00
Simon Kelley
63437ffbb5
Fix CVE-2017-13704, which resulted in a crash on a large DNS query.
...
A DNS query recieved by UDP which exceeds 512 bytes (or the EDNS0 packet size,
if different.) is enough to cause SIGSEGV.
2017-09-06 22:34:21 +01:00
Simon Kelley
69a815aa8f
Fix loss of undercores in domain names when using libidn2.
...
libidn2 strips underscores from international domain names
when encoding them. Indeed, it strips underscores even if
no encoding is necessary, which breaks SRV records.
Don't submit domain names to IDN encoding if they contain
one or more underscores to fix this.
2017-07-08 21:20:16 +01:00
Simon Kelley
1d224949cc
Remove ping-check of configured DHCP address.
...
This was added in 5ce3e76fbf but
it trips over too many buggy clients that leave an interface configured
even in DHCPDISCOVER case.
2017-07-08 20:52:55 +01:00
Simon Kelley
391f708a09
Man page tweak.
2017-07-08 20:48:51 +01:00
Rosen Penev
cbd29e5da8
Printf related fixes.
2017-06-27 22:29:51 +01:00
Rosen Penev
50a2841d34
Fix function declarations.
2017-06-27 22:27:02 +01:00
Hans Dedecker
9396752c11
Try other servers if first returns REFUSED when --strict-order active.
...
If a DNS server replies REFUSED for a given DNS query in strict order mode
no failover to the next DNS server is triggered as the failover logic only
covers non strict mode.
As a result the client will be returned the REFUSED reply without first
falling back to the secondary DNS server(s).
Make failover support work as well for strict mode config in case REFUSED is
replied by deleting the strict order check and rely only on forwardall being
equal to 0 which is the case in non strict mode when a single server has been
contacted or when strict order mode has been configured.
2017-06-27 22:08:47 +01:00
Simon Kelley
712dadb287
Bump Debian version to 2.78-1
2017-06-25 21:35:47 +01:00
Simon Kelley
32be32eab8
Formatting fixes for CHANGELOG
2017-06-25 21:33:28 +01:00
Simon Kelley
1649f709e7
Fix DHCP relay, broken by ff325644c7
...
Thanks to John Fitzgibbon for initial patch.
2017-06-25 21:19:30 +01:00
Simon Kelley
50ca85504c
Bump year in copyrights.
2017-06-24 22:43:18 +01:00
Simon Kelley
4bb68866a8
Tweak ICMP ping check logic for DHCPv4.
2017-06-15 23:23:25 +01:00
Chris Novakovic
2446514e71
Fix logic of appending ".<layer>" to PXE basename
...
Commit f77700aa , which fixes a compiler warning, also breaks the
behaviour of prepending ".<layer>" to basenames in --pxe-service: in
situations where the basename contains a ".", the ".<layer>" suffix is
erroneously added, and in situations where the basename doesn't contain
a ".", the ".<layer>" suffix is erroneously omitted.
A patch against the git HEAD is attached that inverts this logic and
restores the expected behaviour of --pxe-service.
2017-06-06 23:02:59 +01:00
Simon Kelley
109d0e74f1
Debian: improve regexp for parsing root.ds.
2017-06-05 20:50:54 +01:00
Simon Kelley
74ea91531a
Fix typo and format in CHANGELOG
2017-05-22 22:58:46 +01:00
Matthias Andree
9828ab115e
Fix compiler warning.
2017-05-21 22:41:16 +01:00
Matthias Andree
f77700aa27
Fix compiler warning.
2017-05-21 22:36:09 +01:00
Simon Kelley
0fbd980639
Fix compiler warning.
2017-05-21 22:24:43 +01:00
Simon Kelley
43cdf1c3d0
Remove automatic IDN support when building i18n.
...
Remove historic automatic inclusion of IDN support when
building internationalisation support. This doesn't
fit now there is a choice of IDN libraries. Be sure
to include either -DHAVE_IDN or _DHAVE_LIBIDN2 for
IDN support
2017-05-21 22:12:44 +01:00
Simon Kelley
ff19b1a97d
Fix &/&& confusion.
2017-05-21 21:15:32 +01:00
Conrad Kostecki
1835343acd
Update German translation.
2017-05-12 15:16:02 +01:00
Simon Kelley
2aaea18f43
Add .gitattributes to substitute VERSION on export.
2017-05-12 13:14:17 +01:00
Simon Kelley
7ab78b937f
Fix c7be0164ce
2017-05-11 20:33:21 +01:00
Simon Kelley
c7be0164ce
Suppress DHCP ping checks when allocating on the loopback interface.
2017-05-10 22:21:53 +01:00
Petr Menšík
d203af4a02
Add optional support for libidn2 and therefore IDNA2008.
2017-05-10 21:41:57 +01:00
Simon Kelley
05f76dab89
Don't die() on failing to parse lease-script output.
2017-05-09 22:57:04 +01:00
Simon Kelley
bf05f8ff20
Fix crash introduced by 09f3b2cd9c.
2017-05-09 22:37:46 +01:00
Simon Kelley
09f3b2cd9c
Fix case of DS queries to domains marked as not doing DNSSEC.
...
This was causing confusion: DNSSEC queries would be sent to
servers for domains that don't do DNSSEC, but because of that status
the answers would be treated as answers to ordinary queries,
sometimes resulting in a crash.
2017-05-09 01:34:02 +01:00
Simon Kelley
22827870fa
Fix botch introduced by 561441320f
2017-05-08 21:39:04 +01:00
Vladislav Grishenko
4583dd9e42
Replace obsolete utime() usage with utimes().
...
This fixes build time warnings with POSIX.1-2008-aware c libraries.
2017-05-03 23:16:51 +01:00
Simon Kelley
561441320f
Fix a couple of crashes on malformed config files.
...
Thanks to Stephan Zeisberg and
american fuzzy lop http://lcamtuf.coredump.cx/afl/
2017-05-03 22:54:09 +01:00
Simon Kelley
b2a9c571eb
Add "known-othernet" DHCP tag.
2017-04-30 18:21:31 +01:00
Simon Kelley
efff74c1ae
Tweak logging introduced in 3a8b0f6fcc
2017-04-28 23:01:23 +01:00
Simon Kelley
a9df0e30b0
Revert "Implement RFC-6842 (Client-ids in DHCP replies.)"
...
This reverts commit 88a77a78ad .
A least one client has been found which breaks with this change. Since
the use-case is not clear, I'm reverting the change, at least for now.
2017-04-28 22:44:24 +01:00
Simon Kelley
5ce3e76fbf
DHCPv4: do ICMP-ping check in all cases other that current lease.
2017-04-28 22:14:20 +01:00
Vladislav Grishenko
6ec5f5c427
Extend --ra-param mtu: field to allow an interface name.
2017-04-24 22:34:45 +01:00
Vladislav Grishenko
5a7212c70e
Make --rev-server work in the presence of --bogus-priv.
2017-04-24 22:21:04 +01:00
Petr Menšík
3a8b0f6fcc
Improve error handling with shcp-script "init" mode.
2017-04-23 14:12:37 +01:00
Simon Kelley
a24c31e023
Debian: enable PIE and BINDNOW hardening in build.
2017-04-16 22:45:53 +01:00
Simon Kelley
f5a3679f1d
Merge branch 'master' of ssh://thekelleys.org.uk/var/cache/git/dnsmasq
2017-04-16 22:27:51 +01:00
Simon Kelley
5ac813cb86
Bump Lua version to 5.2.
2017-04-16 20:47:11 +01:00
Simon Kelley
a93b02e321
Compile option string: show script-support independent of DHCP.
2017-04-16 20:38:22 +01:00
Petr Menšík
c77fb9d8f0
Capture and log STDOUT and STDERR output from dhcp-script.
2017-04-16 20:20:08 +01:00
Simon Kelley
facc18f2a8
Bump Debian standards version.
2017-04-11 18:52:36 +01:00
Simon Kelley
bc515b71ec
Merge branch 'master' of ssh://thekelleys.org.uk/var/cache/git/dnsmasq
2017-04-11 18:49:59 +01:00
Simon Kelley
7bfa26399b
FreeBSD compilation tweak.
2017-04-11 18:49:27 +01:00
Simon Kelley
461b7b43b4
Debian: readme typos.
2017-04-11 18:06:13 +01:00
Simon Kelley
b1cefa57f1
Debian: strip dhcp_release6 binary.
2017-04-11 15:55:26 +01:00
Simon Kelley
ce9a9704c6
Debian: add lsb-base dep.
2017-04-11 15:34:25 +01:00
Simon Kelley
93a9a55055
Debian changelog format fixup.
2017-04-11 15:21:30 +01:00
Simon Kelley
44eb875a5a
Handle change in format of Debian /usr/share/dns/root.ds.
2017-04-11 15:13:09 +01:00
Floris Bos
bc87e609c2
Debian initscript tweak.
...
Dnsmasq's startup script seems to assume users always want to use
dnsmasq as local DNS resolver, and tells resolvconf to put
"nameserver 127.0.0.1" in /etc/resolv.conf
The problem with this is that if users just want to use dnsmasq
as DHCP server, and put port=0 in /etc/dnsmasq.conf to disable
the DNS functionality, they end up with broken name resolving.
Put a basic check in the startup script that skips resolvconf
configuration if a line starting with port=0 is in /etc/dnsmasq.conf
This doesn't cover all cases (e.g. configuration could also be in
different file in /etc/dnsmasq.d), but is better than current
situation.
2017-04-11 14:19:57 +01:00
David Flamand
005c46d6f5
Add mtu facility to --ra-param.
2017-04-11 11:49:54 +01:00
Floris Bos
503c609149
--dhcp-reply-delay option to workaround PXE client bugs.
...
Adds option to delay replying to DHCP packets by one or more seconds.
This provides a workaround for a PXE boot firmware implementation
that has a bug causing it to fail if it receives a (proxy) DHCP
reply instantly.
On Linux it looks up the exact receive time of the UDP packet with
the SIOCGSTAMP ioctl to prevent multiple delays if multiple packets
come in around the same time.
2017-04-09 23:07:13 +01:00
Floris Bos
60704f5e2e
Add support for unique TFTP root per MAC.
...
It is currently only possible to let the TFTP server serve a different
folder depending on the client's IP address.
However it isn't always possible to predict what the client's
IP address will be, especially in situations in which we are not
responsible for handing them out (e.g. proxy dhcp setups).
Extend the current --tftp-unique-root parameter to support having a
separate folder per MAC address instead.
2017-04-09 22:22:49 +01:00
Kristian Evensen
4e7694d710
Allow binding to both source address and interface in server specs.
...
The current --server syntax allows for binding to interface or
address. However, in some (admittedly special) cases it is useful to
be able to specify both. This commit introduces the following syntax
to support binding to both interface and address:
--server X.X.X.X@IP@interface#port
Based on my tests, the syntax is backwards compatible with the current
@IP/interface#port. The code will fail if two interface names are given.
v1->v2:
* Add man page description of the extended server syntax (thanks Simon Kelley)
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com >
2017-03-22 21:32:50 +00:00
James Bottomley
e33b48700e
When forwarding a query to a non-DNSSEC nameserver, don't verify the lack of DNSSEC.
...
The man page says that we don't do DNSSEC on forwarded domains, but if
you turn on dnssec_check_signatures this turns out to be untrue,
because we try to build up a DS chain to them. Since forwarded domains
are usually used for split DNS to hidden domains, they're unlikely to
verify to the DNS root anyway, so the way to do DNSSEC for them (as the
manual says) is to provide a trust anchor for each forwarder.
The problem I've run into is a split DNS setup where I want DNSSEC to
work mostly, but one of the forwarding domains doesn't have an internal
DNSSEC capable resolver. Without this patch the entire domain goes
unresolvable because the DS record query to the internal resolver
returns a failure which is interpreted as the domain being BOGUS.
The fix is not to do the DS record chase for forwarded domains.
2017-03-17 21:44:10 +00:00
Petr Menšík
ad59f278c6
Fix man page re interface labels and add warning when used badly.
2017-03-17 17:22:19 +00:00
Bert Gijsbers
16f03e7139
Check for failure of "git describe" in get-version.
2017-03-06 23:07:32 +00:00
Olivier Gayot
dc99058d83
Improve error checking for --rev-server.
...
The rev-server directive only handles the following CIDR prefixes
properly: /8, /16, /24, /32.
Any other value was silently converted to /16 which could result in
unexpected behaviour.
This patch rejects any other value instead of making a silent
conversion.
2017-03-06 22:17:21 +00:00
Olivier Gayot
916959c188
Fix rev-server with /32 prefix.
...
[ excerpt from the man page ]
The rev-server directive provides a syntactic sugar to make specifying
address-to-name queries easier. For example
--rev-server=1.2.3.0/24,192.168.0.1 is exactly equivalent to
--server=/3.2.1.in-addr.arpa/192.168.0.1
It is not mentioned in the man page but the only prefixes that the
directive properly handles when dealing with IPv4 are /8, /16 and /24.
Specifying anything else as the same effect as specifying /16.
It is not a big deal for subnets on non-octet boundaries since they
cannot be represented using a single in-addr.arpa address. However, it
is unconvenient for /32 prefix while the analogous server directive
behaves as expected. E.g. the following server directive work
as expected:
server=/42.10.168.192.in-addr.arpa/1.2.3.4
but the following does not:
rev-server=192.168.10.42/32,1.2.3.4
and, in practice, the later behaves the same as:
server=/168.192.in-addr.arpa/1.2.3.4
This strange behaviour is fixed by accepting /32 CIDR prefixes as a
valid value. Any other value will still be considered the same as /16.
2017-03-06 22:14:50 +00:00
Simon Kelley
864913c0f3
Man page typo.
2017-02-28 18:07:18 +00:00
Simon Kelley
13dee6f49e
Compilation warning fixes.
2017-02-28 16:51:58 +00:00
Simon Kelley
62f9c0d470
Fix CNAME wildcard in auth-mode.
...
A domain can only have a CNAME if it has not other records.
Don't return a CNAME when there are records of other types on the name.
2017-02-19 23:07:01 +00:00
Simon Kelley
54bb3639d4
Update FAQ to fix a couple of dead links.
...
Thanks to Federico Bianchi for reporting this.
2017-02-19 22:13:36 +00:00
Simon Kelley
fca008d8d4
Make --bogus-priv apply to IPv6.
2017-02-19 18:50:41 +00:00
klemens
43517fcaf5
Spelling fixes.
2017-02-19 15:53:37 +00:00
Simon Kelley
88a77a78ad
Implement RFC-6842 (Client-ids in DHCP replies.)
2017-02-11 17:02:02 +00:00
Hannu Nyman
3e2496fb16
Decrease the number of individual sites listed in log.
...
By default 30 first servers are listed individually to system log, and
then a count of the remaining items. With e.g. a NXDOMAIN based adblock
service, dnsmasq lists 30 unnecessary ad sites every time when dnsmasq
evaluates the list. But the actual nameservers in use are evaluated last
and are not displayed as they get included in the "remaining items" total.
Handle the "local addresses only" separately and list only a few of them.
Remove the "local addresses only" from the general count.
2017-02-11 13:44:08 +00:00
Simon Kelley
05da782f8f
Add forthcoming 2017 root zone trust anchor to trust-anchors.conf.
2017-02-10 21:32:45 +00:00
Simon Kelley
361dfe5158
Improve connection handling when talking to TCP upsteam servers.
...
Specifically, be prepared to open a new connection when we
want to make multiple queries but the upstream server accepts
fewer queries per connection.
2017-02-10 21:12:30 +00:00
Baptiste Jonglez
68f6312d4b
Stop treating SERVFAIL as a successful response from upstream servers.
...
This effectively reverts most of 51967f9807 ("SERVFAIL is an expected
error return, don't try all servers.") and 4ace25c5d6 ("Treat REFUSED (not
SERVFAIL) as an unsuccessful upstream response").
With the current behaviour, as soon as dnsmasq receives a SERVFAIL from an
upstream server, it stops trying to resolve the query and simply returns
SERVFAIL to the client. With this commit, dnsmasq will instead try to
query other upstream servers upon receiving a SERVFAIL response.
According to RFC 1034 and 1035, the semantic of SERVFAIL is that of a
temporary error condition. Recursive resolvers are expected to encounter
network or resources issues from time to time, and will respond with
SERVFAIL in this case. Similarly, if a validating DNSSEC resolver [RFC
4033] encounters issues when checking signatures (unknown signing
algorithm, missing signatures, expired signatures because of a wrong
system clock, etc), it will respond with SERVFAIL.
Note that all those behaviours are entirely different from a negative
response, which would provide a definite indication that the requested
name does not exist. In our case, if an upstream server responds with
SERVFAIL, another upstream server may well provide a positive answer for
the same query.
Thus, this commit will increase robustness whenever some upstream servers
encounter temporary issues or are misconfigured.
Quoting RFC 1034, Section 4.3.1. "Queries and responses":
If recursive service is requested and available, the recursive response
to a query will be one of the following:
- The answer to the query, possibly preface by one or more CNAME
RRs that specify aliases encountered on the way to an answer.
- A name error indicating that the name does not exist. This
may include CNAME RRs that indicate that the original query
name was an alias for a name which does not exist.
- A temporary error indication.
Here is Section 5.2.3. of RFC 1034, "Temporary failures":
In a less than perfect world, all resolvers will occasionally be unable
to resolve a particular request. This condition can be caused by a
resolver which becomes separated from the rest of the network due to a
link failure or gateway problem, or less often by coincident failure or
unavailability of all servers for a particular domain.
And finally, RFC 1035 specifies RRCODE 2 for this usage, which is now more
widely known as SERVFAIL (RFC 1035, Section 4.1.1. "Header section format"):
RCODE Response code - this 4 bit field is set as part of
responses. The values have the following
interpretation:
(...)
2 Server failure - The name server was
unable to process this query due to a
problem with the name server.
For the DNSSEC-related usage of SERVFAIL, here is RFC 4033
Section 5. "Scope of the DNSSEC Document Set and Last Hop Issues":
A validating resolver can determine the following 4 states:
(...)
Insecure: The validating resolver has a trust anchor, a chain of
trust, and, at some delegation point, signed proof of the
non-existence of a DS record. This indicates that subsequent
branches in the tree are provably insecure. A validating resolver
may have a local policy to mark parts of the domain space as
insecure.
Bogus: The validating resolver has a trust anchor and a secure
delegation indicating that subsidiary data is signed, but the
response fails to validate for some reason: missing signatures,
expired signatures, signatures with unsupported algorithms, data
missing that the relevant NSEC RR says should be present, and so
forth.
(...)
This specification only defines how security-aware name servers can
signal non-validating stub resolvers that data was found to be bogus
(using RCODE=2, "Server Failure"; see [RFC4035]).
Notice the difference between a definite negative answer ("Insecure"
state), and an indefinite error condition ("Bogus" state). The second
type of error may be specific to a recursive resolver, for instance
because its system clock has been incorrectly set, or because it does not
implement newer cryptographic primitives. Another recursive resolver may
succeed for the same query.
There are other similar situations in which the specified behaviour is
similar to the one implemented by this commit.
For instance, RFC 2136 specifies the behaviour of a "requestor" that wants
to update a zone using the DNS UPDATE mechanism. The requestor tries to
contact all authoritative name servers for the zone, with the following
behaviour specified in RFC 2136, Section 4:
4.6. If a response is received whose RCODE is SERVFAIL or NOTIMP, or
if no response is received within an implementation dependent timeout
period, or if an ICMP error is received indicating that the server's
port is unreachable, then the requestor will delete the unusable
server from its internal name server list and try the next one,
repeating until the name server list is empty. If the requestor runs
out of servers to try, an appropriate error will be returned to the
requestor's caller.
2017-02-06 21:09:11 +00:00
Josh Soref
730c6745f0
Comprehensive spelling/typo fixes.
...
Thanks to Josh Soref for generating these fixes.
2017-02-06 16:14:04 +00:00
Simon Kelley
d42d4706bb
Make --localise-queries apply to names from --interface-name.
2017-02-02 16:52:06 +00:00
Simon Kelley
0740e43e20
Fix rrfilter bug leading to malformed replies.
...
Bug tickled by Nominum upstream when DNSSEC enabled, due to
unusual order of RRs in reply from upstream server.
2017-01-26 18:02:54 +00:00
Simon Kelley
903df07bcb
Detect and error loops in --cname configuration.
2017-01-19 17:22:00 +00:00
Simon Kelley
0ef1334d78
Tweak start-up logging
2017-01-15 16:42:39 +00:00
Reiter Wolfgang
5eb9dde09c
Fix getsockname error return check.
2017-01-08 17:39:06 +00:00
Simon Kelley
ae3154aca9
Additional syntax check on MAC wildcards.
2017-01-01 22:59:46 +00:00
Simon Kelley
3ebe62d1b7
Merge branch 'master' of ssh://thekelleys.org.uk/var/cache/git/dnsmasq
2017-01-01 22:42:31 +00:00
ZHAO Yu
f89cae3ecf
Add DNSMASQ_REQUESTED_OPTIONS env-var to lease change script.
2016-12-22 22:32:31 +00:00
Simon Kelley
09b768efa4
Bump TCP connection backlog from 5 to 32.
2016-12-22 22:16:58 +00:00
Simon Kelley
a1d973f987
Allow multiple CNAMEs in a single --cname= option.
2016-12-22 22:09:50 +00:00
Simon Kelley
0682b7795c
Debian packaging update.
2016-12-14 17:59:45 +00:00
Simon Kelley
b637d7815d
Allow wildcard CNAME records in authoritative zones.
2016-12-13 16:44:11 +00:00
Kevin Darbyshire-Bryant
7ac9ae1125
Compile time option NO_ID
...
Some consider it good practice to obscure software version numbers to
clients. Compiling with -DNO_ID removes the *.bind info structure.
This includes: version, author, copyright, cachesize, cache insertions,
evictions, misses & hits, auth & servers.
2016-09-09 20:52:08 +01:00
Simon Kelley
c6af3a32f2
Support cross-builds in Debian packaging.
2016-08-31 22:38:48 +01:00
Simon Kelley
16800ea072
Fix crash introduced in 2675f20615
2016-08-30 23:07:06 +01:00
Simon Kelley
b5e33ae53a
Log ipset errors.
2016-08-28 21:26:42 +01:00
Peter Wu
3c0c1111fe
Improve --address and --ipset docs, fix --help output
...
Manual page: clarify that the --address and --ipset options take one or
more domains rather than just two. Clarify that --ipset puts addresses
in all ipsets, it is not a 1:1 mapping from addresses.
Also increase the width for options output in --help, some options were
truncated leading to confusing output. Almost all options and
descriptions are now within the 120 colums limit.
2016-08-28 20:53:09 +01:00
Beniamino Galvani
2675f20615
Handle binding upstream servers to an interface
...
(--server=1.2.3.4@eth0) when the named interface
is destroyed and recreated in the kernel.
2016-08-28 20:44:05 +01:00
Simon Kelley
e94ad0fa01
Suppress useless warning about DHCP packets of interfaces without addresses.
...
This only makes sense for interfaces which we're configured to listen on.
Thanks to Andrew Shadura for bug report.
2016-08-28 18:09:17 +01:00
Simon Kelley
396750cef5
Refactor openBSD pftables code to remove blatant copyright violation.
2016-08-13 22:34:11 +01:00
Simon Kelley
6c45519e18
2.76-3 debian release.
2016-08-13 21:49:17 +01:00
Simon Kelley
6d95099c56
Handle v4-mapped IPv6 addresses sanely for --synth-domain.
2016-08-11 23:38:54 +01:00
Simon Kelley
c8328ecde8
Bump auth zone serial when reloading /etc/hosts and friends.
2016-08-05 16:54:58 +01:00
Mathias Kresin
094bfaeb4f
auth-zone: allow to exclude ip addresses from answer.
2016-07-24 14:15:22 +01:00
Simon Kelley
bf4e62c19e
Compile-time check on buffer sizes for leasefile parsing code.
2016-07-22 21:37:59 +01:00
Simon Kelley
6b1c464d6d
Don't reset packet length on transmission, in case of retransmission.
2016-07-22 20:59:16 +01:00
Simon Kelley
fa78573778
Zero packet buffers before building output, to reduce risk of information leakage.
2016-07-22 20:56:01 +01:00
Simon Kelley
cd2ddb9904
Debian systemd bugfix.
2016-07-16 22:23:49 +01:00
Simon Kelley
9bb3998da4
Merge 2.76-1.2 Debian NMU.
2016-07-16 22:06:01 +01:00
Simon Kelley
d6dce53e08
malloc(); memset() -> calloc() for efficiency.
2016-07-11 21:34:31 +01:00
Kevin Darbyshire-Bryant
06093a9a84
Fix problem with --dnssec-timestamp
...
whereby receipt of SIGHUP would erroneously engage timestamp checking.
2016-07-11 21:03:27 +01:00
Ivan Kokshaysky
1d07667ac7
Fix logic error in Linux netlink code.
...
This could cause dnsmasq to enter a tight loop on systems
with a very large number of network interfaces.
2016-07-11 18:36:05 +01:00
Simon Kelley
591ed1e905
Fix bad behaviour with some DHCP option arrangements.
...
The check that there's enough space to store the DHCP agent-id
at the end of the packet could succeed when it should fail
if the END option is in either of the oprion-overload areas.
That could overwrite legit options in the request and cause
bad behaviour. It's highly unlikely that any sane DHCP client
would trigger this bug, and it's never been seen, but this
fixes the problem.
Also fix off-by-one in bounds checking of option processing.
Worst case scenario on that is a read one byte beyond the
end off a buffer with a crafted packet, and maybe therefore
a SIGV crash if the memory after the buffer is not mapped.
Thanks to Timothy Becker for spotting these.
2016-07-11 18:18:42 +01:00
Kristjan Onu
907efeb2dc
Manpage typo.
2016-07-10 22:37:57 +01:00
Simon Kelley
beea62cb66
Update .gitignore for change contrib/wrt -> contrib/lease-tools.
2016-07-10 22:13:57 +01:00
Simon Kelley
5874f3e922
Fix editing error on man page.
...
Thanks to Eric Westbrook for spotting this.
2016-07-10 22:12:08 +01:00
zeha@debian.org
04cb536f16
Merge 2.67-1.1 Debian NMU.
2016-07-06 22:30:10 +01:00
Simon Kelley
8ee8524016
Bump Debian version.
2016-07-06 22:23:22 +01:00
Simon Kelley
ce7845bf54
Check return of expand() always.
2016-07-06 21:42:27 +01:00
Simon Kelley
d55f81f5fd
Zero newly malloc'ed memory.
2016-07-06 21:33:56 +01:00
Simon Kelley
294d36df47
Calculate length of TFTP error reply correctly.
2016-07-06 21:30:25 +01:00
Simon Kelley
f186bdcbc7
Fix debian changelog.
2016-05-18 15:51:54 +01:00
Jan Psota
ed1bd54b5c
Update Polish translation.
...
Thanks to Jan Psota.
2016-05-18 15:16:29 +01:00
Simon Kelley
da2cad4b14
Doc about --pxe-service basename change into CHANGELOG.
2016-05-18 15:14:08 +01:00
Simon Kelley
0a4a04969d
Final PXE tweak, and release-note to reflect changes.
2016-05-15 20:13:45 +01:00
Sergey Nechaev
45cb8dd9be
Stricter command line args validation to dhcp_release6.
2016-05-14 21:36:15 +01:00
Simon Kelley
88b09aaddc
Merge messages into translation files.
2016-05-14 20:56:02 +01:00
Simon Kelley
fe71bba356
Tweak UEFI workaround code.
2016-05-14 20:50:45 +01:00
Simon Kelley
cbc100fc81
Tweak CSAs affected by UEFI PXE workaround code.
2016-05-11 22:17:18 +01:00
Simon Kelley
68bea10bbf
Fix error in PXE arch names and add ARM32 and ARM64.
2016-05-11 22:15:06 +01:00
Simon Kelley
8628cd603f
Workaround for UEFI PXE boot problems.
2016-05-10 17:31:48 +01:00
Neil Jerram
ff325644c7
Fix for DHCP in transmission interface when --bridge-interface in use.
...
From f3d832b41f44c856003517c583fbd7af4dca722c Mon Sep 17 00:00:00 2001
From: Neil Jerram <Neil.Jerram@metaswitch.com >
Date: Fri, 8 Apr 2016 19:23:47 +0100
Subject: [PATCH] Fix DHCPv4 reply via --bridge-interface alias interface
Sending a DHCPv4 reply through a --bridge-interface alias interface
was inadvertently broken by
commit 65c7212000
Author: Lung-Pin Chang <changlp@cs.nctu.edu.tw >
Date: Thu Mar 19 23:22:21 2015 +0000
dhcp: set outbound interface via cmsg in unicast reply
If multiple routes to the same network exist, Linux blindly picks
the first interface (route) based on destination address, which might not be
the one we're actually offering leases. Rather than relying on this,
always set the interface for outgoing unicast DHCP packets.
because in the aliasing case, iface_index is changed from the index of
the interface on which the packet was received, to be the interface
index of the 'bridge' interface (where the DHCP context is expected to
be defined, and so needs to be looked up).
For the cmsg code that the cited commit added, we need the original
iface_index; so this commit saves that off before the aliasing code
can change it, as rcvd_iface_index, and then uses rcvd_iface_index
instead of iface_index for the cmsg code.
2016-05-03 22:49:46 +01:00
Simon Kelley
b97026035e
Limit number of upstream nameservers when logging configuration.
2016-05-03 22:34:06 +01:00
Simon Kelley
69cbf78bb6
Add contrib/lease-tools/dhcp_release6
2016-05-03 21:33:38 +01:00
Simon Kelley
c6cdf6bbee
Move dhcp_release and dhcp_lease_time to contrib/lease_tools.
2016-05-03 21:14:14 +01:00
Simon Kelley
09217a1a87
Add --help to manpage .
2016-05-03 17:04:35 +01:00
Simon Kelley
332c41e2ff
Debian init.d script fix.
2016-05-01 22:36:46 +01:00
Simon Kelley
2c0c36f54b
Fix problem with IPv6 in new ARP-search code.
2016-05-01 20:57:08 +01:00
Simon Kelley
d6b749af91
Fix typo in SDBM hash function.
...
Thanks to Luis Carvalho for spotting the error.
2016-04-25 17:05:15 +01:00
Simon Kelley
14ffa0770b
Fix init of per server EDNS UDP packet size.
2016-04-25 16:36:44 +01:00
Simon Kelley
87985855ad
Remove pre-existing EDNS0_OPTION_NOMDEVICEID if MAC address unknown.
2016-04-25 15:33:30 +01:00
Simon Kelley
a2bc254bed
Check return-code of inet_pton when parsing DHCPv4 options.
2016-04-21 22:41:31 +01:00
Simon Kelley
a7b27e84fa
NULL pointer check.
2016-03-16 19:11:52 +00:00
Simon Kelley
529b030228
Tidy code.
2016-03-16 19:00:45 +00:00
Simon Kelley
4caa86dd7d
Tidy.
2016-03-16 18:44:16 +00:00
Simon Kelley
e1abeeeec2
Fix memory leak in inotify code.
2016-03-16 18:12:35 +00:00
Simon Kelley
40205a053e
Bound hash-iterations in DNSSEC NSEC3 checking.
2016-03-14 21:24:00 +00:00
Simon Kelley
b8ac466209
Tidy code.
2016-03-10 18:40:53 +00:00
Simon Kelley
d1377fa3c4
Account for TFTP packet headers in IPv6 correctly.
2016-03-04 21:32:21 +00:00
Simon Kelley
fa79466c2a
Tighten syntax checking for dhcp-range and clarify man page.
2016-03-03 20:33:54 +00:00
Simon Kelley
a93bd4b016
Fix broken DNSMASQ_USER<x> envvars in script with more than one class.
2016-03-01 18:58:01 +00:00
Simon Kelley
407a1f3e95
Tidy parsing code.
2016-03-01 17:06:07 +00:00
Simon Kelley
4b6af5d53f
Fix pointer declaration botch.
2016-03-01 17:00:26 +00:00
Simon Kelley
7aa3f9af66
format fix.
2016-03-01 16:32:30 +00:00
Simon Kelley
f7cf749943
Check return code from open()
2016-03-01 16:19:23 +00:00
Simon Kelley
aa300f7167
Fix typo in last commit.
2016-03-01 15:19:13 +00:00
Simon Kelley
c7f3bd2ac8
Replace incoming EDNS0_OPTION_NOMDEVICEID and EDNS0_OPTION_NOMCPEID options.
2016-02-28 21:48:34 +00:00
Simon Kelley
22fe2fd038
Fix --add-subnet when returning empty or default subnet.
2016-02-28 17:07:10 +00:00
Simon Kelley
7480aeffc8
Apply ceiling of lease length to TTL when --dhcp-ttl in use.
2016-02-26 21:58:20 +00:00
Simon Kelley
bec366b404
Add --tftp-mtu option.
2016-02-24 22:03:26 +00:00
Simon Kelley
e06e6e34bf
Update CHANGELOG.
2016-02-24 21:26:16 +00:00
Simon Kelley
832e47beab
Add --dhcp-ttl option.
2016-02-24 21:24:45 +00:00
Simon Kelley
df3d54f776
Add TTL parameter to --host-record and --cname.
2016-02-24 21:03:38 +00:00
Simon Kelley
22c0f4fe87
Fix previous commit.
2016-02-17 22:12:31 +00:00
Simon Kelley
9e4cf47ee8
Add --add-mac=text option.
2016-02-17 20:26:32 +00:00
Simon Kelley
fdc97e1383
Avoid divide-by-zero when dhcp-range is a whole /64
2016-02-13 17:47:17 +00:00
S L
a18bf3149a
Avoid losing timer when deleting a RA context.
2016-02-12 17:36:20 +00:00
Simon Kelley
1566bacb2c
Fix breakage in ARP code when IPV6 support not compiled in.
2016-02-05 14:48:25 +00:00
Simon Kelley
e6e751b066
Make names of ARP script actions consistent.
2016-02-01 17:59:07 +00:00
Andy Stormont
8de875f0fb
Fix FTBFS on illumos
2016-02-01 12:07:57 +00:00
Chris Novakovic
4ace25c5d6
Treat REFUSED (not SERVFAIL) as an unsuccessful upstream response
...
Commit 51967f9807 began treating SERVFAIL
as a successful response from an upstream server (thus ignoring future
responses to the query from other upstream servers), but a typo in that
commit means that REFUSED responses are accidentally being treated as
successful instead of SERVFAIL responses.
This commit corrects this typo and provides the behaviour intended by
commit 51967f9 : SERVFAIL responses are considered successful (and will
be sent back to the requester), while REFUSED responses are considered
unsuccessful (and dnsmasq will wait for responses from other upstream
servers that haven't responded yet).
2016-01-25 21:54:35 +00:00
Simon Kelley
1e5051228d
Final form of configuration for EDNS0 MAC-address code.
2016-01-25 21:29:23 +00:00
Hans Dedecker
926332a764
Add --max-port config option.
2016-01-23 10:48:12 +00:00
Simon Kelley
d05dd58de1
Fix wrong reply to simple name when --domain-needed set and no servers configured.
...
Also return REFUSED and not SERVFAIL when out of memory.
Thanks to Allain Legacy for problem report.
2016-01-19 21:23:30 +00:00
Simon Kelley
f7443d76f7
Fix problems in last commit when DNSSEC not enabled.
2016-01-19 20:29:57 +00:00
Simon Kelley
f344dbc622
Complete DNSSEC server-selection code and set conntrack on DNSSEC queries.
2016-01-18 18:11:54 +00:00
Simon Kelley
f4d0c660ca
Fix sporadic crash in find_mac() - hwlen must be zero for empty entries.
2016-01-18 12:51:08 +00:00
Simon Kelley
1801a29226
Fix botch in forward.c flags code.
...
Thanks to Matthias Anfree for spotting this.
2016-01-17 21:53:57 +00:00
Simon Kelley
92be34a407
Complete work to allow DNSSEC validation with private DNS servers.
2016-01-16 18:39:54 +00:00
Simon Kelley
bb58f63ce5
arp.c tidy up.
2016-01-14 19:23:10 +00:00
Simon Kelley
367341f745
Disable DNSSEC for server=/domain/.. servers unless trust-anchor provided.
2016-01-12 15:58:23 +00:00
André Glüpker
eddf365284
Fix bad cache-size calculation when hosts-file read fails.
2016-01-12 12:54:17 +00:00
Simon Kelley
a63b8b89e6
DNSSEC: Handle non-root trust anchors, and check we have a root trust anchor.
2016-01-12 11:28:58 +00:00
Simon Kelley
5757371d43
Inhibit DNSSEC validation when forwarding to private servers for a domain.
...
server=/example.com/<ip-of-server>
The rationale is that the chain-of-trust will not be complete to
private servers. If it was, it would not be necessary to access the
server direct.
2016-01-11 22:50:00 +00:00
Simon Kelley
b633de9413
Fix FTBFS when scripts excluded at compilation time.
2016-01-06 22:51:17 +00:00
Simon Kelley
c49778df4a
Update copyright notices. Happy new year!
2016-01-06 18:52:33 +00:00
Simon Kelley
53a9173fc0
Handle building with script support enabled and DHCP disabled.
2016-01-06 17:59:13 +00:00
Simon Kelley
d917275e48
Fix botch in new arp-cache linked-list code resulting in 100% CPU spin.
2016-01-04 17:17:41 +00:00
Simon Kelley
cc7cb0b893
Fix datatype-sixe botch which broke DNSSEC sig timestamps when far in the future.
2016-01-04 16:04:51 +00:00
Simon Kelley
ec0628c4b2
Trivial code tweak.
2015-12-31 20:55:39 +00:00
Simon Kelley
97b1d25764
Correct logic for when to start helper.
2015-12-31 18:52:38 +00:00
Simon Kelley
33702ab1f8
First complete version of DNS-client-id EDNS0 and ARP tracking code.
2015-12-28 23:17:15 +00:00
Simon Kelley
11867dc28c
Cache access to the kernel's ARP table.
2015-12-23 16:15:58 +00:00
Simon Kelley
d3a8b39c7d
More EDNS0 packet-size tweaks.
2015-12-23 12:27:37 +00:00
Simon Kelley
15379ea1f2
Log signature algo with DNSKEY and DS, also digest with DS.
2015-12-21 18:31:55 +00:00
Simon Kelley
efef497b89
Fix build failure when DNSSEC code omitted.
2015-12-21 17:30:44 +00:00
Simon Kelley
5aa5f0ff2f
Truncate DNS replies >512 bytes that the client isn't expecting.
2015-12-21 17:20:35 +00:00
Simon Kelley
5bb88f0963
Handle extending EDNS0 OPT RR.
2015-12-21 16:23:47 +00:00
Simon Kelley
1d03016bbc
Split EDNS0 stuff into its own source file.
2015-12-21 14:17:06 +00:00
Simon Kelley
ce5732e84f
NSEC3 check: RFC5155 para 8.2
2015-12-20 21:39:19 +00:00
Simon Kelley
a86fdf437e
Minor tweak to previous commit.
2015-12-20 21:19:20 +00:00
Simon Kelley
3e86d316c4
Nasty, rare and obscure off-by-one in DNSSEC hostname_cmp().
2015-12-20 20:50:05 +00:00
Simon Kelley
d67ecac59d
More tweaks in handling unknown DNSSEC algorithms.
2015-12-20 20:44:23 +00:00
Simon Kelley
fa14bec83b
Major tidy up of EDNS0 handling and computation/use of udp packet size.
2015-12-20 17:12:16 +00:00
Simon Kelley
14a4ae883d
Do a better job of determining which DNSSEC sig algos are supported.
2015-12-17 17:29:57 +00:00
Simon Kelley
3b799c826d
Fix brace botch in dnssec_validate_ds()
...
Thanks to Michał Kępień for spotting this.
2015-12-17 16:58:04 +00:00
Simon Kelley
b40f26c019
Tidy up DNSSEC non-existence code. Check zone status is NSEC proof bad.
2015-12-17 11:57:26 +00:00
Simon Kelley
dd4ad9ac7e
Tweaks to EDNS0 handling in DNS replies.
2015-12-17 10:44:58 +00:00
Simon Kelley
2dbba34b2c
DNSSEC validation tweak.
...
A zone which has at least one key with an algorithm we don't
support should be considered as insecure.
2015-12-16 13:41:58 +00:00
Simon Kelley
c2bcd1e183
Generalise RR-filtering code, for use with EDNS0.
2015-12-15 17:25:21 +00:00
Simon Kelley
d64c81fff7
Move code which caches DS records to a more logical place.
2015-12-15 16:11:06 +00:00
Simon Kelley
93be5b1e02
Abandon caching RRSIGs and returning them from cache.
...
The list of exceptions to being able to locally answer
cached data for validated records when DNSSEC data is requested
was getting too long, so don't ever do that. This means
that the cache no longer has to hold RRSIGS and allows
us to lose lots of code. Note that cached validated
answers are still returned as long as do=0
2015-12-15 12:04:40 +00:00
Simon Kelley
9a31b68b59
Major rationalisation of DNSSEC validation.
...
Much gnarly special-case code removed and replaced with correct
general implementaion. Checking of zone-status moved to DNSSEC code,
where it should be, vastly simplifying query-forwarding code.
2015-12-15 10:20:39 +00:00
Simon Kelley
0007ee9064
Fix crash at start up with conf-dir=/path,*
...
Thanks to Brian Carpenter and American Fuzzy Lop for finding the bug.
2015-11-21 21:47:41 +00:00
Simon Kelley
67ab3285b5
Handle unknown DS hash algos correctly.
...
When we can validate a DS RRset, but don't speak the hash algo it
contains, treat that the same as an NSEC/3 proving that the DS
doesn't exist. 4025 5.2
2015-11-20 23:20:47 +00:00
Edwin Török
41a8d9e99b
Fix crash when empty address from DNS overlays A record from hosts.
2015-11-14 17:55:41 +00:00
Simon Kelley
90477fb794
Update list of subnet for --bogus-priv
...
RFC6303 specifies & recommends following zones not be forwarded
to globally facing servers.
+------------------------------+-----------------------+
| Zone | Description |
+------------------------------+-----------------------+
| 0.IN-ADDR.ARPA | IPv4 "THIS" NETWORK |
| 127.IN-ADDR.ARPA | IPv4 Loopback NETWORK |
| 254.169.IN-ADDR.ARPA | IPv4 LINK LOCAL |
| 2.0.192.IN-ADDR.ARPA | IPv4 TEST-NET-1 |
| 100.51.198.IN-ADDR.ARPA | IPv4 TEST-NET-2 |
| 113.0.203.IN-ADDR.ARPA | IPv4 TEST-NET-3 |
| 255.255.255.255.IN-ADDR.ARPA | IPv4 BROADCAST |
+------------------------------+-----------------------+
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk >
2015-10-20 21:21:32 +01:00
Simon Kelley
98079ea898
Catch errors from sendmsg in DHCP code.
...
Logs, eg, iptables DROPS of dest 255.255.255.255
2015-10-13 20:32:21 +01:00
Simon Kelley
4790115455
Use /run/dnsmasq instead of /var/run/dnsmasq in Debian package.
2015-09-29 22:54:41 +01:00
Simon Kelley
27b78d990b
Rationalise 5e3e464ac4
2015-09-26 21:40:45 +01:00
Simon Kelley
77607cbea0
Respect the --no-resolv flag in inotify code.
2015-09-10 23:08:43 +01:00
Simon Kelley
102208df69
DHCPv6 option 56 does not hold an address list. (RFC 5908).
2015-09-10 21:50:00 +01:00
Simon Kelley
6de81f1250
Handle signed dangling CNAME replies to DS queries.
2015-09-09 22:51:13 +01:00
Simon Kelley
20fd11e11a
Clarify man page on RDNSS set in router advertisement.
2015-08-26 22:48:13 +01:00
Simon Kelley
9cdcfe9f19
Suggest solution to ENOMEM error with IPv6 multicast.
2015-08-26 22:38:08 +01:00
Simon Kelley
5e3e464ac4
Fix behaviour of empty dhcp-option=option6:dns-server, which should inhibit sending option.
2015-08-25 23:08:39 +01:00
Simon Kelley
3a3965ac21
Don't answer non-auth queries for auth zones locally when --localise-queries set.
2015-08-09 17:45:06 +01:00
Ed Bardsley
a7369bef8a
Enhance --add-subnet to allow arbitary subnet addresses.
2015-08-05 21:17:18 +01:00
Simon Kelley
d2aa7dfbb6
Include 0.0.0.0/8 in DNS rebind checks.
2015-08-03 21:52:12 +01:00
Simon Kelley
63ec5d1264
Fix new poll() code for helper pipe. Removed CPU-spin.
2015-07-30 20:59:07 +01:00
Simon Kelley
f6381cf482
Declare utime().
2015-07-27 19:48:43 +01:00
Kevin Darbyshire-Bryant
34b5d19488
Update DNSSEC timestamp file on process TERM.
2015-07-27 19:34:23 +01:00
Conrad Kostecki
d6cb7e4815
Update german translation
2015-07-27 19:22:49 +01:00
Simon Kelley
d389e0191b
DNSSEC fix: correct logic for signed records in unsigned DNS space.
2015-07-27 18:56:43 +01:00
Simon Kelley
d3699bb6bc
Small tweak to DNSSEC fix.
2015-07-16 22:37:37 +01:00
Simon Kelley
13480e8c2a
DNSSEC fix, signed wildcard CNAME to unsigned domain.
2015-07-16 22:23:13 +01:00
Jan Psota
5b3b93f80a
Update Polish translation.
2015-07-15 19:57:47 +01:00
Simon Kelley
b69e845b1c
Close Lauchpad bug in Debian changelog.
2015-07-15 19:54:50 +01:00
Simon Kelley
90c3822bfa
Grow pollfds array exponentially.
2015-07-13 12:47:52 +01:00
Simon Kelley
c895a0626d
Merge messages for translations.
2015-07-12 21:27:40 +01:00
Simon Kelley
b842bc97bb
Use poll() instead of select() to remove limits on open file descriptors.
2015-07-12 21:09:11 +01:00
Simon Kelley
0f38fa05a6
Log message typo.
2015-07-08 22:42:14 +01:00
Simon Kelley
45c5cb1f8f
Fix compilation warning.
2015-07-08 22:40:57 +01:00
Simon Kelley
f6d6956261
Test for overflowing platform FD_SET size.
2015-07-08 22:38:13 +01:00
Simon Kelley
60176c7bf4
Bump version in Debian changelog.
2015-07-07 21:54:55 +01:00
Simon Kelley
362c9303da
Fix inotify code to handle dangling symlinks better.
2015-07-06 21:48:49 +01:00
Simon Kelley
5e95a552ee
Avoid hanngs in DHCP ping code when system time goes backwards.
2015-07-05 22:31:30 +01:00
Simon Kelley
90cb222551
--conf-file should read no file, not try and read the default file.
2015-07-05 21:59:10 +01:00
Ján Sáreník
850163288d
Manpage typo fix.
2015-07-05 21:23:27 +01:00
Simon Kelley
e3ec6f0bd7
Handle CNAMEs to DS records when confirming absence of DS for DNSSEC.
2015-06-12 21:39:11 +01:00
Simon Kelley
f7bfbdc872
Merge messages and fix makefile process to do this.
2015-06-10 22:31:02 +01:00
Neil Jerram
4918bd5505
Documenation updates for --bridge-interface and "off-link".
2015-06-10 22:23:20 +01:00
Neil Jerram
9bad339af8
Apply --bridge-interfaces to unsolicited router advertisements.
2015-06-10 22:16:35 +01:00
Neil Jerram
ba4fc0f996
Upply --bridge-interface aliasing to solicited router advertisements.
2015-06-10 22:14:49 +01:00
Neil Jerram
2fd5bc952d
Allow router advertisements to have the "off-link" bit set.
2015-06-10 22:13:06 +01:00
Neil Jerram
0ddb8769bb
Extend --bridge-interface aliasing to DHCPv6.
2015-06-10 22:11:06 +01:00
Neil Jerram
654f59e762
Fix logging of unknown interface in --bridge-interface, DHPCv4.
2015-06-10 22:06:33 +01:00
Simon Kelley
d91b1fd402
Add a couple of missed logging strings to the catalogue.
2015-06-09 20:45:07 +01:00
Nicolas Cavallari
c6d82c9ba6
Add Dbus methods to create and delete DHCP leases.
2015-06-09 20:42:20 +01:00
Simon Kelley
4d25cf89d5
Handle corner cases in NSEC coverage checks.
2015-06-06 23:13:57 +01:00
Simon Kelley
24e9207e13
More reproducibility fixes for Debian package.
2015-06-04 22:32:43 +01:00
Simon Kelley
89130d91d6
DHCPv6: DHCPCONFIRM should be OK for any address on link, not just dynamic addresses.
2015-06-03 22:34:14 +01:00
Simon Kelley
d644b2a17d
Close Debian bug for bug fixed upstream.
2015-06-01 21:00:16 +01:00
swigger
bd7bfa21c4
Correctly sanitise DNS header bits in answer when recreating query for retry.
2015-06-01 20:54:59 +01:00
Simon Kelley
403de05925
Merge branch 'master' of ssh://thekelleys.org.uk/var/cache/git/dnsmasq
2015-05-26 22:12:01 +01:00
John Hanks
46c89f2bd0
Add infiniband to example config file.
2015-05-26 22:07:57 +01:00
Christian Demsar
23facf0d77
Man page typo.
2015-05-20 20:26:23 +01:00
Simon Kelley
549b1a478c
Tweak immediately previous patch.
2015-05-20 20:20:24 +01:00
Simon Kelley
7f8565b94c
Select correct DHCP context when in PXE bootserver mode.
2015-05-19 23:01:27 +01:00
Simon Kelley
06568c6636
Remove support for DNS Extended Label Types.
...
The support was only partial, and the whole concept is
now deprecated in the standards.
2015-05-15 20:43:48 +01:00
Simon Kelley
5d07d77e75
Fix buffer overflow introduced in 2.73rc6.
...
Fix off-by-one in code which checks for over-long domain names
in received DNS packets. This enables buffer overflow attacks
which can certainly crash dnsmasq and may allow for arbitrary
code execution. The problem was introduced in commit b8f16556d ,
release 2.73rc6, so has not escaped into any stable release.
Note that the off-by-one was in the label length determination,
so the buffer can be overflowed by as many bytes as there are
labels in the name - ie, many.
Thanks to Ron Bowes, who used lcmatuf's afl-fuzz tool to find
the problem.
2015-05-15 18:13:06 +01:00
Simon Kelley
62018e1f72
Use correct DHCP context for PXE-proxy server-id.
2015-05-14 21:30:00 +01:00
Simon Kelley
7c0f2543a7
Tweak last commit.
2015-05-14 21:16:18 +01:00
Simon Kelley
ca85a28241
Allow T1 and T2 DHCPv4 options to be set.
2015-05-13 22:33:04 +01:00
Simon Kelley
585840b033
Pointer to mail-archive mailing list mirror in doc.html.
2015-05-13 12:35:57 +01:00
Simon Kelley
dec180ac00
Tweak Debian systemd unit file.
2015-05-13 12:16:13 +01:00
Simon Kelley
86fa104692
Tweak EDNS timeout code.
2015-05-10 14:04:06 +01:00
Simon Kelley
b059c96dc6
Check IPv4-mapped IPv6 addresses with --stop-rebind.
2015-05-08 20:25:51 +01:00
Simon Kelley
a77cec8d58
Handle UDP packet loss when fragmentation of large packets is broken.
2015-05-08 16:25:38 +01:00
Nicolas Cavallari
64bcff1c7c
Constify some DHCP lease management functions.
2015-04-28 21:55:18 +01:00
Simon Kelley
2ed162ac20
Don't remove RRSIG RR from answers to ANY queries when the do bit is not set.
2015-04-28 21:26:35 +01:00
Simon Kelley
e66b4dff3c
Fix argument-order botch which broke DNSSEC for TCP queries.
2015-04-28 20:45:57 +01:00
Johnny S. Lee
8efd731cc4
Make get-version work when repo is a git submodule.
2015-04-26 22:23:57 +01:00
Simon Kelley
a5ae1f8587
Logs in DHCPv6 not suppressed by dhcp6-quiet.
2015-04-25 21:46:10 +01:00
Simon Kelley
b8f16556d3
Tweaks to previous, DNS label charset commit.
2015-04-22 21:14:31 +01:00
Simon Kelley
cbe379ad6b
Handle domain names with '.' or /000 within labels.
...
Only in DNSSEC mode, where we might need to validate or store
such names. In none-DNSSEC mode, simply don't cache these, as before.
2015-04-21 22:57:06 +01:00
Simon Kelley
338b340be9
Revert 61b838dd57 and just quieten log instead.
2015-04-20 21:34:05 +01:00
Moshe Levi
a006eb7e14
Check IP address command line arg in dhcp_release.c
2015-04-19 22:10:40 +01:00
Simon Kelley
554b580e97
Log domain when reporting DNSSEC validation failure.
2015-04-17 22:50:20 +01:00
Simon Kelley
0df29f5e23
Note CVE-2015-3294
2015-04-16 15:24:52 +01:00
Stefan Tomanek
b4c0f092d8
Fix (srk induced) crash in new tftp_no_fail code.
2015-04-16 15:20:59 +01:00
Simon Kelley
78c6184752
Auth: correct replies to NS and SOA in .arpa zones.
2015-04-16 15:05:30 +01:00
Simon Kelley
38440b204d
Fix crash in auth code with odd configuration.
2015-04-12 21:52:47 +01:00
Simon Kelley
ad4a8ff7d9
Fix crash on receipt of certain malformed DNS requests.
2015-04-09 21:48:00 +01:00
Simon Kelley
04b0ac0537
Fix crash caused by looking up servers.bind when many servers defined.
2015-04-06 17:19:13 +01:00
Simon Kelley
982faf4024
Fix compiler warning when not including DNSSEC.
2015-04-03 21:42:30 +01:00
Simon Kelley
fe3992f9fa
Return INSECURE, rather than BOGUS when DS proved not to exist.
...
Return INSECURE when validating DNS replies which have RRSIGs, but
when a needed DS record in the trust chain is proved not to exist.
It's allowed for a zone to set up DNSKEY and RRSIG records first, then
add a DS later, completing the chain of trust.
Also, since we don't have the infrastructure to track that these
non-validated replies have RRSIGS, don't cache them, so we don't
provide answers with missing RRSIGS from the cache.
2015-04-03 21:25:05 +01:00
Stefan Tomanek
7aa970e2c7
Whitespace fixes.
2015-04-01 17:55:07 +01:00
Stefan Tomanek
30d0879ed5
add --tftp-no-fail to ignore missing tftp root
2015-03-31 22:32:11 +01:00
Simon Kelley
fd6ad9e481
Merge message translations.
2015-03-30 07:52:21 +01:00
Simon Kelley
794fccca7f
Fix crash in last commit.
2015-03-29 22:35:44 +01:00
Simon Kelley
394ff492da
Allow control characters in names in the cache, handle when logging.
2015-03-29 22:17:14 +01:00
Simon Kelley
1e153945de
DNSSEC fix for non-ascii characters in labels.
2015-03-28 21:34:07 +00:00
Simon Kelley
0b8a5a30a7
Protect against broken DNSSEC upstreams.
2015-03-27 11:44:55 +00:00
Simon Kelley
150162bc37
Return SERVFAIL when validation abandoned.
2015-03-27 09:58:26 +00:00
Simon Kelley
8805283088
Don't fail DNSSEC when a signed CNAME dangles into an unsigned zone.
2015-03-26 21:15:43 +00:00
Lung-Pin Chang
65c7212000
dhcp: set outbound interface via cmsg in unicast reply
...
If multiple routes to the same network exist, Linux blindly picks
the first interface (route) based on destination address, which might not be
the one we're actually offering leases. Rather than relying on this,
always set the interface for outgoing unicast DHCP packets.
2015-03-19 23:22:21 +00:00
Simon Kelley
979fe86bc8
Make --address=/example.com/ equivalent to --server=/example.com/
2015-03-19 22:50:22 +00:00
Simon Kelley
ff841ebf5a
Fix boilerplate code for re-running system calls on EINTR and EAGAIN etc.
...
The nasty code with static variable in retry_send() which
avoids looping forever needs to be called on success of the syscall,
to reset the static variable.
2015-03-11 21:36:30 +00:00
Simon Kelley
360f2513ab
Tweak DNSSEC timestamp code to create file later, removing need to chown it.
2015-03-07 18:28:06 +00:00
Simon Kelley
4c960fa90a
New version of contrib/reverse-dns
2015-03-04 20:32:26 +00:00
Simon Kelley
9003b50b13
Fix last commit to not crash if uid changing not configured.
2015-03-02 22:47:23 +00:00
Simon Kelley
f6e62e2af9
Add --dnssec-timestamp option and facility.
2015-03-01 18:17:54 +00:00
Joachim Zobel
47b9ac59c7
Log parsing utils in contrib/reverse-dns
2015-02-23 21:38:11 +00:00
Tomas Hozza
0705a7e2d5
Fix uninitialized value used in get_client_mac()
2015-02-23 21:26:26 +00:00
Chen Wei
28b879ac47
Fix trivial memory leaks to quieten valgrind.
2015-02-17 22:07:35 +00:00
Simon Kelley
caeea190f1
Make dynamic hosts files work when --no-hosts set.
2015-02-14 20:08:56 +00:00
Simon Kelley
8ff70de618
Typos.
2015-02-14 20:02:37 +00:00
Simon Kelley
ee4d1cea92
Debian systemd fixes.
2015-02-12 18:30:32 +00:00
Shantanu Gadgil
f4f400776b
Fix get-version script which returned wrong tag in some situations.
2015-02-11 20:16:59 +00:00
Chris Lamb
b467a454b4
Make Debian build reproducible.
2015-02-09 11:52:30 +00:00
Simon Kelley
efb8b5566a
man page typo.
2015-02-07 22:36:34 +00:00
Simon Kelley
f9c863708c
Extra logging for inotify code.
2015-02-03 21:52:48 +00:00
Simon Kelley
2941d3ac89
Fixup dhcp-configs after reading extra hostfiles with inotify.
2015-02-02 22:36:42 +00:00
Thiébaud Weksteen
d36b732c4c
Manpage typo fix.
2015-02-02 21:38:27 +00:00
Simon Kelley
d2c5458e31
Debian changelog bugfix.
2015-02-02 21:27:39 +00:00
Simon Kelley
8d8a54ec79
Fix build failure on openBSD.
2015-02-01 21:48:46 +00:00
Simon Kelley
1062667618
BSD make support
2015-02-01 00:15:16 +00:00
Simon Kelley
6ef15b34ca
Fix broken ECDSA DNSSEC signatures.
2015-01-31 22:44:26 +00:00
Simon Kelley
3d04f46334
inotify documentation updates.
2015-01-31 21:59:13 +00:00
Simon Kelley
aff3396280
Update copyrights for dawn of 2015.
2015-01-31 20:13:40 +00:00
Simon Kelley
70d1873dd9
Expand inotify code to dhcp-hostsdir, dhcp-optsdir and hostsdir.
2015-01-31 19:59:29 +00:00
Simon Kelley
0491805d2f
Allow inotify to be disabled at compile time on Linux.
2015-01-26 11:23:43 +00:00
Win King Wan
61b838dd57
Don't reply to DHCPv6 SOLICIT messages when not configured for statefull DHCPv6.
2015-01-21 20:41:48 +00:00
Conrad Kostecki
fbf01f7046
Update German translation.
2015-01-20 21:07:56 +00:00
Simon Kelley
5f4dc5c6ca
Add --dhcp-hostsdir config option.
2015-01-20 20:51:02 +00:00
Simon Kelley
2ae195f5a7
Don't treat SERVFAIL as a recoverable error.....
2015-01-18 22:20:48 +00:00
Simon Kelley
393415597c
Cope with multiple interfaces with the same LL address.
2015-01-18 22:11:10 +00:00
Simon Kelley
ae4624bf46
Logs for DS records consistent.
2015-01-12 23:22:08 +00:00
Simon Kelley
5e321739db
Don't answer from cache RRsets from wildcards, as we don't have NSECs.
2015-01-12 23:16:56 +00:00
Simon Kelley
9f79ee4ae3
Log port of requestor when doing extra logging.
2015-01-12 20:18:18 +00:00
RinSatsuki
28de38768e
Add --min-cache-ttl option.
2015-01-10 15:22:21 +00:00
Simon Kelley
25cf5e373e
Add --log-queries=extra option for more complete logging.
2015-01-09 15:53:03 +00:00
Simon Kelley
424c4a8a53
Merge branch 'unsigned'
2015-01-07 22:01:14 +00:00
Simon Kelley
97e618a0e3
DNSSEC: do top-down search for limit of secure delegation.
2015-01-07 21:55:43 +00:00
Yousong Zhou
d8dbd903d0
Fix race condition issue in makefile.
2015-01-05 17:03:35 +00:00
Yousong Zhou
81c538efce
Implement makefile dependencies on COPTS variable.
2015-01-03 16:36:14 +00:00
Matthias Andree
d310ab7ecb
Fix build failure in new inotify code on BSD.
2014-12-27 15:36:38 +00:00
Simon Kelley
0b1008d367
Bad packet protection.
2014-12-27 15:33:32 +00:00
Glen Huang
32fc6dbe03
Add --ignore-address option.
2014-12-27 15:28:12 +00:00
Simon Kelley
83d2ed09fc
Initialise return value.
2014-12-23 18:42:38 +00:00
Simon Kelley
fbc5205702
Fix problems validating NSEC3 and wildcards.
2014-12-23 15:46:08 +00:00
Simon Kelley
cbc6524234
Make caching work for CNAMEs pointing to A/AAAA records shadowed in /etc/hosts
...
If the answer to an upstream query is a CNAME which points to an
A/AAAA record which also exists in /etc/hosts and friends, then
caching is suppressed, to avoid inconsistent answers. This is
now modified to allow caching when the upstream and local A/AAAA
records have the same value.
2014-12-21 21:21:53 +00:00
Simon Kelley
094b5c3d90
Fix crash in DNSSEC code when attempting to verify large RRs.
2014-12-21 16:11:52 +00:00
Simon Kelley
3267804598
Tweak field width in cache dump to avoid truncating IPv6 addresses.
2014-12-17 20:38:20 +00:00
Simon Kelley
476693678e
Eliminate IPv6 privacy addresses from --interface-name answers.
2014-12-17 12:41:56 +00:00
Simon Kelley
bd9520b7ad
Remove redundant IN6_IS_ADDR_ULA(a) macro defn.
2014-12-16 20:41:29 +00:00
Simon Kelley
3ad3f3bbd4
Fix breakage of --domain=<domain>,<subnet>,local
2014-12-16 18:25:17 +00:00
Simon Kelley
ad946d555d
CHANGELOG re. inotify.
2014-12-15 17:52:22 +00:00
Simon Kelley
800c5cc1e7
Remove floor on EDNS0 packet size with DNSSEC.
2014-12-15 17:50:15 +00:00
Simon Kelley
857973e6f7
Teach the new inotify code about symlinks.
2014-12-15 15:58:13 +00:00
Simon Kelley
9c448c8018
Merge branch 'inotify'
2014-12-10 17:40:03 +00:00
Simon Kelley
193de4abf5
Use inotify instead of polling on Linux.
...
This should solve problems people are seeing when a file changes
twice within a second and thus is missed for polling.
2014-12-10 17:32:16 +00:00
Hans Dedecker
98906275a0
Fix conntrack with --bind-interfaces
...
Make sure dst_addr is assigned the correct address in receive_query when OPTNOWILD is
enabled so the assigned mark can be correctly retrieved and set in forward_query when
conntrack is enabled.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com >
2014-12-09 22:22:53 +00:00
Vladislav Grishenko
b9ff5c8f43
Improve RFC-compliance when unable to supply addresses in DHCPv6
...
While testing https://github.com/sbyx/odhcp6c client I have noticed it
permanently crashes after startup.
The reason was it (odhcp6c) doesn't expect empty IA options in ADVERTISE
message without any suboptions.
Despite this validation bug of odhcp6c, dnsmasq should not generate
ADVERTISE messages with IA if there's nothing to advert per RFC 3315
17.2.2:
If the server will not assign any addresses to any IAs in a
subsequent Request from the client, the server MUST send an Advertise
message to the client that includes only a Status Code option with
code NoAddrsAvail and a status message for the user, a Server
Identifier option with the server's DUID, and a Client Identifier
option with the client's DUID.
Meanwhile it's need to add status code for every IA in REPLY message per
RFC3315 18.2.1:
If the server cannot assign any addresses to an IA in the message
from the client, the server MUST include the IA in the Reply message
with no addresses in the IA and a Status Code option in the IA
containing status code NoAddrsAvail.
So, I've changed the logic to skip IA completely from ADVERTISE messages and
to add NoAddrsAvail subcode into IA of REPLY messages.
As for overhead, yes, I believe it's ok to return NoAddrsAvail twice in IA
and in global section for compatibility with all old and new clients.
2014-10-06 14:34:24 +01:00
Tomas Hozza
3d9d2dd001
Fit example conf file typo.
2014-10-06 10:46:48 +01:00
Daniel Collins
17b475912f
Fix typo in new Dbus code.
...
Simon's fault.
2014-10-03 21:58:43 +01:00
Karl Vogel
e9828b6f66
Set conntrack mark before connect() call.
...
SO_MARK has to be done before issuing the connect() call on the
TCP socket.
2014-10-03 21:45:15 +01:00
Simon Kelley
72eba2bffc
Bump Debian version.
2014-10-03 08:50:37 +01:00
Simon Kelley
6ac3bc0452
Debian build fixes for kFreeBSD
2014-10-03 08:48:11 +01:00
Simon Kelley
00cd9d5519
crash at startup when an empty suffix is supplied to --conf-dir
2014-10-02 21:44:21 +01:00
Simon Kelley
f2658275b2
Add newline at the end of example config file.
2014-09-25 21:51:25 +01:00
Jan Psota
25e27235dd
Update Polish translation.
2014-09-23 22:16:15 +01:00
Simon Kelley
bf2db4b084
Fix CHANGELOG entry under wrong version.
2014-09-18 22:10:46 +01:00
Simon Kelley
5782649ad9
Fix bug which caused dnsmasq to become unresponsive when an interface goes.
2014-09-18 22:08:58 +01:00
Simon Kelley
288df49c96
Fix bug when resulted in NXDOMAIN answers instead of NODATA.
...
check_for_local_domain() was broken due to new code matching F_*
bits in cache entries for DNSSEC. Because F_DNSKEY | F_DS is
used to match RRSIG entries, cache_find_by_name() insists on an exact match
of those bits. So adding F_DS to the bits that check_for_local_domain()
sends to cache_find_by_name() won't result in DS records as well
as the others, it results in only DS records. Add a new bit, F_NSIGMATCH
which suitably changes the behaviour of cache_find_by_name().
2014-09-18 21:55:27 +01:00
Richard Genoud
10cfc0ddb3
Fix length->netmask conversions to avoid undefined behaviour.
2014-09-17 21:17:39 +01:00
Richard Genoud
15b1b7e9c3
Fix endian bug in --local-service code.
2014-09-17 21:12:00 +01:00
Simon Kelley
00c0f69aa5
Debian bug closure.
2014-09-16 11:22:33 +01:00
Ilya Ponetaev
51943369e3
Supply "Success" status code in reply to DHCPDECLINE.
2014-09-13 21:19:01 +01:00
Ilya Ponetaev
2d75f2e4a5
Don't reply to DHCPCONFIRM messages with no addresses in them.
2014-09-13 21:11:16 +01:00
Ilya Ponetaev
976afc93e4
Set DHCPv6 message type when returning "use multicast".
2014-09-13 20:56:14 +01:00
Ilya Ponetaev
7f68f82146
DHCPv6 REBIND messages don't need a server-id.
2014-09-13 20:52:27 +01:00
Simon Kelley
85900a246c
Revert route-information option in RA. There are problems with some clients.
...
http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2014q3/008796.html
2014-09-13 20:42:54 +01:00
Simon Kelley
b4f971a081
Update *.po files for new release.
2014-09-13 20:28:30 +01:00
Simon Kelley
3e1551a1de
Extend --conf-dir to allow filtering on file suffixes.
2014-09-09 21:46:07 +01:00
Simon Kelley
af292dae6d
Bump Debian standards version.
2014-09-09 16:01:49 +01:00
Simon Kelley
933878f2c8
Remove paypal links and icond refs from Debian package.
2014-09-09 15:59:32 +01:00
Simon Kelley
d54409dcd3
Fix debian changelog date snafu.
2014-09-09 14:06:13 +01:00
Ilya Ponetaev
5bf50af2d0
RFC4191 route information option.
2014-09-09 12:46:21 +01:00
Simon Kelley
c43b8a6326
Debian package: use dns-root-data.
2014-09-07 19:34:39 +01:00
Simon Danner
b06900d1a3
Mention name in systemd.
2014-08-18 22:19:50 +01:00
Simon Kelley
f2f02fc3fb
Merge branch 'loop'
2014-08-12 18:41:24 +01:00
Simon Kelley
aaeea9f6ed
GetLoopServers Dbus method.
2014-08-12 18:30:44 +01:00
Simon Kelley
2bb6f7735f
Missed update of DHCP lease datastructure.
2014-08-06 10:16:32 +01:00
Simon Kelley
40766e55e8
Check all servers loopiness, when any subset is changed.
2014-07-29 16:52:00 +01:00
Simon Kelley
b5ea1cc255
Add --dns-loop-detect feature.
2014-07-29 16:34:14 +01:00
Simon Kelley
6d8e8ac0fa
Tidy up previous commit.
2014-07-13 22:18:57 +01:00
Simon Kelley
24b167ada8
Fix logic for associating leases with interfaces.
...
This handles the case that more than one interface contains
the network the lease address is on, but the interfaces have different
prefix lengths. Use the longest prefix length.
2014-07-12 16:39:00 +01:00
Chen Yufei
993f8cbb1b
Don't do IPSET on Apple. Needed header files are missing.
2014-07-08 22:40:03 +01:00
Simon Kelley
47a9516980
Use event system to re-send query on new route. Tidies module boundaries.
2014-07-08 22:22:02 +01:00
Lung-Pin Chang
dc8a1b1bcf
Set interface with longest prefix in DHCP & DHCPv6 lease
...
- With nested prefixes reside on different interfaces of single host
(e.g., in 6to4, 2002::/16 on WAN and 2002:<IPv4>:<subnet>::/64 on LAN),
current matching mechanism might return the interface with shorter prefix
length instead of the longer one, if it appears later in the netlink message.
Signed-off-by: Lung-Pin Chang <changlp@cs.nctu.edu.tw >
2014-07-06 21:08:47 +08:00
Simon Kelley
cdb755c5f1
Fix FTBFS with Nettle-3.0.
2014-06-18 20:52:53 +01:00
Simon Kelley
063efb330a
Build config: add -DNO_GMP for use with nettle/mini-gmp
2014-06-17 19:49:31 +01:00
Neil Jerram
70772c9091
Allow wildcard aliases in --bridge-interface option
...
This is useful when using dnsmasq as DHCP server for a set of VMs
whose data is routed by the host instead of being bridged. In this
scenario:
- There is an unbounded set of TAP interfaces that have no IP address
at the host end.
- DHCP allocation is done from an IPv4 address range associated with a
dummy interface.
- We run dnsmasq with --interface dummy --interface tap*
--bind-dynamic, so that it listens on all the TAP interfaces, and
--bridge-interface=dummy,tap*, so that it will allocate IP addresses
via the TAP interfaces from the range associated with the dummy
interface.
2014-06-11 21:22:40 +01:00
Simon Kelley
10d8540f62
Makefile typo.
2014-06-11 20:51:27 +01:00
Simon Kelley
006c162382
Fix bug when >1 IPv6 address supplied to Dbus SetServers method.
2014-06-08 21:51:29 +01:00
Simon Kelley
6799a46605
Attribution update.
2014-06-07 21:23:34 +01:00
Daniel Collins
c4638f9e66
New DBus methods.
2014-06-07 21:21:44 +01:00
Simon Kelley
4b34f5d22f
Copyright update.
2014-06-07 20:05:08 +01:00
Simon Kelley
a0358e5ddb
Handle async notification of address changes using the event system.
2014-06-07 13:38:48 +01:00
Simon Kelley
a03f8d4c37
Suppress re-entrant calls to dhcp_construct_contexts()
2014-06-05 22:38:53 +01:00
Simon Kelley
c4a0937683
ipsets equivalent in *BSD, using pf tables.
2014-06-02 20:30:07 +01:00
Simon Kelley
2f4c4b6076
LOG error of ARP-injection fails.
2014-05-23 20:44:59 +01:00
Simon Kelley
a008a843cf
Bump Debian version.
2014-05-20 21:01:34 +01:00
Simon Kelley
d92c53e700
Debian: Dynamically create /var/run/dnsmasq when systemd in use too.
2014-05-20 21:00:02 +01:00
Simon Kelley
a754e1d7b2
Debian: Write pid-file in the correct place when using systemd.
2014-05-20 20:56:55 +01:00
Simon Kelley
8e9ffba66e
Merge branch 'mobile-ra'
...
Conflicts:
CHANGELOG
2014-05-20 20:38:25 +01:00
Simon Kelley
15a97ad6fb
Use ECC crypto in Nettle now.
2014-05-20 20:34:41 +01:00
Simon Ruderich
91f4a5e4b5
Debian/rules fixes to enable hardening.
2014-05-20 20:34:00 +01:00
Simon Kelley
0fa7e62947
Bump Debian version.
2014-05-20 19:54:25 +01:00
Andreas Metzler
62f992f06c
Debian fix: Enable dnsmasq systemd unit on install.
2014-05-11 17:53:54 +01:00
Simon Kelley
a23949d44d
Debian change: write pid-file even using systemd.
2014-05-11 17:43:29 +01:00
Simon Kelley
b692f23466
Fix DNS failure of cachesize set to zero.
2014-05-09 10:29:43 +01:00
Simon Kelley
8aa999ef69
Debian packaging fixes.
2014-05-04 21:45:26 +01:00
Conrad Kostecki
20b215f293
Update German translation.
2014-05-04 20:43:49 +01:00
Simon Kelley
e6096e643a
Another filter_rrsigs fix.
2014-05-01 18:19:12 +01:00
Simon Kelley
8938ae05ac
Get packet size right when removing pseudoheader.
2014-05-01 17:46:25 +01:00
Simon Kelley
9d1b22aac2
Fix DNSSEC validation of ANY queries.
2014-04-29 13:02:41 +01:00
Simon Kelley
1fc02680af
Do SERVFAIL, therefore continue when searching for DS in TCP path too.
2014-04-29 12:30:18 +01:00
Simon Kelley
4872aa747b
Handle SERVFAIL replies when looking for proven-nonexistence of DS.
2014-04-26 22:13:31 +01:00
Simon Kelley
7ea3d3fdca
ra-advrouter mode for RFC-3775 mobile IPv6 support.
2014-04-25 22:04:05 +01:00
Simon Kelley
50f86ce8e4
Need to fixup records in the additional section when removing DNSSEC stuff.
2014-04-24 17:59:58 +01:00
Simon Kelley
7e22cf28f8
Update doc.html - was positively antediluvian.
2014-04-24 12:05:33 +01:00
Simon Kelley
3b1b3e9d50
CHANGELOG update for 2.70 release.
2014-04-23 15:46:05 +01:00
Simon Kelley
ab72091de2
Bump Debian version.
2014-04-23 15:14:48 +01:00
Matt Comben
66f57867d8
Typo.
2014-04-23 12:28:04 +01:00
Simon Kelley
6375838445
Fix crash on TCP DNS request when DNSSEC not enabled.
2014-04-16 22:20:55 +01:00
Simon Kelley
82a14af5e7
Ensure request name in buffer for ipset lookup.
2014-04-13 20:48:57 +01:00
Simon Kelley
97dce08ed7
Add donate button to doc.html.
2014-04-11 19:05:54 +01:00
Simon Kelley
198d940af6
Update CHANGELOG/release-notes.
2014-04-09 20:36:53 +01:00
Lutz Preßler
1d7e0a36e3
ipv6.arpa -> ip6.arpa
2014-04-07 22:06:23 +01:00
Simon Kelley
10068600f8
Fix NXDOMAIN RCODE in auth PTR replies.
2014-04-03 21:16:40 +01:00
Simon Kelley
b7639d5815
Fix ipsets logging patch.
2014-03-29 09:20:07 +00:00
Wang Jian
49752b90d5
Log IPSET actions.
2014-03-28 20:52:47 +00:00
Simon Kelley
e98bd52e25
Add --dnssec-no-timecheck
2014-03-28 20:41:23 +00:00
Simon Kelley
8a8bbad0cf
Ensure ->sentto is valid for DNSSEC forwards. Otherwise retries SEGV.
2014-03-27 22:02:17 +00:00
Simon Kelley
fec216df32
Cache stats availble in CHAOS .bind domain.
2014-03-27 20:54:34 +00:00
Simon Kelley
4e1fe44428
Terminate DS-search when reaching the root via cache entries.
2014-03-26 12:24:19 +00:00
Simon Kelley
51967f9807
SERVFAIL is an expected error return, don't try all servers.
2014-03-25 21:07:00 +00:00
Tomas Hozza
b37f8b99ae
Handle failure of hash_questions()
2014-03-25 20:52:28 +00:00
Tomas Hozza
fc2833f172
Memory leak in error path.
2014-03-25 20:43:21 +00:00
Simon Kelley
490f90758d
Reorder sanity checks on UDP packet reception, to cope with failed recvfrom()
2014-03-24 22:04:42 +00:00
Simon Kelley
56618c31f6
Add dnssec-check-unsigned to example config file.
2014-03-24 21:13:49 +00:00
Simon Kelley
604f7598c2
CHANGELOG update.
2014-03-22 19:33:43 +00:00
Simon Kelley
2a7a2b84ec
Ignore DNS queries from port 0: http://www.ietf.org/mail-archive/web/dnsop/current/msg11441.html
2014-03-22 19:18:06 +00:00
Andy
3e21a1a6fa
Tidy uid defines.
2014-03-22 19:10:07 +00:00
Simon Kelley
2b29191e7c
Fix DNSSEC crash retrying to IPv6 server.
2014-03-21 11:13:55 +00:00
Simon Kelley
03431d6373
Initialise uid when creating CNAME cache record.
2014-03-20 16:25:43 +00:00
Simon Kelley
cc1a29e250
Make --quiet-dhcp apply to DHCPDISCOVER when client ignored.
2014-03-20 15:47:18 +00:00
Moritz Warning
e62e9b6187
Manpage typos.
2014-03-20 15:32:22 +00:00
Simon Kelley
19c51cfa49
Tidy and fix cache->uid handling.
...
Some CNAMES left the value of ->uid undefined.
Since there are now special values if this, for CNAMES
to interface names, that could cause a crash
if the undefined value hit the special value.
Also ensure that the special value can't arise
when the uid is encoding the source of an F_CONFIG
record, in case there's a CNAME to it.
2014-03-18 22:38:30 +00:00
Andy
d5082158ee
Ensure next_uid() can never return 0.
2014-03-17 19:50:29 +00:00
Simon Kelley
3f7483e816
Handle integer overflow in uid counter. Fixes rare crashes in cache code.
2014-03-16 22:56:58 +00:00
Simon Kelley
0c8584eabc
Warn about non-local queries once only for UDP.
2014-03-12 20:12:56 +00:00
Simon Kelley
f00690f93e
Typo
2014-03-12 20:07:12 +00:00
Simon Kelley
89b12ed35b
OPT_LOCAL_SERVICE needs up-to-date interface list too.
2014-03-06 13:27:57 +00:00
Simon Kelley
1a9a3489ec
Set --local-service in Debian package startup.
2014-03-05 15:01:08 +00:00
Simon Kelley
c8a80487cd
--local-service. Default protection from DNS amplification attacks.
2014-03-05 14:29:54 +00:00
Simon Kelley
4ea8e80dd9
Add --static to pkg-config command when appropriate.
2014-03-05 11:01:23 +00:00
Simon Kelley
c07d30dcb1
Compiler warning.
2014-03-03 14:19:19 +00:00
Simon Kelley
d588ab54d4
Man page updates for DNSSEC.
2014-03-02 14:30:05 +00:00
Simon Kelley
f8b422a7b6
KEYBLOCK LEN better as a multiple of 8.
2014-03-02 12:46:51 +00:00
Simon Kelley
29fe922b14
Can have local DS records (trust anchors).
2014-03-01 22:53:57 +00:00
Simon Kelley
8707019237
Mass edit of INSECURE->BOGUS returns for server failure/bad input.
2014-03-01 20:48:24 +00:00
Simon Kelley
d1fbb77e0f
Don't cache secure replies which we've messsed with.
2014-03-01 20:08:58 +00:00
Simon Kelley
1fbe4d2f5f
Tweak tuning params.
2014-03-01 20:03:47 +00:00
Simon Kelley
0575610fa1
Handle replies with no answers and no NS in validate_reply.
2014-03-01 18:07:57 +00:00
Simon Kelley
e3f1455850
Don't free blockdata for negative DS cache entries.
2014-03-01 17:58:28 +00:00
Simon Kelley
bd9b3cf55b
Fix off-by-one overwrite.
2014-03-01 16:12:28 +00:00
Simon Kelley
14db4212ab
Tidy.
2014-03-01 15:35:50 +00:00
Simon Kelley
00a5b5d477
Check that unsigned replies come from unsigned zones if --dnssec-check-unsigned set.
2014-02-28 18:10:55 +00:00
Simon Kelley
b8eac19177
Negative caching for DS records.
2014-02-27 14:30:03 +00:00
Simon Kelley
b47b04c846
Return INSECURE when validation fails with proved non-existent DS.
2014-02-25 23:13:28 +00:00
Simon Kelley
613ad15d02
Strip DNSSEC RRs when query doesn't have DO bit set.
2014-02-25 23:02:28 +00:00
Simon Kelley
24187530fb
Speeling.
2014-02-24 21:46:44 +00:00
Simon Kelley
a857daa351
Code cleanup.
2014-02-24 21:01:09 +00:00
Simon Kelley
f01d7be6c6
An NSEC record cannot attest to its own non-existance!
2014-02-24 20:20:00 +00:00
Simon Kelley
d387380a25
Check signer name in RRSIGs.
2014-02-23 16:20:46 +00:00
Simon Kelley
f2e4c277c4
Bugfix for last commit.
2014-02-23 15:24:26 +00:00
Simon Kelley
5107ace14a
NSEC3 validation. First pass.
2014-02-23 10:48:32 +00:00
Simon Kelley
7b1eae4f50
Add --servers-file option.
2014-02-20 13:43:28 +00:00
Simon Kelley
c152dc8492
Omit ECC from DNSSEC if nettle library is old.
2014-02-19 18:14:33 +00:00
Simon Kelley
7bcca0060f
More server cleanup.
2014-02-19 17:45:17 +00:00
Simon Kelley
d68c2ca2b7
Cleanup of server reading code, preparation, for dynamic reading from files.
2014-02-18 22:30:30 +00:00
Simon Kelley
de73a497ca
--rev-server option. Syntactic sugar for PTR queries.
2014-02-17 21:43:27 +00:00
Simon Kelley
e3ec15af10
Log BOGUS validation result when upstream sends SERVFAIL.
2014-02-13 16:56:30 +00:00
Simon Kelley
dac74312da
TYpo.
2014-02-13 16:43:49 +00:00
Simon Kelley
2ecd9bd5c0
No CD in forwarded queries unless dnssec-debug for TCP too.
2014-02-13 16:42:02 +00:00
Simon Kelley
a0ab18f6eb
Don't mess with the TTL of DNSSEC RRs.
2014-02-13 16:38:23 +00:00
Simon Kelley
ebe95a831f
Add RFC-6605 ECDSA DNSSEC verification.
2014-02-13 14:56:10 +00:00
Simon Kelley
ee4158678a
Use DS records as trust anchors, not DNSKEYs.
...
This allows us to query for the root zone DNSKEY RRset and validate
it, thus automatically handling KSK rollover.
2014-02-11 11:07:22 +00:00
Simon Kelley
83349b8aa4
Further tidying of AD and DO bit handling.
2014-02-10 21:02:01 +00:00
Simon Kelley
7fa836e105
Handle validation when more one key is needed.
2014-02-10 20:11:24 +00:00
Simon Kelley
1633e30834
Fix Byte-order botch: broke DNSSEC on big-endian platforms.
2014-02-10 16:42:46 +00:00
Simon Kelley
c8ca33f810
Fix DNSSEC caching problems: incomplete RRSIG RRsets.
2014-02-10 10:35:42 +00:00
Simon Kelley
e243c072b5
AD bit in queries handled as RFC6840 p5.7
2014-02-06 18:14:09 +00:00
Simon Kelley
da4f372271
Add trust-anchors file to Debian package.
2014-02-06 15:21:37 +00:00
Simon Kelley
610e782a29
Fix stack-smashing crash in DNSSEC. Thanks to Henk Jan Agteresch.
2014-02-06 14:45:17 +00:00
Simon Kelley
854cf26907
DNSSEC config in example file.
2014-02-06 12:07:10 +00:00
Simon Kelley
bb201c211a
Protect against malicious DNS replies with very large RRsets.
2014-02-06 12:01:05 +00:00
Simon Kelley
12fae49fff
Make RR work when returning A/AAAA records and an RRSIG.
2014-02-04 22:03:06 +00:00
Jesse Glick
fd372273bd
Updated version of contrib/try-all-ns
2014-02-04 20:20:35 +00:00
Simon Kelley
b98d22c191
Linking stuff. Latest Debian/Ubuntu don't automatically link gmp.
2014-02-04 18:09:30 +00:00
Simon Kelley
160f6507c3
Make DNSEC default, add build-depends for same, bump version.
2014-02-04 16:49:41 +00:00
Simon Kelley
613d6c5249
CHANGLEOG for DNSSEC.
2014-02-04 11:50:11 +00:00
Simon Kelley
81a883fda3
Format tweak.
2014-02-03 21:17:04 +00:00
Simon Kelley
40b695c1f1
Log NXDOMAIN correctly.
2014-02-03 17:07:51 +00:00
Simon Kelley
5f938534a9
Return configured DNSKEYs even though we don't have RRSIGS for them.
2014-02-03 16:44:32 +00:00
Simon Kelley
8d718cbb3e
Nasty cache failure and memory leak with DNSSEC.
2014-02-03 16:27:37 +00:00
Simon Kelley
f6a2b79310
Validate Ooops.
2014-02-01 14:54:26 +00:00
Simon Kelley
82e3f45a9f
Blockdata fixes and tuning.
2014-01-31 21:05:48 +00:00
Simon Kelley
072e81b3c5
Blockdata leak.
2014-01-31 12:42:54 +00:00
Simon Kelley
1d97ac4fd2
copy-n-paste error.
2014-01-31 11:12:27 +00:00
Simon Kelley
db73746620
Anounce DNSSEC at startup.
2014-01-31 10:32:45 +00:00
Simon Kelley
97bc798b05
Init ->dependent field in frec allocation.
2014-01-31 10:19:52 +00:00
Simon Kelley
edc231bc58
Compiler warning.
2014-01-31 09:52:50 +00:00
Simon Kelley
b85e092e23
Add a file containing current root trust anchors, for convenience.
2014-01-30 09:49:28 +00:00
Simon Kelley
583043f527
Crash in cache code when compiled with HAVE_DNSSEC.
2014-01-28 14:54:46 +00:00
Simon Kelley
8f6213cce9
Allow use of COPTS in Debian rules invokation for nefarious purposes.
2014-01-28 11:16:49 +00:00
Simon Kelley
00ec693db8
Debian package with DNSSEC now possible.
...
DNSSEC will eventually become opt-out and when that happens
I'll add libnettle build-depends. For now, build with
fakeroot debian/rules DEB_BUILD_OPTIONS=usednssec
to get DNSSEC support.
2014-01-28 11:08:57 +00:00
Simon Kelley
70b4a818ef
Man page entries for DNSSEC flags.
2014-01-27 22:38:48 +00:00
Simon Kelley
7c28612a59
Trivial format fix.
2014-01-27 21:38:11 +00:00
Simon Kelley
6f4681034e
Code tidy.
2014-01-26 23:39:17 +00:00
Simon Kelley
6938f3476e
Don't mark answers as DNSEC validated if DNS-doctored.
2014-01-26 22:47:39 +00:00
Simon Kelley
17fb9ea763
Exclude CRC code in DNSSEC build - replaced with SHA1.
2014-01-26 09:36:54 +00:00
Simon Kelley
7d23a66ff0
Remove --dnssec-permissive, pointless if we don't set CD upstream.
2014-01-26 09:33:21 +00:00
Simon Kelley
703c7ff429
Fix to last commit.
2014-01-25 23:46:23 +00:00
Simon Kelley
8a9be9e493
Replace CRC32 with SHA1 for spoof detection in DNSSEC builds.
2014-01-25 23:17:21 +00:00
Simon Kelley
c92f0083a2
Get AA flag right in DNSSEC answers from cache.
2014-01-25 18:43:59 +00:00
Simon Kelley
b5dbfd142a
RRSIG answer logging.
2014-01-25 18:19:51 +00:00
Simon Kelley
cbf13a2a6d
Class specifier in --dnskey, instead of hardwiring C_IN.
2014-01-25 17:59:14 +00:00
Simon Kelley
5b3bf92101
--dnssec-debug
2014-01-25 17:03:07 +00:00
Simon Kelley
0744ca66ad
More DNSSEC caching logic, and avoid repeated validation of DS/DNSKEY
2014-01-25 16:40:15 +00:00
Simon Kelley
2d33bda2e6
RRSIGS for PTR records from cache.
2014-01-24 22:37:25 +00:00
Simon Kelley
32f90c0fad
Tweak.
2014-01-24 10:37:36 +00:00
Simon Kelley
bce6e1bc6d
RRSIGs in DS and DNSKEY cached answers.
2014-01-23 22:02:19 +00:00
Simon Kelley
824202ef54
More DNSSEC cache readout.
2014-01-23 20:59:46 +00:00
Simon Kelley
9ebfca1e84
Compiler warning.
2014-01-23 12:11:43 +00:00
Simon Kelley
6429e421b3
Compiler warning.
2014-01-23 12:09:36 +00:00
Simon Kelley
c9bfa948c3
remove redundant headerage
2014-01-22 22:32:33 +00:00
Simon Kelley
e7829aefd8
Cache RRSIGS.
2014-01-22 22:21:51 +00:00
Simon Kelley
51ea3ca254
Caching of DNSSEC records.
2014-01-22 19:31:38 +00:00
Jonas Gorski
57ab36e77d
Tweak definition of a permanent IPv6 address on Linux.
...
The linux kernel treats all addresses with a limited lifetime as being
non permanent, but when taking over the prefix livetimes from
upstream assigned prefixes through DHCP, addresses will always have a limited
lifetime.
Still reject temporary addresses, as they indicate autoconfigured
interfaces.
Contributed by T-Labs, Deutsche Telekom Innovation Laboratories
Signed-off-by: Jonas Gorski<jogo@openwrt.org >
2014-01-22 11:34:16 +00:00
Simon Kelley
dd0e0a3995
Handle time_t wraparound more sanely.
2014-01-22 11:16:59 +00:00
Simon Kelley
6fd6dacb39
Fix loop in RR sort.
2014-01-21 20:17:40 +00:00
Simon Kelley
39048ad10b
bug fix, avoids infinite loop in forwarding code.
2014-01-21 17:33:58 +00:00
Simon Kelley
979cdf9b64
Fix to hostname_cmp, and update to canonicalisation table. RFC 4034 LIES.
2014-01-21 16:26:41 +00:00
Simon Kelley
dbf721235b
Rationalise hostname_cmp()
2014-01-21 14:28:02 +00:00
Simon Kelley
c979fa04a4
Provide for static library linking.
2014-01-21 13:45:17 +00:00
Simon Kelley
c5f4ec7d23
NSEC proof-of-non-existence.
2014-01-20 22:37:55 +00:00
Simon Kelley
5d3b87a484
Better handling of truncated DNSSEC replies.
2014-01-20 11:57:23 +00:00
Simon Kelley
72ae2f3d56
Don't validate error returns.
2014-01-19 09:54:16 +00:00
Simon Kelley
6c0cb858c1
Trivial format fix
2014-01-17 14:40:46 +00:00
Simon Kelley
e0c0ad3b5e
UDP retries for DNSSEC
2014-01-16 22:42:07 +00:00
Simon Kelley
4619d94622
Fix SEGV and failure to validate on x86_64.
2014-01-16 19:53:06 +00:00
Simon Kelley
0975a58e9b
Merge branch 'master' of ssh://central/var/cache/git/dnsmasq
2014-01-15 17:12:08 +00:00
Simon Kelley
a25720a34a
protocol handling for DNSSEC
2014-01-14 23:13:55 +00:00
Simon Kelley
cc111e0bab
Add ip6addr.h to Makefile list.
2014-01-13 21:38:19 +00:00
Simon Kelley
86bec2d399
Swap crypto library from openSSL to nettle.
2014-01-13 21:31:20 +00:00
Simon Kelley
a59ff5f3df
Merge branch 'master' of ssh://central/var/cache/git/dnsmasq
2014-01-12 22:36:12 +00:00
Simon Kelley
c3a04081ff
[fd00::} and [fe80::] special addresses in DHCPv6 options.
2014-01-11 22:18:19 +00:00
Simon Kelley
ae76242fdf
Fix missing RA RDNS option with --dhcp-option=option6:23,[::]
2014-01-10 18:15:16 +00:00
Simon Kelley
4f04476e3b
Set AD bit for address replies from /etc/hosts &c
2014-01-10 12:20:38 +00:00
Simon Kelley
1486a9c7f2
Furthet tweak to RRset sort.
2014-01-10 11:44:26 +00:00
Simon Kelley
5ada888507
RFC 4035 5.3.2 wildcard label rules.
2014-01-09 22:25:03 +00:00
Simon Kelley
5f8e58f49b
DNSSEC consolidation.
2014-01-09 17:31:19 +00:00
Simon Kelley
b8071a849a
Tweak blockdata accounting.
2014-01-09 09:41:33 +00:00
Simon Kelley
b6e9e7c32d
Handle digest lengths greater than 1 block.
2014-01-08 21:21:20 +00:00
Simon Kelley
0435d041ea
AD into cache fixes.
2014-01-08 18:22:37 +00:00
Simon Kelley
795501bc86
AD bit handling when doing validation.
2014-01-08 18:11:55 +00:00
Simon Kelley
c2207688c0
Memory stats for DNSSEC.
2014-01-08 18:04:20 +00:00
Simon Kelley
98c098bfc7
Move blockdata to it's own file.
2014-01-08 17:31:16 +00:00
Simon Kelley
c47e3ba446
Update copyright for 2014.
2014-01-08 17:07:54 +00:00
Simon Kelley
f1668d2786
New source port for DNSSEC-originated queries.
2014-01-08 16:53:27 +00:00
Simon Kelley
7d7b7b31e5
DNSSEC for TCP queries.
2014-01-08 15:57:36 +00:00
Simon Kelley
3ddacb86e9
Ensure cache is big enough to do DNSSEC.
2014-01-08 14:32:03 +00:00
Simon Kelley
60b68069cf
Rationalise DNS packet-buffer size calculations.
2014-01-08 12:10:28 +00:00
Simon Kelley
871417d45d
Handle truncated replies in DNSSEC validation.
2014-01-08 11:22:32 +00:00
Simon Kelley
65d1e3bb9b
Tweak libraries and make DNSSEC compile optional.
2014-01-08 11:00:01 +00:00
Simon Kelley
0fc2f31368
First functional DNSSEC - highly alpha.
2014-01-08 10:26:58 +00:00
Simon Kelley
c3e0b9b6e7
backup
2013-12-31 13:50:39 +00:00
Simon Kelley
6ea1f23b3f
Send correct O and M bits when advertising only deprecated prefixes.
2013-12-19 15:45:12 +00:00
Simon Kelley
963c380d13
Merge branch 'master' into dnssec
2013-12-18 17:45:31 +00:00
Simon Kelley
00238fb019
indentation fix.
2013-12-18 13:24:12 +00:00
Simon Kelley
74e6b52011
Typo in contributor name. Sorry.
2013-12-17 21:33:53 +00:00
Simon Kelley
875b8160f6
Remove unused code.
2013-12-17 17:40:32 +00:00
Simon Kelley
76ff440ebe
Ignore ",," in dhcp-host, rather than treating it as ",0,"
2013-12-17 16:29:14 +00:00
Simon Kelley
8db957dfbf
Fix endless loop with some bogu-nxdomain. Another F_CONFIG botch.
2013-12-17 15:47:10 +00:00
Simon Kelley
9d633048fe
Saving progress
2013-12-13 15:36:55 +00:00
Simon Kelley
a9b55837dc
Merge branch 'master' into dnssec
2013-12-12 14:53:46 +00:00
Simon Kelley
c352dd8f1a
Merge branch 'master' into dnssec
2013-12-12 12:16:17 +00:00
Simon Kelley
3a2371527f
Commit to allow master merge.
2013-12-12 12:15:50 +00:00
Simon Kelley
1ee9be4c3f
Implement dynamic interface discovery on *BSD
2013-12-09 16:50:19 +00:00
Simon Kelley
56ad6c9be1
Bump debian version.
2013-12-08 15:58:29 +00:00
Jan Psota
fa04c83d86
Update Polish translation.
2013-12-08 15:43:03 +00:00
Vladislav Grishenko
4c82efc5ac
Relax rules in prefix length in (IPv6) dhcp-range.
2013-12-03 16:05:30 +00:00
Simon Kelley
5f45d6a715
Update Debian changelog.
2013-12-03 13:43:56 +00:00
Simon Kelley
2329bef5ba
Check arrival interface of IPv6 requests, even in --bind-interfaces.
2013-12-03 13:41:16 +00:00
Simon Kelley
62ab3ccd3d
Only set scope_id in addresses to bind() for linklocal addresses.
...
FreeBSD complains otherwise.
2013-12-03 11:53:53 +00:00
Matthias Andree
71aaa5a791
Fix previous errno saving fix.
2013-12-03 11:20:45 +00:00
Simon Kelley
08619211f8
Garbage collect listening sockets when their address is deleted.
...
In --bind-dynamic mode, stop listening on an address when it's
removed from an interface. 6rd and 6to4 tunnels can go through
lots of addresses.
2013-12-02 14:43:48 +00:00
Simon Kelley
3dffbc3ebf
Don't overwrite errno before generating message.
2013-12-02 13:22:37 +00:00
Simon Kelley
0d6eb134f5
Do immediate RA when a prefix goes from old->current.
2013-11-26 13:30:12 +00:00
Vladislav Grishenko
50db3492e2
Fix compiler warning.
2013-11-26 11:09:31 +00:00
Vladislav Grishenko
3b19596122
Fix compiler warnings.
2013-11-26 11:08:21 +00:00
Vladislav Grishenko
d082faf3e4
Fix compiler warning.
2013-11-26 11:04:24 +00:00
Vladislav Grishenko
99e8891f85
Fix compiler warning.
2013-11-26 11:02:29 +00:00
Simon Kelley
532066ee2d
Add missing malloc() return-code check.
2013-11-26 10:14:47 +00:00
Simon Kelley
254390644a
Segfault with some CNAMEs. Also memory leak on reload of /etc/hosts.
2013-11-25 21:14:51 +00:00
Simon Kelley
241fa9c6c8
Remove arc4random, we have a good RNG and it's a portability problem.
2013-11-22 11:17:37 +00:00
Simon Kelley
e142a83296
Merge messages to .po files.
2013-11-22 10:38:55 +00:00
Simon Kelley
f7029f5c08
Extend /4 and /6 syntax to --interface-name
2013-11-21 15:10:02 +00:00
Simon Kelley
c50f25a3ea
Allow empty subnet list in --auth-zone
2013-11-21 11:29:27 +00:00
Simon Kelley
65c9b48921
Merge branch 'master' into dnssec
2013-11-17 12:34:04 +00:00
Simon Kelley
f25e6c6d33
Support /4 and /6 suffixes in interface names in --auth-server
2013-11-17 12:23:42 +00:00
Simon Kelley
587ad4f271
Fix crash introduced in 376d48c7f1
2013-11-15 15:47:51 +00:00
Simon Kelley
4452292064
When advertising ONLY deleted IPv6 prefixes, set router lifetime to zero.
2013-11-15 14:45:04 +00:00
Simon Kelley
e597dba7ec
Merge branch 'master' into dnssec
2013-11-15 11:29:21 +00:00
Simon Kelley
dd9d9ce54c
Fix problems when advertising deleted IPv6 prefixes.
2013-11-15 11:24:00 +00:00
Simon Kelley
06e54b823e
Merge branch 'master' into dnssec
2013-11-14 10:39:40 +00:00
Simon Kelley
32b4e4cb7c
Auth-DNS manpage update.
2013-11-14 10:36:55 +00:00
Simon Kelley
376d48c7f1
Allow interface name to specify subnets in --auth-zone.
2013-11-13 13:04:30 +00:00
Simon Kelley
6586e8352a
Use random address allocation for DHCPv6 temporary addresses.
2013-11-07 14:20:13 +00:00
Simon Kelley
3511a92869
Fix start-up order for making DHCPv6 DUID
...
Previously, if the DUID wasn't read from the lease-file or
script, a new one was created _after_ the helper process fork,
so for that first run, the script calls got an empty DUID.
Also, use a DUID_LL format DUID when there's no stable lease
storage, as well as when the RTC is broken. That has a chance of
evaluating to the same value on each startup.
2013-11-07 10:28:11 +00:00
Simon Kelley
44de649e5c
Make private functions "static"
2013-11-06 11:36:57 +00:00
Brad Smith
29c122af83
Fix FTBFS on openBSD-current.
2013-11-04 14:11:18 +00:00
Simon Kelley
6dbdc972c4
Fix FTBFS on OS X >=10.7 Need to select a IPv6 sockopt API.
2013-10-28 14:22:57 +00:00
Simon Kelley
7b174c250d
Fix check for local domains in CNAME case. Fixes d56a604a96
2013-10-28 13:14:03 +00:00
Jeremy Lavergne
50d7f721ee
Fix FTBFS on MacOS
2013-10-28 11:26:30 +00:00
Simon Kelley
5a4120dbfb
Merge branch 'master' into dnssec
...
Conflicts:
src/dnsmasq.h
src/forward.c
src/option.c
2013-10-25 13:16:27 +01:00
Simon Kelley
eec5c1e21c
Fix parsing of synth-domain=domain,addr,addr,prefix
2013-10-25 10:37:30 +01:00
Gildas
1f776a4aa2
Update French translation.
2013-10-25 10:05:22 +01:00
Kevin Darbyshire-Bryant
227ddad9b5
Fix logic botch in quiet-dhcp option.
2013-10-24 17:47:00 +01:00
Gildas
a9bf81ad91
Message typo.
2013-10-24 13:31:40 +01:00
Simon Kelley
6008bdbbc1
Fix botch in determining if auth query is local.
2013-10-21 21:47:03 +01:00
Simon Kelley
93bafe619d
Fix CNAME botch in auth code, also set RA flag for local queries.
2013-10-21 21:19:34 +01:00
Simon Kelley
8ab91e9f7f
Get NXDOMAIN right on non-A/AAAA query for name known via interface-name.
2013-10-21 20:50:04 +01:00
Simon Kelley
5731050062
Get NXDOMAIN right for local queries to auth zones.
2013-10-21 18:26:20 +01:00
Simon Kelley
fb63dd1345
Handle two interface-names, different interface, same name.
2013-10-21 18:19:35 +01:00
Simon Kelley
5f8002fcd7
Restore NS and SOA records to local auth queries.
2013-10-21 17:40:18 +01:00
Simon Kelley
19b1689161
Don't filter by subnet when handling local queries for auth-zones.
2013-10-20 10:19:39 +01:00
Simon Kelley
b485ed97aa
Always answer queries for authoritative zones locally, never forward.
2013-10-18 22:00:39 +01:00
René van Dorst
53c4c5c859
Fix crash at startup when dhcp-host with client-ids is present.
2013-10-18 14:05:32 +01:00
Simon Kelley
dc27e148a1
Warning when using --bind-interfaces and routeable addresses.
2013-10-16 14:33:23 +01:00
Simon Kelley
45cca58592
Fix caching of dangling CNAMEs.
2013-10-15 10:20:13 +01:00
Simon Kelley
e136725c5b
Remove RA_INTERVAL from config.h - it's configurable now.
2013-10-14 17:23:54 +01:00
Simon Kelley
486479e943
Check prefix length when contructing DHCP ranges.
2013-10-14 17:18:03 +01:00
Simon Kelley
3bb51da835
Fix d56a604a96 re ANY queries.
2013-10-14 14:20:34 +01:00
Simon Kelley
806cf78797
Better defaults for address and lifetime of RDNS option in RA.
2013-10-14 14:08:44 +01:00
Simon Kelley
3b3f441189
Log SO_BINDTODEVICE use at startup.
2013-10-11 16:33:28 +01:00
Simon Kelley
24b5a5d50b
dhcp-host selection fix for v4/v6
2013-10-11 15:19:28 +01:00
Simon Kelley
d56a604a96
CNAMEs can now point to interface names.
2013-10-11 14:39:03 +01:00
Kevin Darbyshire-Bryant
8c0b73d3a8
Add --quiet-* options.
2013-10-11 11:56:33 +01:00
Simon Kelley
6bd3a09fb8
Merge branch 'edns0'
...
Conflicts:
CHANGELOG
src/dnsmasq.h
src/option.c
2013-10-11 10:25:56 +01:00
Simon Kelley
f65b0e546b
Add sponsorship details.
2013-10-11 10:19:01 +01:00
Simon Kelley
8584c502d3
Don't do bindtodevice if --interface option not given.
2013-10-10 21:15:23 +01:00
Simon Kelley
c3edf383ff
Correct client subnet EDNS0 option number.
2013-10-10 21:09:15 +01:00
Simon Kelley
c4cd95df68
Add --ra-param and remove --force-fast-ra
2013-10-10 20:58:11 +01:00
Simon Kelley
ed4c0767b1
--add-subnet option.
2013-10-08 20:46:34 +01:00
Vic
043c271f8a
Update Spanish translation.
2013-10-04 15:09:13 +01:00
Simon Kelley
d4da20f064
Unset environment variables to script when we have no value for them.
2013-10-04 10:12:49 +01:00
Simon Kelley
903650af67
Further fixes to DHCP logging.
2013-10-03 11:43:09 +01:00
Tanguy Bouzeloc
ef1d7425e3
Fix problem in DHCPv6 vendorclass/userclass matching code.
2013-10-03 11:06:31 +01:00
Simon Kelley
1d1c795601
Tweak tag->debian package version code so rc tags are later than test ones.
2013-10-02 14:52:23 +01:00
Simon Kelley
889d8a156f
Update Polish translation.
2013-10-02 13:12:09 +01:00
Simon Kelley
b7f666ff09
Add *.po target to cannonicalise .po files received from translators.
2013-10-02 11:48:43 +01:00
Simon Kelley
e4e9b342a7
Cosmetic change to start-up logging of DHCPv6 configuration.
2013-10-02 11:03:39 +01:00
Simon Kelley
d5c35a59b0
Merge new messages into .po files.
2013-10-01 20:28:22 +01:00
Simon Kelley
2f9fd1dcc5
Fix FTBFS when NO_IPV6 defined.
2013-10-01 09:54:41 +01:00
Simon Kelley
8f3194f7ac
Do multicast interface selection portably for router advertisements.
2013-09-30 15:04:58 +01:00
Simon Kelley
10bd29265b
macscript: create file if it doesn't exist.
2013-09-27 21:07:30 +01:00
Simon Kelley
42b44a591b
Add contrib/mactable
2013-09-27 14:38:45 +01:00
Simon Kelley
a810559b24
daemon->icmp6fd is always valid when doing DHCPv6 now.
2013-09-25 15:36:00 +01:00
Simon Kelley
861c89141a
Change rules for constructing DHCPv6 ranges.
2013-09-25 15:30:30 +01:00
Simon Kelley
8939c95fd6
Don't extract MAC address from ND table when DHCPv6 request is from a relay.
2013-09-25 11:49:34 +01:00
Vladislav Grishenko
408c368fa5
Remove unused variable warnings when omitting stuff at compile-time.
2013-09-24 16:18:49 +01:00
Simon Kelley
b5d9a362b4
Fix TFTP script action, broken a few commits ago.
2013-09-24 09:44:33 +01:00
Simon Kelley
f1af2bb485
Big ugly refactor in rfc3315.c should be no behaviour changes.
2013-09-24 09:16:28 +01:00
Simon Kelley
1b55190d3f
Fix FTBFS on OpenBSD.
2013-09-23 15:28:38 +01:00
Simon Kelley
f373a15b62
Ommit option-parsing code with NO_AUTH.
2013-09-23 12:47:47 +01:00
Simon Kelley
91543f4831
Fix FTBFS when various facilities omitted at compile time.
2013-09-23 12:41:20 +01:00
Simon Kelley
d81b42d067
Prod neighbour discovery with ARP instead of PING.
2013-09-23 12:26:34 +01:00
Simon Kelley
724789de13
Merge branch 'master' of ssh://thekelleys.org.uk/var/cache/git/dnsmasq
2013-09-21 14:07:58 +01:00
Simon Kelley
8f51a29137
Fix compiler warnings.
2013-09-21 14:07:12 +01:00
Simon Kelley
c845f6eda5
Fix compiler warnings.
2013-09-21 14:02:10 +01:00
Simon Kelley
89500e31f1
Support MAC addresses in dhcp-host and dhcp-mac for DHCPv6.
2013-09-20 16:29:20 +01:00
Simon Kelley
c8f2dd8b53
Cope with DHCPv6 REQUESTs without address options.
2013-09-13 11:22:55 +01:00
Simon Kelley
ceae52df15
Add "baseline" and "bloatcheck" makefile targets
2013-09-12 15:05:47 +01:00
Simon Kelley
c2d8d3ffc4
Debian packing. remove unwanted '-' in version number using gitversion.
2013-09-11 15:52:22 +01:00
Simon Kelley
aa985beeef
Fix a couple of warnings in debian package build.
2013-09-11 10:28:39 +01:00
Simon Kelley
65e7912d31
Debian: depend on binary not source verions for dnsmasq-dnsmasq_base dependency.
2013-09-11 10:01:31 +01:00
Simon Kelley
02ed24d351
Add gitversion Debian build option.
2013-09-09 18:06:45 +01:00
Simon Kelley
6acef73052
Sponsorhip details in CHANGELOG.
2013-09-09 15:21:39 +01:00
Simon Kelley
10ae7b50f2
Don't use BINDTODEVICE on DHCP socket when relaying.
2013-09-05 20:08:01 +01:00
Simon Kelley
831b5ba12b
Debian resolvconf script update.
2013-09-05 15:36:25 +01:00
Simon Kelley
0932f9c08b
CHANGELOG update.
2013-09-05 11:30:30 +01:00
Simon Kelley
397542b213
Fix bug resulting in tight-loop when new interfaces arrive.
2013-09-05 11:27:34 +01:00
Simon Kelley
0c38719fe0
Don't crash with empty tag: in dhcp-range.
2013-09-05 10:21:12 +01:00
Simon Kelley
ff7eea27e7
Add --dhcp-relay config option.
2013-09-04 18:01:38 +01:00
Simon Kelley
687bac22db
Tidy rebase
2013-08-20 15:41:26 +01:00
Giovanni Bajo
8d41ebd8a3
Add copyright banners
2013-08-20 15:41:26 +01:00
Giovanni Bajo
4631dbf68c
DSA-NSEC3-SHA1 is an alias of DSA for signature verification.
2013-08-20 15:41:26 +01:00
Simon Kelley
4f9aefc753
Don't fight over namespace with re-implementation of strchrnul()
2013-08-20 15:41:26 +01:00
Giovanni Bajo
4b5287005f
Again make errors greppable.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
5c32841934
Implement RSA-SHA512.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
ccd1d32c3a
Make testsuite errors greppable.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
75ffc9bf15
Implement RSA-MD5.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
3af1ea8cbc
Simplify abstraction of verification algorithms (it was too flexible)
2013-08-20 15:41:25 +01:00
Giovanni Bajo
1f0dc5835b
Implement DSA-SHA1 verification algorithm.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
ed1fc98595
Untangle digestalg from verifyalg; better separation, less code duplication.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
b58fb39f24
Since extract_name() does not convert to lowercase, do it temporarly within convert_domain_to_wire().
2013-08-20 15:41:25 +01:00
Giovanni Bajo
0304d28f7e
Parse and match DS records.
2013-08-20 15:41:25 +01:00
Giovanni Bajo
f5adbb90a1
Implement digest algorithm support.
2013-08-20 15:41:24 +01:00
Giovanni Bajo
32b826e2a0
Genericize verifyalg_add_data_domain() (rename to convert_domain_to_wire()).
2013-08-20 15:41:24 +01:00
Giovanni Bajo
0937692dc6
Add rdata description for MX.
2013-08-20 15:41:24 +01:00
Giovanni Bajo
785ee80b93
Describe SOA rdata section.
2013-08-20 15:41:24 +01:00
Giovanni Bajo
f119ed382e
Simplify verifyalg_add_rdata() with new canonicalization functions.
2013-08-20 15:41:24 +01:00
Giovanni Bajo
da23c4f960
Simplify rrset_canonical_order() with new canonicalization functions.
2013-08-20 15:41:24 +01:00
Giovanni Bajo
4885d57c58
Add rdata canonicalization functions.
2013-08-20 15:41:24 +01:00
Giovanni Bajo
0db0e0c216
Fix a bug in rdlen update while decompressing a name
2013-08-20 15:41:24 +01:00
Giovanni Bajo
ec2962eacb
Fix the macro names.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
0ca895f585
Fix rrset_canonical_order() to correct handle canonicalization of domain names in RDATA.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
6299ffbe60
Start refactoring for correct handling of domain wire-format.
...
Introduce utility functions and RDATA meta-description.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
7f0485cf53
verifyalg_add_data_domain: fix for root domain ("").
2013-08-20 15:41:23 +01:00
Giovanni Bajo
02bff4f109
Implement RSASHA256.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
d1ca25ca7e
Canonicalize NS records.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
23c2176681
Process RRSIGs also in authority and additional sections.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
e83297d0f6
RSASHA1-NSEC3-SHA1 is equivalent to RSASHA1 for the purpose of RRSIG validation.
2013-08-20 15:41:23 +01:00
Giovanni Bajo
41de7442d2
Reformat some code (no semantic difference).
2013-08-20 15:41:23 +01:00
Giovanni Bajo
0852d76b58
Start implementing canonicalization of RDATA wire formats.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
a55ce08cc0
Silence a few warnings.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
dd090561bf
Convert to C-style comments.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
28f04fd647
Remove unused variable.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
50a96b62f1
Fix a validation bug when owner != signer.
...
Since owner and signer are both domain names and share the same
buffer in memory (daemon->namebuff), we need to go through a little
hoop to make sure one doesn't step on the other's toes. We don't
really need to extract the signer name until we have finished
calculating the hash of the RRset, so we postpone its extraction.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
00b963ab72
Improve logging message.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
79333a2498
Fix a bug in extract_name_no_compression.
...
When the maxlen was exactly equal to the length of the string,
the function was returning 0 because the end-of-buffer check was
misplaced.
2013-08-20 15:41:22 +01:00
Giovanni Bajo
32f82c62c8
Export skip_name function.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
4e076d746f
Debug function.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
13e435ebca
Bugfix: domain names must go through hash function in DNS format (but uncompressed!)
2013-08-20 15:41:21 +01:00
Giovanni Bajo
4b0eecbb44
Bugfix: rdata flags must go through hash function in network byte order.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
0360a524df
Implement RSA verification.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
262ac85107
verify() function must take a keydata chained buffer for input key.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
4c70046d93
Move helper functions to common header file.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
458824dcb4
Helper function to walk through keydata chained blocks.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
a7338645d7
Add a FIXME for missing logic.
2013-08-20 15:41:21 +01:00
Giovanni Bajo
776fd04754
Add cast to silence warning.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
20bccd499f
Rework the loop a little (no functionality changes)
2013-08-20 15:41:20 +01:00
Giovanni Bajo
708bcd2dd3
Call valg verify functions (unimplemented for now)
2013-08-20 15:41:20 +01:00
Giovanni Bajo
d0edff7d6e
Insert all DNSKEY/DS records into cache in one transaction.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
ccca70cb33
Change some logging messages.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
0d829ebc69
Skip non-signing keys
2013-08-20 15:41:20 +01:00
Giovanni Bajo
4137b84e4e
Postpone RRSIG processing after all DNSKEY/DS have been parsed.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
e6c2a670fe
Before using a key for validation, also verify that algorithm matches.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
47f99dd2b3
Fix argument in dnssec_parsekey() call.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
6759b99e28
Add function to extract algorithm number from context.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
3471f18130
Start parsing DNSKEY records and insert them into cache.
2013-08-20 15:41:20 +01:00
Giovanni Bajo
2ef843dd16
extract_name_no_compression: strip trailing dot.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
ce2a0f5a6a
Macros to simplify tentative parsing.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
adca3e9c4b
Refactor to use new VerifyAlg context, and start implementing logic for querying DNSKEYs.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
366dfcb907
Explicitize the context of verification algorithm.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
28c625572b
Move general macros in dnsmasq.h
2013-08-20 15:41:19 +01:00
Giovanni Bajo
02f9b76418
Rename key cache field.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
ba8badd6df
Fix bug in keydata_alloc()
2013-08-20 15:41:19 +01:00
Giovanni Bajo
0decc869ae
Fix rrset qsort comparison function.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
b573aebc09
Add skeleton for RSASHA256.
2013-08-20 15:41:19 +01:00
Giovanni Bajo
d31d057aa3
Remove useless endian-conversion after GETLONG().
2013-08-20 15:41:18 +01:00
Giovanni Bajo
6445c8ed73
Fix off-by-one in iteration.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
382e38f494
Specify the correct place where to canonicalize RR within RRset.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
9940aba9f6
Initial openssl RSASHA1 implementation (only SHA1 for now).
2013-08-20 15:41:18 +01:00
Giovanni Bajo
7e846b9858
Add openssl support to build machinery.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
d322de0613
Further abstract API of verify crypto.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
b98f771519
Filter out invalid characters in domain names.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
c7a93f6e4e
Skip trailing \0 in domain name.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
970ce22b68
Augment verify algorithm table.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
e292e93d35
Initial dnssec structure.
2013-08-20 15:41:18 +01:00
Giovanni Bajo
fa164d459f
DNSSEC validation require EDNS0, force larger packet size.
2013-08-20 15:41:17 +01:00
Giovanni Bajo
f53c79c01b
Externalize dns parsing functions.
2013-08-20 15:41:17 +01:00
Giovanni Bajo
7dbe193bee
Add run-time options to activate dnssec validation.
2013-08-20 15:41:17 +01:00
Giovanni Bajo
a669f012dd
Add dnssec RR types
2013-08-20 15:39:44 +01:00
Giovanni Bajo
237724c0c7
Rename existing DNSSEC macros into DNSSEC_PROXY.
2013-08-20 15:39:44 +01:00
Giovanni Bajo
53f84c7f62
Add compile-time macro for DNSSEC support.
2013-08-20 15:39:43 +01:00
Simon Kelley
6692a1a53f
Fix dhcp-range sanity checking.
2013-08-20 14:41:31 +01:00
Simon Kelley
a37cd7aaf5
Use tags from pxe-proxy dhcp-range statements.
2013-08-20 10:33:32 +01:00
Vladislav Grishenko
e4cdbbf521
Allow prefix :: in constructed dhcp-range.
2013-08-19 16:20:31 +01:00
Vladislav Grishenko
4568a6f842
IFACE_PERMANENT interface flag in enumeration.
2013-08-19 16:07:07 +01:00
Simon Kelley
5c72bb9e33
Silence compiler warning.
2013-08-19 14:12:59 +01:00
Vladislav Grishenko
8c3bdb4ffc
Add code to get IPv6 address lifetimes and flags for *BSD.
2013-08-19 14:04:38 +01:00
Simon Kelley
ffbad34b31
Set SOREUSEADDR as well as SOREUSEPORT on DHCP sockets when both available.
2013-08-14 15:53:57 +01:00
Simon Kelley
f086d39641
Debian package change: update resolvconf script.
2013-08-14 14:54:23 +01:00
Simon Kelley
cc4baaab0d
Fix DHCPv6 lease time calculation when client sends VL==0 or PL==0
2013-08-05 15:03:44 +01:00
Simon Kelley
66409193dc
Sanity check for dhcp-range template.
2013-08-01 20:19:32 +01:00
Simon Kelley
2937f8a040
Provide independent control over which interfaces get TFTP.
2013-07-29 19:49:07 +01:00
Simon Kelley
edf0bde0c6
Make --listen-address higher priority than --except-interface.
2013-07-29 17:21:48 +01:00
Simon Kelley
8d03046269
Add --force-fast-ra option.
2013-07-29 15:41:26 +01:00
Simon Kelley
9f48ffa1e8
Apply ceiling of configured dhcp-range leasetime to deprecated prefix adverts.
2013-07-28 15:47:04 +01:00
Simon Kelley
871d4562f1
Support RFC-4242 information-refresh-time.
2013-07-28 09:37:38 +01:00
Simon Kelley
0f371f9e1a
Remove dead code.
2013-07-27 15:15:38 +01:00
Simon Kelley
6bd109aa2f
Better job with domain for DHCPv6 information-request.
2013-07-27 15:11:44 +01:00
Simon Kelley
f7a40ec650
Tweak when old prefix returns.
2013-07-27 13:36:08 +01:00
Simon Kelley
ff1b41dc57
Merge branch 'master' of ssh://thekelleys.org.uk/var/cache/git/dnsmasq
...
Conflicts:
CHANGELOG
2013-07-27 12:32:29 +01:00
Simon Kelley
fc4c4fda05
Fix MAC address enumeration on *BSD.
2013-07-26 15:38:59 +01:00
Simon Kelley
ef1a94abaa
Advertise lost prefixes with pref_time == 0 for 2 hours.
2013-07-26 13:59:03 +01:00
Simon Kelley
d9fb0be8c7
Make --clear-on-reload apply to DBus API too.
2013-07-25 21:47:17 +01:00
Roy Marples
3f3adae6bc
DHCP FQDN option tweaks.
2013-07-25 16:22:46 +01:00
Simon Kelley
1ecbaaa382
Tweak parameter lifetimes in Router advertisements.
2013-07-25 14:19:27 +01:00
Kyle Mestery
d859ca2f9b
Allow hostnames to start with a number.
2013-07-24 13:17:54 +01:00
Simon Kelley
3953dcc7f2
Typo in name in CHANGELOG.
2013-07-03 20:40:45 +01:00
Simon Kelley
625ac28c61
Fix crash with empty DHCP string options.
2013-07-02 21:19:32 +01:00
Simon Kelley
b4b9308079
Increase timeout/number of retries in TFTP.
2013-06-19 10:31:23 +01:00
Simon Kelley
e2ba0df2d4
Don't BIND DHCP socket if more interfaces may come along later.
2013-05-31 17:04:25 +01:00
Simon Kelley
921360ce62
Add constructor-noauth: keyword
2013-05-31 14:07:22 +01:00
Simon Kelley
429805dbbc
Allow constructed ranges from interface address at end of range.
...
Also make man page on this clearer, as it's been confusing many.
2013-05-31 13:47:26 +01:00
Marcelo Salhab Brogliato
0da5e8979b
Log forwarding table overflows.
2013-05-31 11:49:06 +01:00
Simon Kelley
baa80ae512
Remove limit in prefix length in --auth-zone.
2013-05-29 16:32:07 +01:00
Simon Kelley
3e8ed78bf1
Fix option parsing for --dhcp-host.
2013-05-29 14:31:33 +01:00
Simon Kelley
48493329d6
Update Debian resolvconf script for dnscrypt-proxy integration.
2013-05-28 14:49:54 +01:00
Simon Kelley
76dd75de77
Fix hang from new interface-name code, when using TCP.
2013-05-23 10:04:25 +01:00
Simon Kelley
63fd27e35f
Debian changelog update.
2013-05-20 11:50:33 +01:00
Simon Kelley
115ac3e4d7
Generalise --interface-name to cope with IPv6 addresses.
2013-05-20 11:28:32 +01:00
Simon Kelley
cfcad42ff1
Fix failure to start with ENOTSOCK
2013-05-17 11:32:03 +01:00
Simon Kelley
3f2873d42c
Handle IPv4 interface-address labels in Linux.
2013-05-14 11:28:47 +01:00
Simon Kelley
ab915f837c
Only use ourselves as default DNS server for RA if we're doing DNS.
...
This makes RA the same as DHCP4/6
2013-04-30 10:43:09 +01:00
Simon Kelley
ddd9a6b499
replace inet_addr with inet_pton() in src/option.c
2013-04-29 17:00:21 +01:00
Simon Kelley
7abb69b5dc
Tighten checks in legal_hostname().
2013-04-29 10:52:16 +01:00
Simon Kelley
d5052fb24f
Fix FTBFS in ipset.c with old kernel headers.
2013-04-25 12:44:20 +01:00
Simon Kelley
b5a7ff42bb
Check length of synth-domain prefix.
2013-04-25 11:03:47 +01:00
Simon Kelley
48fd1c4dd6
Allow option prefix in --synth-domain.
2013-04-25 09:49:38 +01:00
Simon Kelley
2bb73af7d1
Add --synth-domain
2013-04-24 20:35:43 +01:00
Simon Kelley
86e92f9983
--dhcp-match et al now work with BOOTP as well as DHCP.
2013-04-23 11:31:39 +01:00
Simon Kelley
1c10b9de11
Note that dhcp_lease_time and dhcp_release only work for IPv4.
2013-04-23 10:58:35 +01:00
Tomas Hozza
a66d36ea11
Manpage typos.
2013-04-22 15:08:07 +01:00
Simon Kelley
aa63a21ce0
Fix regression in dhcp_lease_time utility.
2013-04-22 15:01:52 +01:00
Giacomo Tazzari
797a7afba4
Fix crash on SERVFAIL when --conntrack in use.
2013-04-22 13:16:37 +01:00
Simon Kelley
4b5ea12e90
Send TCP DNS messages in one write() call. Stops TCP stream fragmenting.
...
This is an optimisation, not a bugfix. Thanks to Jim Bos for spotting it.
2013-04-22 10:22:55 +01:00
Simon Kelley
2b6390fdc9
Bump Debian version number.
2013-04-19 10:23:50 +01:00
Simon Kelley
bd08ae67f9
Allow option number zero in encapsulated DHCP options.
2013-04-19 10:22:06 +01:00
Dave Reisner
4582c0efe7
Fix wrong size in memset() call.
...
Thanks to Dave Reisner.
2013-04-18 21:02:41 +01:00
Simon Kelley
834f36fe6d
Update French translation.
2013-04-17 13:52:49 +01:00
Simon Kelley
6f130def07
Manpage typos.
...
Thanks to Gildas Le Nadan.
2013-04-15 14:58:56 +01:00
Simon Kelley
3931a7bd85
FAQ typos.
...
Thanks to Moritz Warning.
2013-04-15 14:31:52 +01:00
Simon Kelley
d9ee9c0872
Better error check on options parsing.
2013-04-12 11:17:55 +01:00
Simon Kelley
0b0a73c1c9
Fix crash on exceeding DHCP lease limit.
2013-04-11 14:07:02 +01:00
Simon Kelley
81925ab73a
Manpage typos
2013-04-10 11:43:58 +01:00
Simon Kelley
9de1aa9b7f
Fix parsing of IAID>MAXINT in leases file.
...
Thanks to Christof Meerwald for the bug report.
2013-04-10 11:17:12 +01:00
Simon Kelley
6f9aaa93e9
->hwaddr_len must be zero always in DHCPv6 leases.
2013-04-10 10:25:26 +01:00
Simon Kelley
7e5664bdbc
Fix trivial access of un-initialised memory.
...
Thanks to sven falpin for finding this.
2013-04-09 22:28:04 +01:00
Simon Kelley
83f28bef6c
Manpage typos.
2013-04-03 14:46:46 +01:00
Simon Kelley
96c727fda6
Cope with duplicate dhcp-options with tags (last one wins).
2013-04-02 21:35:41 +01:00
Simon Kelley
49dc570a72
Manpage typo.
2013-04-02 20:27:07 +01:00
Simon Kelley
cd1e04a234
Polish translation.
2013-04-02 20:11:48 +01:00
Simon Kelley
27cb314e54
Fix endless loop when dhcp-range goes away.
2013-04-02 20:06:39 +01:00
Simon Kelley
56a1142f03
SO_REUSEPORT may be defined, but not supported.
2013-04-02 17:02:58 +01:00
Simon Kelley
5b37aa8c19
Trivial change: 0->NULL for pointer constant.
2013-04-02 16:32:25 +01:00
Simon Kelley
8ac9787350
Fix lease time calculation when using DHCPv6 relay.
2013-03-30 21:34:19 +00:00
Simon Kelley
9f9bd08af8
Merged messages.
2013-03-22 15:11:53 +00:00
Simon Kelley
4c985dac39
Indentation.
2013-03-22 14:07:38 +00:00
Simon Kelley
3d77c0460d
Typos in CHANGELOG
2013-03-22 10:03:50 +00:00
Simon Kelley
3ddad24608
Compile-in IPSET by default.
2013-03-21 17:56:06 +00:00
Simon Kelley
6e37ab595c
Send prefix-class in DHCPREPLY as well as DHCPADVERTISE.
2013-03-19 20:50:11 +00:00
Simon Kelley
a1a79edaea
Bugfix for latest DHCPv6 update.
2013-03-15 21:19:57 +00:00
Simon Kelley
49333cbdbe
Allow trailing '*' wildcard in interface names.
2013-03-15 20:30:51 +00:00
Simon Kelley
de92b479d9
Make wildcard-configured addresses work on multiple networks.
2013-03-15 18:26:23 +00:00
Simon Kelley
0f128eb58c
Clarifications for DNS-auth in man-page.
2013-03-11 21:21:35 +00:00
Simon Kelley
c630924d66
Experimental support for DHCPv6 prefix-class option.
2013-03-07 20:59:28 +00:00
Simon Kelley
ff59fc82b3
Split out context-marking from add_address.
2013-03-07 11:00:26 +00:00
Simon Kelley
52a1ae72f0
Another logic problem in refactor.
2013-03-06 22:43:26 +00:00
Simon Kelley
3a654c506f
Respect difference between no IA_{TN}A and no IA_ADDR options.
2013-03-06 22:17:48 +00:00
Simon Kelley
2763d4b51a
Fix unused variable warning.
2013-03-06 21:24:56 +00:00
Simon Kelley
e28836bf45
Fix crash in DHCPv6 renew, introduced in refactor.
2013-03-06 21:22:22 +00:00
Simon Kelley
a6ebfacf7b
Massive refactor of stateful DHCPv6. Lease multiple prefixes per client.
2013-03-06 20:54:27 +00:00
Simon Kelley
c7961075c4
Don't erroneously reject some option names in --dhcp-match
2013-02-28 15:17:58 +00:00
Simon Kelley
ab6ede7e04
Handle EINTR return from sendto() in ipset.c
2013-02-23 19:22:37 +00:00
Simon Kelley
b3538f1100
Add ipset.c to source files list in Android makefile.
2013-02-22 21:56:22 +00:00
Simon Kelley
3b323bda58
IPset support in debian build.
2013-02-22 21:55:29 +00:00
Jason A. Donenfeld
13d86c7372
Add --ipset option.
2013-02-22 21:44:08 +00:00
Simon Kelley
208fb610a6
Fix wrong DNSMASQ_LEASE_EXPIRES envar when luascript in use also.
2013-02-21 22:26:18 +00:00
Simon Kelley
4038ae2005
Fix crash in DHCPv6 information-request handler.
2013-02-19 16:47:07 +00:00
Simon Kelley
dd1721c799
DHCPv4 relay-agent options exposed to DHCP-script.
2013-02-18 21:04:04 +00:00
Simon Kelley
a21e27bc99
Support DHCP DNS server option if we're not doing DNS.
2013-02-17 16:41:35 +00:00
Simon Kelley
b0ff858e78
Fix FTBFS if HAVE_BROKEN_RTC defined.
2013-02-06 09:57:47 +00:00
Simon Kelley
54dae552b1
Fix previous commit.
2013-02-05 17:55:10 +00:00
Simon Kelley
25c4198f7c
Fix use-after-free
2013-02-05 14:56:02 +00:00
Simon Kelley
4ead40cf67
Fix use-after-free
2013-02-05 14:51:14 +00:00
Simon Kelley
04a0612e8a
Remove dead code.
2013-02-05 14:47:46 +00:00
Simon Kelley
aa608c84b4
Fix wrong syntax check.
2013-02-05 14:42:59 +00:00
Simon Kelley
38365ff040
Theoretical memory leak fix.
2013-02-05 14:35:54 +00:00
Simon Kelley
9c4270bcd9
Fix memory leak.
2013-02-04 22:07:57 +00:00
Simon Kelley
46b066565e
Don't leak sockets when getsockname fails.
2013-02-04 21:47:59 +00:00
Simon Kelley
4dc9c657ad
Memory leak.
2013-02-04 21:43:52 +00:00
Simon Kelley
39595cfe31
Fix memory leak.
2013-02-04 21:40:07 +00:00
Simon Kelley
ffa3d7d6a2
Copy-and-paste error
2013-02-04 21:35:43 +00:00
Simon Kelley
aa67fe7a8c
Catch NULL pointer deref if qdcount == 0
2013-02-04 21:32:34 +00:00
Simon Kelley
bb2509fd2c
Typo in filter_constructed_dhcp()
2013-02-04 21:25:21 +00:00
Simon Kelley
61744359de
Change copyright messages to include 2013.
2013-01-31 14:34:40 +00:00
Simon Kelley
095f62551f
Update manpage for --dhcp-authoritative DHCPv6 behaviour.
2013-01-30 11:31:02 +00:00
Simon Kelley
e25db1f273
Handle wrong interface for locally-routed packets.
2013-01-29 22:10:26 +00:00
Simon Kelley
79cb46c0e9
Man page typos.
2013-01-23 19:49:21 +00:00
Simon Kelley
22ce550e53
Correct behaviour for TCP queries to allowed address via banned interface.
2013-01-22 13:53:04 +00:00
Simon Kelley
30393100c1
Wildcard IPv6 addresses in --dhcp-host, for constructed ranges.
2013-01-17 16:34:16 +00:00
Simon Kelley
459380965a
Fix last commit.
2013-01-15 21:57:42 +00:00
Simon Kelley
21bac1bccd
Check IAID as well as CLID for lease identity.
2013-01-14 21:35:05 +00:00
Simon Kelley
b1a1b6def5
Tweak DHCP startup logging.
2013-01-11 16:28:50 +00:00
Simon Kelley
baeb3adf21
More IPv6 address allocation fixes.
2013-01-10 11:47:38 +00:00
Simon Kelley
39f6a04ca4
Better fix for interfaces without broadcast address on *BSD.
2013-01-09 19:57:47 +00:00
Simon Kelley
37c9ccebd1
DHCPv6 address allocation - same DUID, two IAIDs
2013-01-09 19:51:04 +00:00
Simon Kelley
71c73ac17c
Fix crash on startup on Solaris 11
2013-01-08 21:22:24 +00:00
Simon Kelley
c6cb7407b3
Don't do AXFR unless auth-sec-servers is set.
2013-01-07 21:55:54 +00:00
Simon Kelley
333b2ceb97
Documentation updates for auth-DNS and constructed dhcp ranges.
2013-01-07 21:46:03 +00:00
Simon Kelley
b456b9fdfe
Linked-list bug in new "use longest prefixes first" code.
2013-01-02 17:59:28 +00:00
Simon Kelley
34d0a36a1d
Man page updates
2013-01-02 11:40:56 +00:00
Simon Kelley
355736f36f
Fix auth-DNS filtering problems with contructed ranges.
2012-12-30 17:54:04 +00:00
Simon Kelley
771287be11
Wildcards in dhcp-range constructors
2012-12-30 17:38:09 +00:00
Simon Kelley
dc9476b670
Use RA_INTERVAL for lifetimes.
2012-12-29 22:08:26 +00:00
Simon Kelley
1e14cc0f48
Make it legal to have no subnet in --auth-zone, may be contructed instead.
2012-12-29 17:27:59 +00:00
Simon Kelley
55b548ae2b
Add RA_INTERVAL parameter in config.h
2012-12-29 17:13:04 +00:00
Simon Kelley
3b43646a08
Use /proc/sys/net/ipv6/conf/<iface>/mtu for RA advertised MTU.
2012-12-28 11:55:45 +00:00
Simon Kelley
3bc0d932d0
More work on lease and router lifetime calculation.
2012-12-28 11:31:44 +00:00
Simon Kelley
60225f4e75
Allow constructed prefixes in auth zones.
2012-12-28 11:29:01 +00:00
Simon Kelley
1962446269
Join multicast groups only on IPv6 addresses!
2012-12-28 11:18:09 +00:00
Simon Kelley
be37986a0f
Better error checking in DHCPv6 dhcp-range option parsing.
2012-12-23 12:01:39 +00:00
Simon Kelley
d7346a1e8c
Tweak context-construct logic.
2012-12-22 22:45:54 +00:00
Simon Kelley
87d346f6a7
saner function name
2012-12-22 22:35:11 +00:00
Simon Kelley
f0dd7f807d
Fix new-address logic and ordering for first address on new interface.
2012-12-22 22:31:58 +00:00
Simon Kelley
0c0502426f
Check for new SLAAC addresses when we add new prefixes.
2012-12-22 22:13:19 +00:00
Simon Kelley
7f035f58c6
Don't cap prefx lifetimes below RA retransmit interval.
2012-12-22 21:27:08 +00:00
Simon Kelley
81e84f8dac
preferred and valid times in bpf.c
2012-12-21 20:54:00 +00:00
Simon Kelley
55b42f6de3
Default to global, not link-local address in RA DNS field.
2012-12-21 16:53:15 +00:00
Simon Kelley
ed8b68ad06
Simplify and fix RA lifetime calculation.
2012-12-21 16:23:26 +00:00
Simon Kelley
bad7b875eb
add general flag param to iface_enumerate IPv6 callback
2012-12-20 22:00:39 +00:00
Simon Kelley
5d162f20a9
Rationalise join_multicast()
2012-12-20 14:55:46 +00:00
Simon Kelley
9d29949440
typo
2012-12-18 21:48:15 +00:00
Simon Kelley
1b75c1e61f
Per-context control over ra short period.
2012-12-18 19:55:25 +00:00
Simon Kelley
293fd0f700
Missed interface re-read path in netlink.c
2012-12-18 18:31:11 +00:00
Simon Kelley
c1be917782
DHCP context logging, more tweaks
2012-12-18 18:31:11 +00:00
Simon Kelley
bb86e858b6
Error dhcp constructors on platforms where no interface detection.
2012-12-18 18:31:11 +00:00
Simon Kelley
8445f5d2e2
Fix initialisation order.
2012-12-18 18:31:11 +00:00
Simon Kelley
72c9c3b11b
complicated DHCP context logging.
2012-12-18 18:31:11 +00:00
Simon Kelley
6e3dba3fde
Ignore template contexts where appropriate.
2012-12-18 18:31:11 +00:00
Simon Kelley
7558ecd9ac
Fix periodic loop
2012-12-18 18:31:11 +00:00
Simon Kelley
1f776932a1
First checkin of interface-address constructor mode for DHCPv6 and RA.
2012-12-18 18:31:11 +00:00
Simon Kelley
4820dce97a
Make authoritative stuff a compile-time option.
2012-12-18 18:30:30 +00:00
Simon Kelley
f8abe0c566
Fix crash in auth code for queries where class != C_IN
2012-12-15 11:59:25 +00:00
Simon Kelley
9def963c65
Bump debian version.
2012-12-14 11:58:56 +00:00
Simon Kelley
990123a937
Fix regexp foobar.
2012-12-14 11:56:15 +00:00
Simon Kelley
1d6c639310
Fix broken cache.
2012-12-14 11:19:36 +00:00
Simon Kelley
429798fd08
Allow addresses as well as interface names in --auth-server.
2012-12-10 20:45:53 +00:00
Simon Kelley
b5a8dd1dec
Fix FTBFS with NO_DHCP.
2012-12-10 11:37:25 +00:00
Simon Kelley
95a0bd3701
Add .gitignore file.
2012-12-10 11:29:03 +00:00
Simon Kelley
8ff556739e
SOA serial tweak.
2012-12-09 21:09:01 +00:00
Simon Kelley
496787677e
Zone-transfer peer restriction option.
2012-12-09 18:31:10 +00:00
Simon Kelley
e1ff419cf9
Complete AXFR support
2012-12-09 17:08:47 +00:00
Simon Kelley
ee86ce68fc
Fix TCP query forwarding to non-default servers.
2012-12-07 11:54:46 +00:00
Simon Kelley
b75e936372
First cut at zone transfer.
2012-12-07 11:50:41 +00:00
Simon Kelley
aa79235194
zero arcount.
2012-12-06 19:41:35 +00:00
Simon Kelley
7c305be1bd
Bump Debian version.
2012-12-04 20:59:06 +00:00
Simon Kelley
f7fe362721
Tidy merge.
2012-12-04 20:55:54 +00:00
Simon Kelley
36bec089f7
Merge branch 'auth'
2012-12-04 20:50:38 +00:00
Simon Kelley
45dd1fece4
Correct NS and SOA records in auth mode for PTR queries.
2012-12-04 20:49:24 +00:00
Simon Kelley
29d28dda95
Don't send RAs to the wrong place when DAD in progress.
2012-12-03 14:05:59 +00:00
Simon Kelley
421594f83d
Forgot --dhcp-except check in previous commit.
2012-12-02 12:17:35 +00:00
Simon Kelley
d89fb4ed4f
Check interface for router advertisements.
2012-12-01 21:21:13 +00:00
Simon Kelley
295a54eed3
SetDomainServers Dbus method.
2012-12-01 21:02:15 +00:00
Simon Kelley
5c0bd5b112
CNAME auth support.
2012-12-01 16:42:47 +00:00
Simon Kelley
86e3b9a026
Post-test fixes.
2012-11-30 13:46:48 +00:00
Simon Kelley
2f38141f43
Don't elide code needed for --bind-dynamic if compiled without IPv6.
2012-11-29 21:16:44 +00:00
Simon Kelley
8273ea5a19
Add MX support.
2012-11-29 21:12:33 +00:00
Simon Kelley
4f7b304f53
Initial code to do authoritative DNS.
2012-11-28 21:27:02 +00:00
Simon Kelley
8e4b87918f
Header-file dependency checking in Makefile.
2012-11-14 14:12:56 +00:00
Simon Kelley
83b2198e86
Add warning to man page, -d option
2012-11-12 21:07:44 +00:00
Simon Kelley
d1a5975f9b
No lease-time in DHCPINFORM replies.
2012-11-05 16:50:30 +00:00
Simon Kelley
52002051ad
Doc update for previous checkin.
2012-10-26 11:39:02 +01:00
Simon Kelley
b191a77901
trivial indent fix.
2012-10-24 14:16:00 +01:00
Simon Kelley
23780dd577
Set tag "dhcpv6" rather than "DHCPv6", hardwired tags in lower-case is consistent.
2012-10-23 17:04:37 +01:00
Simon Kelley
d1e9a582ad
Use dhcp-range tags when replying to DHCPv6 information-request.
2012-10-23 17:00:57 +01:00
Simon Kelley
819ff4dd0f
Wildcard IPv6 dhcp-range.
2012-10-21 18:25:12 +01:00
Simon Kelley
de604c18a0
Remove non-7-bit character from CHANGELOG
2012-10-19 09:50:01 +01:00
Simon Kelley
be6cfb42ab
Fix DHCPv6 to do access control correctly when it's configured with --listen-address.
2012-10-16 20:38:31 +01:00
Simon Kelley
2022310f95
SO_REUSEADDR and SO_V6ONLY options on DHCPv6 socket.
2012-10-15 10:41:17 +01:00
Simon Kelley
657ed09693
Add contrib/dbus-test/dbus-test.py
2012-10-12 14:45:55 +01:00
Simon Kelley
c99df938d7
Fix compilation warnings.
2012-10-12 13:39:04 +01:00
Simon Kelley
cf568a3726
Fix typos in sample config file.
2012-10-09 20:51:31 +01:00
Simon Kelley
e4807d8bb2
Fix breakage of --host-record parsing.
2012-09-27 21:52:26 +01:00
Simon Kelley
35239a302a
Tweak dhcp-config sanity checking.
2012-09-24 15:09:33 +01:00
Simon Kelley
db3946c358
Debian changelog update.
2012-09-21 17:21:05 +01:00
Simon Kelley
0d28af84d0
Set tag "DHCPv6" for v6 transactions.
2012-09-20 21:24:06 +01:00
Simon Kelley
42698cb7ab
Log ignored DHCPv6 information-requests.
2012-09-20 21:19:35 +01:00
Simon Kelley
1d860415f2
Add --max-cache-ttl option.
2012-09-20 20:48:04 +01:00
Simon Kelley
289a253569
Fix build with later Lua libraries.
2012-09-20 15:29:35 +01:00
Simon Kelley
faafb3f7b7
Add SetServersEX method in DBus interface.
2012-09-20 14:17:39 +01:00
Simon Kelley
2b127a1eab
Flag DHCP or DHCPv6 in starup logging.
2012-09-18 21:51:22 +01:00
Simon Kelley
dfb23b3f77
Don't report spurious netlink errors.
2012-09-18 21:44:47 +01:00
Simon Kelley
b269221c00
Address allocation tweaking - lease outside dhcp-range but in subnet.
2012-09-16 22:22:23 +01:00
Simon Kelley
8b46061e73
Fix DHCPv6 address allocation for some pathalogical cases.
2012-09-08 21:47:28 +01:00
Simon Kelley
4d0f5b4c44
Fix BOOTP option processing.
2012-09-05 23:29:30 +01:00
Simon Kelley
1dedeb87cc
Fix Debian package adduser dependency.
2012-09-04 21:50:52 +01:00
Simon Kelley
79cfefd856
Make pid-file creation immune to symlink attack.
2012-09-02 13:29:51 +01:00
Simon Kelley
0c0d4793ac
Tidy buffer use in DHCP startup logging.
2012-09-02 12:57:43 +01:00
Simon Kelley
12d71ed28c
Finesse the check for /etc/hosts names which conflict with DHCP names.
2012-08-30 15:16:41 +01:00
Simon Kelley
9fed0f71c2
Further tweaks to DHCP FQDN option.
2012-08-30 11:43:35 +01:00
Simon Kelley
2e34ac1403
Handle DHCP FQDN option with all flags zero and --dhcp-client-update
2012-08-29 14:15:25 +01:00
Simon Kelley
bc54ae392b
Debian packaging fixes.
2012-08-28 21:26:56 +01:00
Simon Kelley
00acd06340
Tweak get-version to do the right thing with multiple head tags.
2012-08-17 14:18:50 +01:00
Simon Kelley
476e4a03c1
Bump Debian version
2012-08-17 13:45:49 +01:00
Simon Kelley
5f11b3e5e0
Cope with --listen-address for not yet existent addr in bind-dynamic mode.
2012-08-16 14:04:05 +01:00
Simon Kelley
3169daad46
Fix TFTP access control, broken earlier in release.
2012-08-13 17:39:57 +01:00
Simon Kelley
fd05f12790
Set prefix on-link bit in RAs
2012-08-12 17:48:50 +01:00
Simon Kelley
ad094275b0
Alternate DBus service name via --enable-dbus
2012-08-10 17:10:54 +01:00
Simon Kelley
c740e4f342
Fix FTBFS when -DNO_DHCP - thanks Sung Pae.
2012-08-09 16:19:01 +01:00
Simon Kelley
132255b5da
OpenBSD build fix.
2012-08-06 20:12:04 +01:00
Simon Kelley
c4c0488ac6
Update french translation.
2012-08-06 20:09:15 +01:00
Simon Kelley
a2ce6fcc91
Man page typos
2012-08-06 20:05:48 +01:00
Simon Kelley
12090548d2
Add debian/dnsmasq-base.conffiles
2012-08-06 20:00:58 +01:00
Simon Kelley
8223cb15e7
Update FAQ to cover --bind-dynamic.
2012-07-29 20:21:57 +01:00
Simon Kelley
4ba9b38cc5
Debian package: move /etc/dbus-1/system.d/dnsmasq.conf.
2012-07-29 17:07:48 +01:00
Simon Kelley
42243214b5
"w" multiplier in lease times.
2012-07-20 15:19:18 +01:00
Simon Kelley
23245c0cb2
RFC 4242 support.
2012-07-18 16:21:11 +01:00
Simon Kelley
b271446f82
Typo.
2012-07-17 12:09:26 +01:00
Simon Kelley
611ebc5f1e
Fix broken caching of CNAME chains.
2012-07-16 16:23:46 +01:00
Simon Kelley
be0f45cdbc
Typo fix. Thanks Wieland Hoffmann.
2012-07-16 13:35:25 +01:00
Simon Kelley
9b40cbf587
Fix FTBFS when TFTP disabled.
2012-07-13 19:58:26 +01:00
Simon Kelley
c4a7f90ebb
Config parsing error-handling update.
2012-07-12 20:52:12 +01:00
Simon Kelley
9609baee41
Merge branch 'access_control'
2012-07-10 15:06:34 +01:00
Simon Kelley
395eb71931
Better log message when dhcp hosts|opts file cannot be read.
2012-07-06 22:07:05 +01:00
Simon Kelley
8bc4cecee6
Remove libvirt-inspired but never used access control features.
2012-07-03 21:04:11 +01:00
Simon Kelley
6b617c0d15
Logging library in Android build scaffold.
2012-06-29 22:11:26 +01:00
Simon Kelley
55d290a3bf
Handle pid-file location in Android.
2012-06-29 20:58:32 +01:00
Simon Kelley
e17b4b3871
Fix build-failure with -DNO_DHCP6.
2012-06-28 21:44:30 +01:00
Simon Kelley
236e072cab
Typo in BSD-only code.
2012-06-26 21:33:01 +01:00
Simon Kelley
05ff1ed7cc
Man page update.
2012-06-26 16:58:12 +01:00
Simon Kelley
2b5bae9a8f
Fall back from --bind-dynamic to --bind-interfaces in BSD, rather than quitting.
2012-06-26 16:55:23 +01:00
Simon Kelley
39f1b8e73d
Better logging of socket-creation errors.
2012-06-20 20:04:27 +01:00
Simon Kelley
af576b56c2
Tidy up - no functional change.
2012-06-20 14:17:04 +01:00
Simon Kelley
54dd393f39
Add --bind-dynamic
2012-06-20 11:23:38 +01:00
Simon Kelley
4ce4f3779b
Fix un-initialised "used" field in --listen-address structure.
...
Also remove unused "isloop" field.
2012-06-14 11:50:45 +01:00
Simon Kelley
8b3ae2fd43
Check tftp-root exists and is accessible at startup.
2012-06-13 13:43:49 +01:00
Simon Kelley
ed55cb66e6
Correct listener logic when no TFTP and no-interface listen address.
2012-06-12 21:56:29 +01:00
Simon Kelley
2cd9a0de1f
Debian systemd startup fixes for resolvconf integration.
2012-06-11 21:56:10 +01:00
Simon Kelley
c514ab9907
Update Debian changelog.
2012-06-07 15:35:08 +01:00
Simon Kelley
078a630bba
Do duplicate dhcp-host address check in --test mode.
2012-06-07 13:56:23 +01:00
Simon Kelley
43c271b07c
Debian package build - pass calculated LDFLAGS to make.
2012-06-07 10:02:53 +01:00
Simon Kelley
24ce681e51
Add instructions/patches for dbus activation to contrib/systemd.
2012-06-04 21:40:11 +01:00
Simon Kelley
5ae34bf3c8
Fix RA when interface has more than one address on the same network.
2012-06-04 21:14:03 +01:00
Simon Kelley
51931b888a
Fix access control when DHCPv6 but no RA in use.
2012-05-29 17:06:02 +01:00
Simon Kelley
9f7f3b1216
Add --dns-rr option.
2012-05-28 21:39:57 +01:00
Simon Kelley
97c83bb05b
Use dpkg-buildflags in Debian rules file.
2012-05-28 18:21:59 +01:00
Simon Kelley
8767ceecd4
Make libvirt-style access control work when only doing RA.
2012-05-21 20:54:19 +01:00
Simon Kelley
18c63eff8f
Fix non-response to router-solicitations when
...
router-advertisement configured, but DHCPv6 not
configured.
2012-05-21 14:34:15 +01:00
Simon Kelley
c64b7f6a78
Fix is_same_net6 - bugged if prefix length not divisible by 8.
2012-05-18 10:19:59 +01:00
Simon Kelley
068b4b51e3
Bump Debian version.
2012-05-12 15:25:33 +01:00
Simon Kelley
919dd7cf14
Fixed missing periodic-ras in some configurations.
2012-05-12 15:23:09 +01:00
Simon Kelley
f632e56793
Cope with router-solicit packets without valid source address.
2012-05-12 15:05:34 +01:00
Simon Kelley
2021c66251
code-size tweak
2012-05-07 16:43:21 +01:00
Simon Kelley
8358e0f4b2
Update German translation and fix CHANGELOG typos. Sorry, Conrad!
2012-04-29 21:53:09 +01:00
Simon Kelley
7f61b3ad59
Small SLAAC optimisation.
2012-04-29 16:01:28 +01:00
Simon Kelley
a9ab732e35
reconfirm SLAAC addresses when DHCPv4 leases go though INIT_REBOOT state.
2012-04-29 16:01:28 +01:00
Simon Kelley
11263a462c
isprint cast.
2012-04-29 16:01:28 +01:00
Simon Kelley
231d061b45
Tidy TXT record sanitising
2012-04-29 16:01:28 +01:00
Simon Kelley
cdbee9a40b
Find room to store key-id and digest-type in DS records.
...
->uid is now overloaded to store key length
2012-04-27 10:30:49 +01:00
Simon Kelley
7b4ad2eb34
Teach cache to store DS and DNSKEY records
2012-04-27 10:30:49 +01:00
Simon Kelley
19d69be220
CHANGELOG update.
2012-04-27 10:14:34 +01:00
Simon Kelley
04363607aa
Fix tftp-over-IPv4 regression on OpenBSD.
2012-04-27 10:11:51 +01:00
Simon Kelley
dcffad2a86
Ensure that the DBus DhcpLeaseUpdated events are generated.
2012-04-24 15:25:18 +01:00
Simon Kelley
6a69ab5ebd
Fix error-handling problem in TFTP server.
2012-04-24 14:42:26 +01:00
Simon Kelley
fc92ead0dd
CHANGELOG typo.
2012-04-22 21:28:24 +01:00
Simon Kelley
61ce600b20
--tftp-lowercase option.
2012-04-20 21:28:49 +01:00
Simon Kelley
7a14dfebbb
Tidy previous commit.
2012-04-20 20:50:42 +01:00
Simon Kelley
42fb8153ba
Sanitise filenames logged by TFTP
2012-04-20 17:15:01 +01:00
Simon Kelley
6f13e53886
Tidy up malloc-failure handling.
2012-04-17 14:25:06 +01:00
Simon Kelley
d1c759c5c1
Answer CNAME queries correctly.
2012-04-16 17:26:19 +01:00
Simon Kelley
e46164e0bd
Updated French translation.
2012-04-16 16:39:38 +01:00
Simon Kelley
7389ce7ff5
substitue non-portable tail command with sed.
2012-04-16 15:07:48 +01:00
Simon Kelley
2f77797b17
Add port option to example dnsmasq.conf
2012-04-16 14:58:53 +01:00
Simon Kelley
9380ba70d6
Set SO_BINDTODEVICE on DHCP sockets when doing DHCP on one interface
...
only. Fixes OpenSTack use-case.
2012-04-16 14:41:56 +01:00
Simon Kelley
1023dcbc9e
Don't cache DNS data from non-recursive nameservers.
2012-04-09 18:00:08 +01:00
Simon Kelley
83e854e359
Typo.
2012-04-05 13:21:58 +01:00
Simon Kelley
50303b19d8
Remove redundant send_from logging code.
2012-04-04 22:13:17 +01:00
Simon Kelley
89382bacaa
Tweak sending ICMP6 echo requests for slaac.
2012-04-04 20:48:16 +01:00
Simon Kelley
6c559c34df
tweak favicon
2012-04-02 20:40:34 +01:00
Simon Kelley
adaa6888dd
Move FIXME message to comment - having it emitted by the code is just confusing.
2012-04-02 10:02:12 +01:00
Simon Kelley
a813111379
Fix bug in tag-matching logic with negated tags.
2012-03-31 21:35:12 +01:00
Simon Kelley
18f0fb050b
RDNSS and DNSSL data in router advertisements.
2012-03-31 21:18:55 +01:00
Simon Kelley
05e92e5afe
More RA flag evolution.
2012-03-30 22:24:15 +01:00
Simon Kelley
4723d49dad
Set managed RA flag always when doing DHCP.
2012-03-30 21:04:17 +01:00
Simon Kelley
fbbc14541a
Fix off-by-one in DHCPv6 FQDN option decoding.
2012-03-30 20:48:20 +01:00
Simon Kelley
5ef33279f2
Tidying radv
2012-03-30 15:10:28 +01:00
Simon Kelley
1e02a85970
radv.c tidying.
2012-03-29 11:07:25 +01:00
Simon Kelley
0e88d53faa
Fix preprocessor checks, IP_TOS -> IPV6_TCLASS
2012-03-28 22:22:05 +01:00
Simon Kelley
01d1b8ddf2
Changelog update.
2012-03-28 21:37:25 +01:00
Simon Kelley
c8257540bc
"deprecated" lease-time keyword for IPv6
2012-03-28 21:15:41 +01:00
Simon Kelley
2240704863
DHCP start-up logging tweak
2012-03-27 14:42:48 +01:00
Simon Kelley
e8ca69ea16
Doc updates for latest RA changes.
2012-03-26 21:23:26 +01:00
Simon Kelley
da632e7cc1
Comment typo.
2012-03-26 11:14:05 +01:00
Simon Kelley
30cd96663f
More flexible RA configuration.
2012-03-25 20:44:38 +01:00
Simon Kelley
7dbe98147d
tweak ra timer code to avoid missing events.
2012-03-25 14:49:54 +01:00
Simon Kelley
5d71d83420
Listen on ICMP6 file decriptor even when on ra-only only in use.
2012-03-24 14:40:42 +00:00
Simon Kelley
38a59a9ff7
debian changelog untangle.
2012-03-23 10:08:12 +00:00
Simon Kelley
4b028ad612
Merge branch 'bind'
2012-03-23 10:02:30 +00:00
Simon Kelley
442560beb4
Debian changelog for preivious fix.
2012-03-23 10:01:13 +00:00
Simon Kelley
7d2b5c9583
Fix crash in DHCPINFORM without valid --dhcp-range.
2012-03-23 10:00:02 +00:00
Simon Kelley
29689cfa5a
Handle errors when sending ICMP6 pings better.
2012-03-22 14:01:00 +00:00
Simon Kelley
52d4abf2f9
Make --listen-address work for all 127.0.0.0/8 addresses.
2012-03-21 21:39:48 +00:00
Simon Kelley
a953096485
Send "FTP transfer complete" events to the DHCP lease script.
2012-03-20 22:07:35 +00:00
Simon Kelley
884a6dfe6d
RA managed-bit and use-SLAAC bit tweaks.
2012-03-20 16:20:22 +00:00
Simon Kelley
0068301d24
Conditional compilation tweak.
2012-03-19 20:29:55 +00:00
Simon Kelley
353ae4d270
Check assumed SLAAC addresses by pinging them.
2012-03-19 20:07:51 +00:00
Simon Kelley
e759d426fa
--host-record support
2012-03-16 13:18:57 +00:00
Simon Kelley
40ef23b547
Move DHCP option stuff to dhcp-common.c
2012-03-13 21:59:28 +00:00
Simon Kelley
f5e8562f96
More DHCP-option logging tweaks.
2012-03-13 14:22:30 +00:00
Simon Kelley
1567feae3c
Log vendor class for DHCPv6
2012-03-12 22:15:35 +00:00
Simon Kelley
daf061c9de
randomise DHCPv6 lease renewal intervals
2012-03-12 21:57:18 +00:00
Simon Kelley
d0e2c6c9ab
decode DHCPv4 T1, T2 and lease-time options better.
2012-03-12 21:44:14 +00:00
Simon Kelley
8643ec7fea
Update CHANGLEOG
2012-03-12 20:04:14 +00:00
Simon Kelley
5cfea3d402
Tidy last commit.
2012-03-12 17:28:27 +00:00
Simon Kelley
6c8f21e4a4
More useful DHCPv6 packet logging.
2012-03-12 15:06:55 +00:00
Simon Kelley
1d0f91c4a9
Don't trust the port in the source address of requests.
...
At least one client gets it wrong: always send to the client port for
clients, and the server port for relays.
2012-03-12 11:56:22 +00:00
Simon Kelley
2a82db4caf
Supply zero preference in advertise and reply messages
2012-03-10 21:40:10 +00:00
Simon Kelley
dd88c17f15
Add status code containing "success" to all IA_TA and IA_NA
...
which have IAADDR options. This communicates zero information and
RFC3315 is unclear that it's needed, but at least one client seems
to require it.
2012-03-10 20:46:57 +00:00
Simon Kelley
8b37270410
Implement --dhcp-duid
2012-03-09 17:45:10 +00:00
Simon Kelley
760169fc43
Debian updates.
2012-03-09 14:27:49 +00:00
Simon Kelley
7023e38294
Docs changes for ra-names.
2012-03-09 12:05:49 +00:00
Simon Kelley
a7cf58cc47
Merge branch 'ra-names'
2012-03-09 11:37:42 +00:00
Simon Kelley
e25d1a2ea2
Fix prefix-map build code logic.
2012-03-08 13:24:17 +00:00
Simon Kelley
70969c1757
move #include for Solaris and Apple.
2012-03-07 20:46:28 +00:00
Simon Kelley
3803437dcc
tidying
2012-03-07 20:39:40 +00:00
Simon Kelley
eabc6dd76a
Use getifaddrs on *BSD.
2012-03-07 20:28:20 +00:00
Simon Kelley
e28d2e2b77
Merge branch 'getifaddrs'
2012-03-07 20:26:23 +00:00
Simon Kelley
96fafe2ed6
Fixed typos and tested.
2012-03-07 20:25:39 +00:00
Simon Kelley
c81d390f84
Update man page to reflect the existance of DHCPv6 and RA.
2012-03-07 19:10:19 +00:00
Simon Kelley
08456c61f6
Use getifaddrs to find interfaces on *BSD
2012-03-07 19:08:11 +00:00
Simon Kelley
bc26f9a03f
Handle firewire and EUI-64 addresses in the SLAAC code.
2012-03-07 13:13:56 +00:00
Simon Kelley
6ffeff86be
Teach emit_dbus_signal() about IPv6 DHCPv6 leases.
2012-03-07 10:32:35 +00:00
Simon Kelley
f444cddbaf
Don't waste time calculating EUI-64 when a lease doesn't have a name.
2012-03-07 10:15:57 +00:00
Simon Kelley
d13191a46c
Bump Debian version number.
2012-03-06 19:57:39 +00:00
Simon Kelley
801ca9a7b7
Add ra-names SLAAC-hostnames from DHCPv4 option.
2012-03-06 19:30:17 +00:00
Simon Kelley
df66e341de
Update polish translation.
2012-03-04 20:04:22 +00:00
Simon Kelley
71ee7ee254
Update French translation.
2012-03-03 18:06:49 +00:00
Simon Kelley
a156cae901
Typos in man page.
2012-03-02 21:10:39 +00:00
Simon Kelley
22b135a116
Fix paretheses in ADD_RDLEN - it always returned 1 before.
2012-03-01 19:54:50 +00:00
Simon Kelley
0f08983d85
Be more picly about the MAC address we use for DUID-creation.
2012-03-01 13:43:39 +00:00
Simon Kelley
e3e86343fc
Fix DUID generation with HAVE_BROKEN_RTC.
2012-03-01 10:35:34 +00:00
Simon Kelley
7b6dd880f7
Fix socklen_t/size_t confusion in radv.c
2012-03-01 10:26:16 +00:00
Simon Kelley
b7f4020133
Fix FTBFS when HAVE_BROKEN_RTC defined.
2012-02-29 21:43:37 +00:00
Simon Kelley
c46c7c7584
tweak portable get-cwd trick code to work on GNU-make 3.82
2012-02-29 21:37:14 +00:00
Simon Kelley
552af8b988
Fix --localise-queries via interface lo bug.
2012-02-29 20:10:31 +00:00
Simon Kelley
4f8ff361dc
Tiny makefile tweak.
2012-02-29 16:01:17 +00:00
Simon Kelley
0010b47439
RA configuration tweaks and documentation improvements.
2012-02-29 12:18:30 +00:00
Simon Kelley
4b86b65d07
Substitute local address for [::] DHCPv6 options, like DHCPv4.
2012-02-29 11:45:37 +00:00
Simon Kelley
248489401a
Makefile cleanup - use lower case variables for internal use.
2012-02-29 11:23:41 +00:00
Simon Kelley
bc5992daf6
Merge messages files prior to rc1.
2012-02-28 18:07:15 +00:00
Simon Kelley
fdacfb0119
Makefile: support absolute paths in BUILDDIR
2012-02-28 15:20:25 +00:00
Simon Kelley
0d5d35d052
RA lifetimes must be at least 2 hours
2012-02-27 20:24:40 +00:00
Simon Kelley
843c96b4b3
Make RA without DHCPv6 possible.
2012-02-27 17:42:38 +00:00
Simon Kelley
58dc02ebf2
Order of fields in DHCPv6 log lines now consistent with DHCPv4
2012-02-27 11:49:37 +00:00
Simon Kelley
c239f7de25
rename header files.
2012-02-27 10:56:18 +00:00
Simon Kelley
ac8540c3c5
CHANGELOG entry to RA.
2012-02-26 20:57:31 +00:00
Simon Kelley
22d904db95
Fix RA on *BSD (missing sa_len)
2012-02-26 20:13:45 +00:00
Simon Kelley
741c2952d4
Tidy up RA scheduling.
2012-02-25 13:09:18 +00:00
Simon Kelley
96f6979c4f
OpenBSD-friendly bld/get-version script
2012-02-25 11:31:15 +00:00
Simon Kelley
c5379c1ab6
Don't send hoplimit 1 when multicasting RAs
2012-02-24 20:05:52 +00:00
Simon Kelley
a4a5205fd7
Fix ordering problem in multicast setup.
2012-02-24 19:44:05 +00:00
Simon Kelley
c5ad4e7998
Router Advertisement
2012-02-24 16:06:20 +00:00
Simon Kelley
270dc2e199
Fix wrong fallback address in DHCPv6
2012-02-19 20:53:20 +00:00
Simon Kelley
948a0b6e81
don't use -m flag to grep - it's unavailable in OpenBSD
2012-02-19 20:25:01 +00:00
Simon Kelley
87b8ecb13a
Fixed code passing tags to helper to work when there are no context tags.
...
Fixed call to sendto() in dhcp6.c. How did it every work before?
2012-02-18 21:23:16 +00:00
Simon Kelley
e44ddcac63
Fix hang at startup when DHCPv6 enabled on a complex network
...
configuration - we have to read all the MAC addresses from netlink,
not bail when we find a suitable one.
Fix thinko in dhcp_update_configs - thanks to Hartmut for spotting
that.
Get a sensible address for the default DNS server even when using a
relay.
2012-02-18 17:08:50 +00:00
Simon Kelley
00e9ad5217
Fixes for DHCPv6 tag system.
2012-02-16 21:53:11 +00:00
Simon Kelley
96c3879bed
Change Debian rules file to relect the fact that we build DHCPv6 by default.
2012-02-16 20:07:17 +00:00
Simon Kelley
57f460de2f
tweak Lua script argument passing and add --dhcp-luascript sectino to manpage.
2012-02-16 20:00:32 +00:00
Simon Kelley
6caacacf6d
Putative fix to crash in IPv4 DHCP, introduced whilst
...
generalising the DHCP option filter code:
don't match options against context tag when
context->netid.net == NULL, since there's no tag then.
2012-02-15 21:58:33 +00:00
Simon Kelley
60ac5af682
Remove extact-MAC address from DUID code.
2012-02-15 10:41:03 +00:00
Simon Kelley
caa94380ac
bugs in IPv6 script calling - wrong DUID and lua relay_address
2012-02-15 10:29:50 +00:00
Simon Kelley
0793380b40
Implement dhcp-ignore-names and DNSMASQ_RELAY_ADDRESS for IPv6
...
Build DHCPv6 by default.
2012-02-14 20:55:25 +00:00
Simon Kelley
1adadf585d
Tweak Makefile so it works again in BSD make.
...
First cut at man page changes for DHCPv6
2012-02-13 22:15:58 +00:00
Simon Kelley
e5ffdb9c77
BUILD_DIR -> BUILDDIR, for consistency.
2012-02-13 14:28:13 +00:00
Simon Kelley
6da5201092
Merge branch 'makefile'
2012-02-13 12:55:33 +00:00
Simon Kelley
b36ae19434
Add BUILD_DIR variable to makefile.
2012-02-13 12:54:34 +00:00
Simon Kelley
2307eac613
Fix code parsing --domain, broken whilst added IPv6 stuff.
2012-02-13 10:13:13 +00:00
Simon Kelley
127ea40ae7
Don't build DHCPv6 by default, except when build Debian package.
2012-02-11 22:14:52 +00:00
Simon Kelley
6aef600d48
Correct duid generate on FreeBSD
2012-02-11 22:01:50 +00:00
Simon Kelley
98d76a0326
Tweaks to fix compilation on FreeBSD.
2012-02-10 22:16:45 +00:00
Simon Kelley
6ea6dcf05b
Update Debian readme for new build options and (belatedly) for the
...
introduction of dnsmasq-utils.
2012-02-10 21:26:52 +00:00
Simon Kelley
627797800d
Report correct error if prefix in dhcp-range is less than 64
...
Update debian/rules to provide no_dhcp6 and use_lua build opts.
Log DHCPv6 information request packets.
2012-02-10 21:19:25 +00:00
Simon Kelley
c6cc03ed0c
Merge branch 'dhcpv6'
2012-02-10 17:36:20 +00:00
Simon Kelley
3d7b550f52
missed DHCP6 conditional compilation.
2012-02-10 17:35:37 +00:00
Simon Kelley
751d6f4ae6
Allow the TFP server or boot server in --pxe-service, to
...
be a domain name instead of an IP address. This allows for
round-robin to multiple servers, in the same way as
--dhcp-boot.
2012-02-10 15:24:51 +00:00
Simon Kelley
a5c72ab51d
DHCPv6 vendor class option includes an enterprise number. Handle that.
2012-02-10 13:42:47 +00:00
Simon Kelley
9bbc88762b
Fix shell scripting bug in bug scripts.
2012-02-09 21:33:09 +00:00
Simon Kelley
ceae00dddf
lease script should work with IPv6 now.
2012-02-09 21:28:14 +00:00
Simon Kelley
3634c54e8d
dhcp-ignore and dhcp-match implemented for DHCPv6 now.
2012-02-08 14:22:37 +00:00
Simon Kelley
d74942a03d
IPv6 address range parsing for --domain.
...
Counted string DHCP option type printing
2012-02-07 20:51:56 +00:00
Simon Kelley
70c5e3e076
DHCPDECLINE handling, domain handling, more complete address selection.
2012-02-06 22:05:15 +00:00
Simon Kelley
4cb1b32009
Clean compile, basic DHCPv6 functionality is there.
...
TODO
hostname handling.
update DHCP6 configs from dns
parse domain=<domain>,<IPv6 range>
pretty-print counted string options.
DECLINE messages
lease-script fro DHCPv6
2012-02-06 14:30:41 +00:00
Simon Kelley
3268e90f5e
Make default NO_DHCP6 and remove compiler warning.
2012-01-22 16:15:02 +00:00
Simon Kelley
e98170816a
Merge branch 'dhcpv6'
2012-01-22 16:07:22 +00:00
Simon Kelley
52b92f4db8
It compiles and it allocates a lease! No renewals yet.
2012-01-22 16:05:15 +00:00
Simon Kelley
a2761754da
Fix problem if dnsmasq is started without the stdin,
...
stdout and stderr file descriptors open. This can manifest
itself as 100% CPU use. Thanks to Chris Moore for finding
this.
2012-01-18 16:07:21 +00:00
Simon Kelley
805a11345c
We don't need to check that a cache record is F_HOST in the
...
duplicate address code, since we're now searching a temporary hash
which holds only F_HOST records.
2012-01-13 11:51:46 +00:00
Simon Kelley
1ab62aec37
Further tuning of the fast hostfile reading code.
...
Use the packet buffer for hash-buckets, better hash function.
2012-01-12 11:33:16 +00:00
Simon Kelley
915363f976
Tweaks to hostfile performance work.
2012-01-11 22:00:48 +00:00
Simon Kelley
205fafa577
Improve performance when reading large hostfiles.
2012-01-11 21:31:51 +00:00
Simon Kelley
be2daf4ad5
Enable DHCPv6 compilation
2012-01-07 17:51:57 +00:00
Simon Kelley
8ecfaa4adf
Tidied up usage strings.
2012-01-07 15:29:48 +00:00
Simon Kelley
03bfcf6462
FAQ and example config additions for Windows 7 WPAD problem.
2012-01-07 14:37:37 +00:00
Simon Kelley
39bec5ff32
Remove duplicate tags in data supplied to lease script.
2012-01-06 22:36:58 +00:00
Simon Kelley
246839d64a
Minimal update of doc.html - remove broken links and add git info.
2012-01-06 20:39:54 +00:00
Simon Kelley
3862deb398
Debian bug #654897
2012-01-06 20:16:07 +00:00
Simon Kelley
5954608577
Updated copyright notices. Happy new year!
2012-01-06 20:02:04 +00:00
Simon Kelley
984d2fded6
CHANGELOG update
2012-01-06 14:34:32 +00:00
Simon Kelley
a4f04ed45a
Generate version string from git automatically
2012-01-06 11:47:02 +00:00
Simon Kelley
07736e8dcb
VERSION file
2012-01-05 22:00:08 +00:00
Simon Kelley
00fc082d68
bump version in config.h
2012-01-05 21:42:12 +00:00
Simon Kelley
c72daea868
Accumulated 2.60 changes going into git
2012-01-05 21:33:27 +00:00
Simon Kelley
74c95c2542
import of dnsmasq-2.59.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
7de060b08d
import of dnsmasq-2.58.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
572b41eb50
import of dnsmasq-2.57.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
28866e9567
import of dnsmasq-2.56.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
c52e189734
import of dnsmasq-2.55.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
8ef5ada238
import of dnsmasq-2.53.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
316e2730ac
import of dnsmasq-2.52.tar.gz
2012-01-05 17:31:15 +00:00
Simon Kelley
1f15b81d61
import of dnsmasq-2.51.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
77e94da7bb
import of dnsmasq-2.50.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
03a97b6170
import of dnsmasq-2.49.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
7622fc06ab
import of dnsmasq-2.48.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
73a08a248d
import of dnsmasq-2.47.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
9009d74652
import of dnsmasq-2.46.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
1ad24ae15c
import of dnsmasq-2.45.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
3927da46aa
import of dnsmasq-2.44.tar.gz
2012-01-05 17:31:14 +00:00
Simon Kelley
1a6bca81f6
import of dnsmasq-2.43.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
9e038946a1
import of dnsmasq-2.42.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
824af85bdf
import of dnsmasq-2.41.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
5aabfc78bc
import of dnsmasq-2.40.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
f2621c7ff0
import of dnsmasq-2.39.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
6b01084f8e
import of dnsmasq-2.38.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
1b7ecd111d
import of dnsmasq-2.37.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
832af0bafb
import of dnsmasq-2.36.tar.gz
2012-01-05 17:31:13 +00:00
Simon Kelley
4011c4e05e
import of dnsmasq-2.35.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
1697269ce7
import of dnsmasq-2.34.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
208b65c5cf
import of dnsmasq-2.33.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
849a8357ba
import of dnsmasq-2.32.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
7cebd20fe7
import of dnsmasq-2.31.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
26d0dbaf24
import of dnsmasq-2.30.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
309331f52c
import of dnsmasq-2.29.tar.gz
2012-01-05 17:31:12 +00:00
Simon Kelley
5e9e0efb01
import of dnsmasq-2.28.tar.gz
2012-01-05 17:31:11 +00:00
Simon Kelley
cdeda28f82
import of dnsmasq-2.27.tar.gz
2012-01-05 17:31:11 +00:00
Simon Kelley
aedef83058
import of dnsmasq-2.26.tar.gz
2012-01-05 17:31:11 +00:00
Simon Kelley
e17fb629a2
import of dnsmasq-2.25.tar.gz
2012-01-05 17:31:11 +00:00
Simon Kelley
b8187c80a8
import of dnsmasq-2.24.tar.gz
2012-01-05 17:31:11 +00:00