summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Handle DS records for unsupported crypto algorithms correctly.v2.88rc1Simon Kelley2022-11-163-24/+44
| | | | | | Such a DS, as long as it is validated, should allow answers in the domain is attests to be returned as unvalidated, and not as a validation error.
* Fix GOST signature algorithms for DNSSEC validation.Simon Kelley2022-11-161-7/+9
| | | | | | | | Use CryptoPro version of the hash function. Handle the little-endian wire format of key data. Get the wire order of S and R correct. Note that Nettle version 3.6 or later is required for GOST support.
* Handle known DNSSEC signature algorithms which are not supported.Simon Kelley2022-11-131-1/+12
| | | | | | | | | | This fixes a confusion if certain algorithms are not supported because the version is the crypto library is too old. The validation should be treated the same as for a completely unknown algorithm, (ie return unverified answer) and not as a validation failure (ie return SERVFAIL). The algorithems affected are GOST and ED448.
* Fix --server=/domain/#v2.88test3Simon Kelley2022-11-071-2/+4
|
* Fix --server with multiple domains.Simon Kelley2022-11-071-17/+20
|
* Make specifying nameservers by name work for DBus API.Simon Kelley2022-11-073-19/+59
|
* Call freeaddrinfo() in domain_rev[46]()Simon Kelley2022-11-071-0/+6
|
* Extend specifying DNS servers by domain-name to --rev-serverv2.88test2Simon Kelley2022-11-064-31/+56
| | | | | | | | Also Dbus SetDomainServers method. Revert getaddrinfo hints.ai_socktype to SOCK_DGRAM to eliminate duplicating every address three times for DGRAM, STREAM and RAW in the results.
* Fix breakage of --local=/domain.name/1.2.3.4 in immediately previous commit.Simon Kelley2022-11-061-4/+8
|
* Allow domain names as well is IP addresses in --server options.Dominik Derigs2022-11-055-86/+267
|
* Bump Debian version and close bug.Simon Kelley2022-11-021-0/+8
|
* Reconcile "names" and "address" counts when reading hostfiles.Simon Kelley2022-10-302-6/+6
|
* Inotify: make "flushed" log message more understandable.Simon Kelley2022-10-271-4/+4
| | | | | | | | | | | | | | | | Saying we've "flushed x outdated entries" is confusing, since the count is the total number of entries in the modified file, most of which are going to get added straight back when the file is re-read. The log now looks like dnsmasq: inotify: /tmp/dir/1 (new or modified) dnsmasq: inotify: flushed 1 addresses read from /tmp/dir/1 dnsmasq: read /tmp/dir/1 - 2 addresses which hopefully make it more obvious that /tmp/dir/1 contained one address before, and now contains two.
* Do not (try to) re-read deleted files inside a --hostsdir.Dominik Derigs2022-10-271-3/+9
|
* Fix in dhcpv4 rapid-commit code.Simon Kelley2022-10-271-1/+8
| | | | | | | | | | 1) Cosmetic: don't log the tags twice. 2) Functional. If a host has an old lease for a different address, the rapid-commit will appear to work, but the old lease will not be removed and the new lease will not be recorded, so the client and server will have conflicting state, leading to problems later.
* Add --no-round-robin option.Simon Kelley2022-10-185-4/+22
|
* Fix loss of DNS servers on config reload.Simon Kelley2022-10-172-2/+14
| | | | | | | | | A bug, introduced in 2.87, which could result in DNS servers being removed from the configuration when reloading server configuration from DBus, or re-reading /etc/resolv.conf Only servers from the same source should be replaced, but some servers from other sources (ie hard coded or another dynamic source) could mysteriously disappear.
* Handle multiple addresses when removing duplicates in host files.Dominik Derigs2022-10-161-6/+7
|
* Enhance --hostdir so that records are automatically removed when re-reading.Dominik Derigs2022-10-165-2/+33
| | | | Initial patch from Dominik Derigs, re-written by Simon Kelley.
* Improve logging of DNS record source from --hostsdir files.Dominik Derigs2022-10-164-65/+119
| | | | | Patch author Dominik Derigs <dl6er@dl6er.de> with subsequent bugfixes and tweaks from Simon Kelley.
* Move fast-dns-retry and use-stale-cache writeups in the CHANGELOG.v2.88test1Simon Kelley2022-10-141-16/+16
| | | | These are 2.88 changes, but the branch merge put them unde 2.87.
* Merge branch 'aws'Simon Kelley2022-10-1315-162/+758
|\
| * Add ClearMetrics Dbus method.awsSimon Kelley2022-09-164-3/+34
| |
| * Optimise cache code when stale caching in use.Simon Kelley2022-09-161-4/+9
| | | | | | | | Exclude DNSSEC entries from stale caching.
| * Don't exclude stale-cache answers from "local answered" metric.Simon Kelley2022-09-161-1/+3
| |
| * Initialise modified-moving-average latency calc better.Simon Kelley2022-09-161-1/+4
| | | | | | | | | | Use the first value, rather than initialising at zero, which takes many queries to converge.
| * Split failed queries in retries in stat counting.Simon Kelley2022-09-164-6/+11
| |
| * Tweak server-selection logic in the fast-retry case.Simon Kelley2022-09-151-7/+8
| |
| * Keep a per-DNS-server moving average of query latency.Simon Kelley2022-09-154-8/+22
| |
| * Combine server stats from all records for the same server in DBUS method.Simon Kelley2022-09-151-18/+31
| | | | | | | | | | | | The DBUS per-server stats method should combine the stats from different records (for different domains) in the same way at the logging code.
| * Count NXDOMAIN replies from each server.Simon Kelley2022-09-154-5/+12
| |
| * Add metric for queries which never see an answer.Simon Kelley2022-09-153-0/+4
| |
| * Make fast-retry more configurable and do exponential backoff.Simon Kelley2022-09-155-18/+40
| |
| * Remove unused vars.Simon Kelley2022-09-131-1/+1
| |
| * Return EDE_STALE extended error when returning stale data from cache.Simon Kelley2022-09-121-1/+14
| |
| * Add stale cache replies to metrics.Simon Kelley2022-09-124-1/+5
| |
| * Add GetServerMetrics method to DBus interface.Simon Kelley2022-09-122-0/+62
| |
| * Further optimisation of --port-limit.Simon Kelley2022-09-094-15/+64
| | | | | | | | | | | | | | | | No longer try and fail to open every port when the port range is in complete use; go straight to re-using an existing socket. Die at startup if port range is smaller than --port-limit, since the code behaves badly in this case.
| * Second try at port-limit option.Simon Kelley2022-09-094-23/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) It's expected to fail to bind a new source port when they are scarce, suppress warning in log in this case. 2) Optimse bind_local when max_port - min_port is small. There's no randomness in this case, so we try all possible source ports rather than poking at random ones for an arbitrary number of tries. 3) In allocate_rfd() handle the case that all available source ports are already open. In this case we need to pick an existing socket/port to use, such that it has a different port from any we already hold. This gives the required property that the set of ports utilised by any given query is set by --port-limit and we don't re-use any until we have port-limit different ones.
| * Fix namebuff overwrite leading to wrong log after socket bind warning.Simon Kelley2022-09-091-3/+3
| |
| * Remove fast-retry development logging.Simon Kelley2022-09-061-3/+0
| |
| * Add --use-stale-cache option.Simon Kelley2022-09-068-76/+238
| |
| * Add --fast-dns-retry option.Simon Kelley2022-09-067-44/+166
| | | | | | | | | | | | | | This gives dnsmasq the ability to originate retries for upstream DNS queries itself, rather than relying on the downstream client. This is most useful when doing DNSSEC over unreliable upstream network. It comes with some cost in memory usage and network bandwidth.
| * Add --port-limit option.Simon Kelley2022-09-064-11/+64
| | | | | | | | | | | | | | | | | | By default, when sending a query via random ports to multiple upstream servers or retrying a query dnsmasq will use a single random port for all the tries/retries. This option allows a larger number of ports to be used, which can increase robustness in certain network configurations. Note that increasing this to more than two or three can have security and resource implications and should only be done with understanding of those.
* | Fix bug in --dynamic-host when interface has /16 IPv4 address.Simon Kelley2022-10-132-1/+6
| |
* | Add Georgian translation.Temuri Doghonadze2022-10-131-0/+2802
| |
* | Fix Debian changelog date Fubar.Simon Kelley2022-09-251-1/+1
| |
* | Fix a problem in overload handling.v2.87Simon Kelley2022-09-091-0/+8
|/ | | | | | | | | | | | | | | Sending the same query repeatedly to a dnsmasq instance which doesn't get replies from upstream will eventually hit the hard limit on frec_src structures and start gettin REFUSED replies. This is OK, except that since the queries are no longer being forwarded, an upstream server coming back doesn't reset the situation. If there is any other traffic, frec allocation will eventually delete the timed-out frec and get things moving again, but that's not guaranteed. To fix this we explicitly delete the frec once timed out in this case. Thanks to Filip Jenicek for noticing and characterising this problem.
* Add DHCPv4 option 108 "ipv6-only" to the options table.v2.87rc1Simon Kelley2022-09-061-0/+1
|
* Fix logic when a SERVFAIL reply is received after good replt for DNSSEC.Simon Kelley2022-09-061-3/+6
| | | | | If we get a SERVFAIL or REFUSED answer to a DNSSEC query for which we already have a good answer, just ignore it.