From 697b4f04bf8a007b289e424cf88bfbba7a2df71a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 18 Jun 2015 12:38:38 +0200 Subject: [PATCH] dnsmasq: Import patches from upstream These fix minor bugs and contain smaller improvements. Signed-off-by: Michael Tremer --- config/rootfiles/core/92/filelists/dnsmasq | 1 + lfs/dnsmasq | 15 + ...ne-at-the-end-of-example-config-file.patch | 2 +- ...-when-an-empty-suffix-is-supplied-to.patch | 2 +- ...0003-Debian-build-fixes-for-kFreeBSD.patch | 2 +- ...t-conntrack-mark-before-connect-call.patch | 2 +- .../0005-Fix-typo-in-new-Dbus-code.patch | 2 +- .../0006-Fit-example-conf-file-typo.patch | 2 +- ...liance-when-unable-to-supply-address.patch | 4 +- ...8-Fix-conntrack-with-bind-interfaces.patch | 2 +- ...-inotify-instead-of-polling-on-Linux.patch | 2 +- ...-the-new-inotify-code-about-symlinks.patch | 2 +- ...oor-on-EDNS0-packet-size-with-DNSSEC.patch | 2 +- .../dnsmasq/0012-CHANGELOG-re.-inotify.patch | 2 +- ...eakage-of-domain-domain-subnet-local.patch | 2 +- ...dundant-IN6_IS_ADDR_ULA-a-macro-defn.patch | 2 +- ...rivacy-addresses-from-interface-name.patch | 4 +- ...h-in-cache-dump-to-avoid-truncating-.patch | 2 +- ...SEC-code-when-attempting-to-verify-l.patch | 2 +- ...k-for-CNAMEs-pointing-to-A-AAAA-reco.patch | 4 +- ...blems-validating-NSEC3-and-wildcards.patch | 2 +- .../0020-Initialise-return-value.patch | 2 +- .../0021-Add-ignore-address-option.patch | 2 +- .../dnsmasq/0022-Bad-packet-protection.patch | 2 +- ...d-failure-in-new-inotify-code-on-BSD.patch | 2 +- ...efile-dependencies-on-COPTS-variable.patch | 2 +- ...Fix-race-condition-issue-in-makefile.patch | 2 +- ...wn-search-for-limit-of-secure-delega.patch | 2 +- ...extra-option-for-more-complete-loggi.patch | 2 +- .../0028-Add-min-cache-ttl-option.patch | 2 +- ...f-requestor-when-doing-extra-logging.patch | 2 +- ...m-cache-RRsets-from-wildcards-as-we-.patch | 2 +- .../0031-Logs-for-DS-records-consistent.patch | 2 +- ...le-interfaces-with-the-same-LL-addre.patch | 3 +- ...reat-SERVFAIL-as-a-recoverable-error.patch | 2 +- ...0034-Add-dhcp-hostsdir-config-option.patch | 2 +- .../0035-Update-German-translation.patch | 2 +- ...HCPv6-SOLICIT-messages-when-not-conf.patch | 2 +- ...-be-disabled-at-compile-time-on-Linu.patch | 3 +- ...ode-to-dhcp-hostsdir-dhcp-optsdir-an.patch | 4 +- ...9-Update-copyrights-for-dawn-of-2015.patch | 2 +- .../0040-inotify-documentation-updates.patch | 2 +- ...1-Fix-broken-ECDSA-DNSSEC-signatures.patch | 2 +- .../dnsmasq/0042-BSD-make-support.patch | 2 +- .../0043-Fix-build-failure-on-openBSD.patch | 2 +- .../dnsmasq/0044-Manpage-typo-fix.patch | 2 +- ...gs-after-reading-extra-hostfiles-wit.patch | 2 +- .../0046-Extra-logging-for-inotify-code.patch | 2 +- src/patches/dnsmasq/0047-man-page-typo.patch | 2 +- ...script-which-returned-wrong-tag-in-s.patch | 4 +- src/patches/dnsmasq/0049-Typos.patch | 2 +- ...c-hosts-files-work-when-no-hosts-set.patch | 2 +- ...ial-memory-leaks-to-quieten-valgrind.patch | 2 +- ...ialized-value-used-in-get_client_mac.patch | 2 +- ...parsing-utils-in-contrib-reverse-dns.patch | 2 +- ...dnssec-timestamp-option-and-facility.patch | 2 +- ...to-not-crash-if-uid-changing-not-con.patch | 2 +- ...6-New-version-of-contrib-reverse-dns.patch | 2 +- ...estamp-code-to-create-file-later-rem.patch | 2 +- ...code-for-re-running-system-calls-on-.patch | 2 +- ...mple.com-equivalent-to-server-exampl.patch | 2 +- ...d-interface-via-cmsg-in-unicast-repl.patch | 3 +- ...C-when-a-signed-CNAME-dangles-into-a.patch | 2 +- ...n-SERVFAIL-when-validation-abandoned.patch | 2 +- ...tect-against-broken-DNSSEC-upstreams.patch | 2 +- ...x-for-non-ascii-characters-in-labels.patch | 2 +- ...aracters-in-names-in-the-cache-handl.patch | 4 +- .../0066-Fix-crash-in-last-commit.patch | 2 +- .../0067-Merge-message-translations.patch | 2 +- ...-no-fail-to-ignore-missing-tftp-root.patch | 2 +- .../dnsmasq/0069-Whitespace-fixes.patch | 2 +- ...rather-than-BOGUS-when-DS-proved-not.patch | 2 +- ...er-warning-when-not-including-DNSSEC.patch | 2 +- ...-by-looking-up-servers.bind-when-man.patch | 2 +- ...eipt-of-certain-malformed-DNS-reques.patch | 3 +- ...-in-auth-code-with-odd-configuration.patch | 2 +- ...replies-to-NS-and-SOA-in-.arpa-zones.patch | 2 +- ...duced-crash-in-new-tftp_no_fail-code.patch | 2 +- .../dnsmasq/0077-Note-CVE-2015-3294.patch | 2 +- ...-reporting-DNSSEC-validation-failure.patch | 2 +- ...s-command-line-arg-in-dhcp_release.c.patch | 2 +- ...74c51d96fef100285a0d225824534f9-and-.patch | 2 +- ...in-names-with-.-or-000-within-labels.patch | 2 +- ...to-previous-DNS-label-charset-commit.patch | 2 +- ...DHCPv6-not-suppressed-by-dhcp6-quiet.patch | 2 +- ...on-work-when-repo-is-a-git-submodule.patch | 2 +- ...er-botch-which-broke-DNSSEC-for-TCP-.patch | 2 +- ...IG-RR-from-answers-to-ANY-queries-wh.patch | 4 +- ...some-DHCP-lease-management-functions.patch | 2 +- ...t-loss-when-fragmentation-of-large-p.patch | 2 +- ...pped-IPv6-addresses-with-stop-rebind.patch | 2 +- .../0090-Tweak-EDNS-timeout-code.patch | 2 +- ...archive-mailing-list-mirror-in-doc.h.patch | 2 +- ...w-T1-and-T2-DHCPv4-options-to-be-set.patch | 2 +- .../dnsmasq/0093-Tweak-last-commit.patch | 2 +- ...DHCP-context-for-PXE-proxy-server-id.patch | 2 +- ...uffer-overflow-introduced-in-2.73rc6.patch | 2 +- ...support-for-DNS-Extended-Label-Types.patch | 2 +- ...HCP-context-when-in-PXE-bootserver-m.patch | 2 +- ...098-Tweak-immediately-previous-patch.patch | 2 +- src/patches/dnsmasq/0099-Man-page-typo.patch | 25 + ...dd-infiniband-to-example-config-file.patch | 30 + ...se-DNS-header-bits-in-answer-when-re.patch | 55 + ...RM-should-be-OK-for-any-address-on-l.patch | 43 + ...corner-cases-in-NSEC-coverage-checks.patch | 53 + ...ods-to-create-and-delete-DHCP-leases.patch | 329 + ...missed-logging-strings-to-the-catalo.patch | 32 + ...nknown-interface-in-bridge-interface.patch | 28 + ...-bridge-interface-aliasing-to-DHCPv6.patch | 65 + ...ertisements-to-have-the-off-link-bit.patch | 85 + ...erface-aliasing-to-solicited-router-.patch | 107 + ...erfaces-to-unsolicited-router-advert.patch | 131 + ...ates-for-bridge-interface-and-off-li.patch | 201 + ...-and-fix-makefile-process-to-do-this.patch | 21460 ++++++++++++++++ ...-DS-records-when-confirming-absence-.patch | 173 + 115 files changed, 22942 insertions(+), 105 deletions(-) create mode 120000 config/rootfiles/core/92/filelists/dnsmasq create mode 100644 src/patches/dnsmasq/0099-Man-page-typo.patch create mode 100644 src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch create mode 100644 src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch create mode 100644 src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch create mode 100644 src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch create mode 100644 src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch create mode 100644 src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch create mode 100644 src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch create mode 100644 src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch create mode 100644 src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch create mode 100644 src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch create mode 100644 src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch create mode 100644 src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch create mode 100644 src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch create mode 100644 src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch diff --git a/config/rootfiles/core/92/filelists/dnsmasq b/config/rootfiles/core/92/filelists/dnsmasq new file mode 120000 index 0000000000..d469c74631 --- /dev/null +++ b/config/rootfiles/core/92/filelists/dnsmasq @@ -0,0 +1 @@ +../../../common/dnsmasq \ No newline at end of file diff --git a/lfs/dnsmasq b/lfs/dnsmasq index 857434c3d7..a5d86e9305 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -171,6 +171,21 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0099-Man-page-typo.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch cd $(DIR_APP) && sed -i src/config.h \ -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \ diff --git a/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch index 57c9ff13fc..3c67b64170 100644 --- a/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch +++ b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch @@ -1,7 +1,7 @@ From f2658275b25ebfe691cdcb9fede85a3088cca168 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 25 Sep 2014 21:51:25 +0100 -Subject: [PATCH 01/98] Add newline at the end of example config file. +Subject: [PATCH 001/113] Add newline at the end of example config file. --- dnsmasq.conf.example | 2 +- diff --git a/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch index 86eb603ae7..090892dd12 100644 --- a/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch +++ b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch @@ -1,7 +1,7 @@ From 00cd9d551998307225312fd21f761cfa8868bd2c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 2 Oct 2014 21:44:21 +0100 -Subject: [PATCH 02/98] crash at startup when an empty suffix is supplied to +Subject: [PATCH 002/113] crash at startup when an empty suffix is supplied to --conf-dir --- diff --git a/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch index b0badb1f00..1fcb04122e 100644 --- a/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch +++ b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch @@ -1,7 +1,7 @@ From 6ac3bc0452a74e16e3d620a0757b0f8caab182ec Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 3 Oct 2014 08:48:11 +0100 -Subject: [PATCH 03/98] Debian build fixes for kFreeBSD +Subject: [PATCH 003/113] Debian build fixes for kFreeBSD --- src/tables.c | 6 +++++- diff --git a/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch index b2725d4a27..f734fbc85a 100644 --- a/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch +++ b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch @@ -1,7 +1,7 @@ From e9828b6f66b22ce8873f8d30a773137d1aef1b92 Mon Sep 17 00:00:00 2001 From: Karl Vogel Date: Fri, 3 Oct 2014 21:45:15 +0100 -Subject: [PATCH 04/98] Set conntrack mark before connect() call. +Subject: [PATCH 004/113] Set conntrack mark before connect() call. SO_MARK has to be done before issuing the connect() call on the TCP socket. diff --git a/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch index 84be7de37a..ef70ae3f25 100644 --- a/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch +++ b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch @@ -1,7 +1,7 @@ From 17b475912f6a4e72797a543dad59d4d5dde6bb1b Mon Sep 17 00:00:00 2001 From: Daniel Collins Date: Fri, 3 Oct 2014 21:58:43 +0100 -Subject: [PATCH 05/98] Fix typo in new Dbus code. +Subject: [PATCH 005/113] Fix typo in new Dbus code. Simon's fault. --- diff --git a/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch index 0cb139f816..c6dc31e610 100644 --- a/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch +++ b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch @@ -1,7 +1,7 @@ From 3d9d2dd0018603a2ae4b9cd65ac6ff959f4fd8c7 Mon Sep 17 00:00:00 2001 From: Tomas Hozza Date: Mon, 6 Oct 2014 10:46:48 +0100 -Subject: [PATCH 06/98] Fit example conf file typo. +Subject: [PATCH 006/113] Fit example conf file typo. --- dnsmasq.conf.example | 2 +- diff --git a/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch index 286ddcf682..bc24281381 100644 --- a/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch +++ b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch @@ -1,8 +1,8 @@ From b9ff5c8f435173cfa616e3c398bdc089ef690a07 Mon Sep 17 00:00:00 2001 From: Vladislav Grishenko Date: Mon, 6 Oct 2014 14:34:24 +0100 -Subject: [PATCH 07/98] Improve RFC-compliance when unable to supply addresses - in DHCPv6 +Subject: [PATCH 007/113] 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. diff --git a/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch index f667cf3ced..47f0ea6f58 100644 --- a/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch +++ b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch @@ -1,7 +1,7 @@ From 98906275a02ae260fe3f82133bd79054f8315f06 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Tue, 9 Dec 2014 22:22:53 +0000 -Subject: [PATCH 08/98] Fix conntrack with --bind-interfaces +Subject: [PATCH 008/113] 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 diff --git a/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch index 3d6654068a..3cefd02fca 100644 --- a/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch +++ b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch @@ -1,7 +1,7 @@ From 193de4abf59e49c6b70d54cfe9720fcb95ca2f71 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 10 Dec 2014 17:32:16 +0000 -Subject: [PATCH 09/98] Use inotify instead of polling on Linux. +Subject: [PATCH 009/113] 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. diff --git a/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch index 2ddef28b69..35c405b767 100644 --- a/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch +++ b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch @@ -1,7 +1,7 @@ From 857973e6f7e0a3d03535a9df7f9373fd7a0b65cc Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 15 Dec 2014 15:58:13 +0000 -Subject: [PATCH 10/98] Teach the new inotify code about symlinks. +Subject: [PATCH 010/113] Teach the new inotify code about symlinks. --- src/inotify.c | 43 +++++++++++++++++++++++++++---------------- diff --git a/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch index c4dd777cbb..d1766f58d3 100644 --- a/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch +++ b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch @@ -1,7 +1,7 @@ From 800c5cc1e7438818fd80f08c2d472df249a6942d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 15 Dec 2014 17:50:15 +0000 -Subject: [PATCH 11/98] Remove floor on EDNS0 packet size with DNSSEC. +Subject: [PATCH 011/113] Remove floor on EDNS0 packet size with DNSSEC. --- CHANGELOG | 6 +++++- diff --git a/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch index 0044a39a29..5fe1dfb597 100644 --- a/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch +++ b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch @@ -1,7 +1,7 @@ From ad946d555dce44eb690c7699933b6ff40ab85bb6 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 15 Dec 2014 17:52:22 +0000 -Subject: [PATCH 12/98] CHANGELOG re. inotify. +Subject: [PATCH 012/113] CHANGELOG re. inotify. --- CHANGELOG | 4 ++++ diff --git a/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch index 8f67d2a81e..284b5cc4f0 100644 --- a/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch +++ b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch @@ -1,7 +1,7 @@ From 3ad3f3bbd4ee716a7d2fb1e115cf89bd1b1a5de9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 16 Dec 2014 18:25:17 +0000 -Subject: [PATCH 13/98] Fix breakage of --domain=,,local +Subject: [PATCH 013/113] Fix breakage of --domain=,,local --- CHANGELOG | 4 ++++ diff --git a/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch index 19f03225dc..65030e9e4c 100644 --- a/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch +++ b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch @@ -1,7 +1,7 @@ From bd9520b7ade7098ee423acc38965376aa57feb07 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 16 Dec 2014 20:41:29 +0000 -Subject: [PATCH 14/98] Remove redundant IN6_IS_ADDR_ULA(a) macro defn. +Subject: [PATCH 014/113] Remove redundant IN6_IS_ADDR_ULA(a) macro defn. --- src/network.c | 4 ---- diff --git a/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch index 2c9c2a64a8..8aca09feff 100644 --- a/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch +++ b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch @@ -1,8 +1,8 @@ From 476693678e778886b64d0b56e27eb7695cbcca99 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 17 Dec 2014 12:41:56 +0000 -Subject: [PATCH 15/98] Eliminate IPv6 privacy addresses from --interface-name - answers. +Subject: [PATCH 015/113] Eliminate IPv6 privacy addresses from + --interface-name answers. --- CHANGELOG | 5 +++++ diff --git a/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch index 3b984f34f9..df1268fcdc 100644 --- a/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch +++ b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch @@ -1,7 +1,7 @@ From 3267804598047bd1781cab91508d1bc516e5ddbb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 17 Dec 2014 20:38:20 +0000 -Subject: [PATCH 16/98] Tweak field width in cache dump to avoid truncating +Subject: [PATCH 016/113] Tweak field width in cache dump to avoid truncating IPv6 addresses. --- diff --git a/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch index 0aa4fe912d..81a39be305 100644 --- a/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch +++ b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch @@ -1,7 +1,7 @@ From 094b5c3d904bae9aeb3206d9f3b8348926b84975 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 21 Dec 2014 16:11:52 +0000 -Subject: [PATCH 17/98] Fix crash in DNSSEC code when attempting to verify +Subject: [PATCH 017/113] Fix crash in DNSSEC code when attempting to verify large RRs. --- diff --git a/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch index e80f0e3957..6f41cf2e70 100644 --- a/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch +++ b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch @@ -1,8 +1,8 @@ From cbc652423403e3cef00e00240f6beef713142246 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 21 Dec 2014 21:21:53 +0000 -Subject: [PATCH 18/98] Make caching work for CNAMEs pointing to A/AAAA records - shadowed in /etc/hosts +Subject: [PATCH 018/113] 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 diff --git a/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch index 7bd143ede6..1755c3a55d 100644 --- a/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch +++ b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch @@ -1,7 +1,7 @@ From fbc5205702c7f6f431d9f1043c553d7fb62ddfdb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 23 Dec 2014 15:46:08 +0000 -Subject: [PATCH 19/98] Fix problems validating NSEC3 and wildcards. +Subject: [PATCH 019/113] Fix problems validating NSEC3 and wildcards. --- src/dnssec.c | 253 ++++++++++++++++++++++++++++++----------------------------- diff --git a/src/patches/dnsmasq/0020-Initialise-return-value.patch b/src/patches/dnsmasq/0020-Initialise-return-value.patch index 27d121710b..2dd2f26589 100644 --- a/src/patches/dnsmasq/0020-Initialise-return-value.patch +++ b/src/patches/dnsmasq/0020-Initialise-return-value.patch @@ -1,7 +1,7 @@ From 83d2ed09fc0216b567d7fb2197e4ff3eae150b0d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 23 Dec 2014 18:42:38 +0000 -Subject: [PATCH 20/98] Initialise return value. +Subject: [PATCH 020/113] Initialise return value. --- src/dnssec.c | 7 +++++-- diff --git a/src/patches/dnsmasq/0021-Add-ignore-address-option.patch b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch index ab6e7a514c..7ff57afd7e 100644 --- a/src/patches/dnsmasq/0021-Add-ignore-address-option.patch +++ b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch @@ -1,7 +1,7 @@ From 32fc6dbe03569d70dd394420ceb73532cf303c33 Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Sat, 27 Dec 2014 15:28:12 +0000 -Subject: [PATCH 21/98] Add --ignore-address option. +Subject: [PATCH 021/113] Add --ignore-address option. --- CHANGELOG | 8 ++++++++ diff --git a/src/patches/dnsmasq/0022-Bad-packet-protection.patch b/src/patches/dnsmasq/0022-Bad-packet-protection.patch index 0c82506143..96c4696bab 100644 --- a/src/patches/dnsmasq/0022-Bad-packet-protection.patch +++ b/src/patches/dnsmasq/0022-Bad-packet-protection.patch @@ -1,7 +1,7 @@ From 0b1008d367d44e77352134a4c5178f896f0db3e7 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 27 Dec 2014 15:33:32 +0000 -Subject: [PATCH 22/98] Bad packet protection. +Subject: [PATCH 022/113] Bad packet protection. --- src/dnssec.c | 2 +- diff --git a/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch index 5bf7d6300e..f5dfad8aca 100644 --- a/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch +++ b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch @@ -1,7 +1,7 @@ From d310ab7ecbffce79d3d90debba621e0222f9bced Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sat, 27 Dec 2014 15:36:38 +0000 -Subject: [PATCH 23/98] Fix build failure in new inotify code on BSD. +Subject: [PATCH 023/113] Fix build failure in new inotify code on BSD. --- src/inotify.c | 4 ++-- diff --git a/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch index 41662b7e3c..6f29876c31 100644 --- a/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch +++ b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch @@ -1,7 +1,7 @@ From 81c538efcebfce2ce4a1d3a420b6c885b8f08df9 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Sat, 3 Jan 2015 16:36:14 +0000 -Subject: [PATCH 24/98] Implement makefile dependencies on COPTS variable. +Subject: [PATCH 024/113] Implement makefile dependencies on COPTS variable. --- .gitignore | 2 +- diff --git a/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch index 4de48837e3..84245f88d7 100644 --- a/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch +++ b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch @@ -1,7 +1,7 @@ From d8dbd903d024f84a149dac2f8a674a68dfed47a3 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Mon, 5 Jan 2015 17:03:35 +0000 -Subject: [PATCH 25/98] Fix race condition issue in makefile. +Subject: [PATCH 025/113] Fix race condition issue in makefile. --- Makefile | 4 +++- diff --git a/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch index cb9c925ecc..e715c50ae7 100644 --- a/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch +++ b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch @@ -1,7 +1,7 @@ From 97e618a0e3f29465acc689d87288596b006f197e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 7 Jan 2015 21:55:43 +0000 -Subject: [PATCH 26/98] DNSSEC: do top-down search for limit of secure +Subject: [PATCH 026/113] DNSSEC: do top-down search for limit of secure delegation. --- diff --git a/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch index 6b752538b0..f643527142 100644 --- a/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch +++ b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch @@ -1,7 +1,7 @@ From 25cf5e373eb41c088d4ee5e625209c4cf6a5659e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 9 Jan 2015 15:53:03 +0000 -Subject: [PATCH 27/98] Add --log-queries=extra option for more complete +Subject: [PATCH 027/113] Add --log-queries=extra option for more complete logging. --- diff --git a/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch index 6bb1c97fbb..8714feb9ce 100644 --- a/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch +++ b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch @@ -1,7 +1,7 @@ From 28de38768e2c7d763b9aa5b7a4d251d5e56bab0b Mon Sep 17 00:00:00 2001 From: RinSatsuki Date: Sat, 10 Jan 2015 15:22:21 +0000 -Subject: [PATCH 28/98] Add --min-cache-ttl option. +Subject: [PATCH 028/113] Add --min-cache-ttl option. --- CHANGELOG | 7 +++++++ diff --git a/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch index 0e63180c2d..6c4423e825 100644 --- a/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch +++ b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch @@ -1,7 +1,7 @@ From 9f79ee4ae34886c0319f06d8f162b81ef79d62fb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 12 Jan 2015 20:18:18 +0000 -Subject: [PATCH 29/98] Log port of requestor when doing extra logging. +Subject: [PATCH 029/113] Log port of requestor when doing extra logging. --- src/cache.c | 6 +++--- diff --git a/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch index 6817da140b..3be42b4cc1 100644 --- a/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch +++ b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch @@ -1,7 +1,7 @@ From 5e321739db381a1d7b5964d76e9c81471d2564c9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 12 Jan 2015 23:16:56 +0000 -Subject: [PATCH 30/98] Don't answer from cache RRsets from wildcards, as we +Subject: [PATCH 030/113] Don't answer from cache RRsets from wildcards, as we don't have NSECs. --- diff --git a/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch index 2b86121b1f..eafd381036 100644 --- a/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch +++ b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch @@ -1,7 +1,7 @@ From ae4624bf46b5e37ff1a9a2ba3c927e0dede95adb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 12 Jan 2015 23:22:08 +0000 -Subject: [PATCH 31/98] Logs for DS records consistent. +Subject: [PATCH 031/113] Logs for DS records consistent. --- src/rfc1035.c | 2 +- diff --git a/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch index d3d1277fc4..4997b837fc 100644 --- a/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch +++ b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch @@ -1,7 +1,8 @@ From 393415597c8b5b09558b789ab9ac238dbe3db65d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 18 Jan 2015 22:11:10 +0000 -Subject: [PATCH 32/98] Cope with multiple interfaces with the same LL address. +Subject: [PATCH 032/113] Cope with multiple interfaces with the same LL + address. --- CHANGELOG | 4 ++++ diff --git a/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch index 07cc0804b2..fe05a9c629 100644 --- a/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch +++ b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch @@ -1,7 +1,7 @@ From 2ae195f5a71f7c5a75717845de1bd72fc7dd67f3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 18 Jan 2015 22:20:48 +0000 -Subject: [PATCH 33/98] Don't treat SERVFAIL as a recoverable error..... +Subject: [PATCH 033/113] Don't treat SERVFAIL as a recoverable error..... --- src/forward.c | 2 +- diff --git a/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch index b93d9cce5c..636e91d64c 100644 --- a/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch +++ b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch @@ -1,7 +1,7 @@ From 5f4dc5c6ca50655ab14f572c7e30815ed74cd51a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 20 Jan 2015 20:51:02 +0000 -Subject: [PATCH 34/98] Add --dhcp-hostsdir config option. +Subject: [PATCH 034/113] Add --dhcp-hostsdir config option. --- CHANGELOG | 5 +++ diff --git a/src/patches/dnsmasq/0035-Update-German-translation.patch b/src/patches/dnsmasq/0035-Update-German-translation.patch index 820bce138e..99f7687bb1 100644 --- a/src/patches/dnsmasq/0035-Update-German-translation.patch +++ b/src/patches/dnsmasq/0035-Update-German-translation.patch @@ -1,7 +1,7 @@ From fbf01f7046e75f9aa73fd4aab2a94e43386d9052 Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Tue, 20 Jan 2015 21:07:56 +0000 -Subject: [PATCH 35/98] Update German translation. +Subject: [PATCH 035/113] Update German translation. --- po/de.po | 101 +++++++++++++++++++++++++++++---------------------------------- diff --git a/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch index 88562363e1..23d497ec4f 100644 --- a/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch +++ b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch @@ -1,7 +1,7 @@ From 61b838dd574c51d96fef100285a0d225824534f9 Mon Sep 17 00:00:00 2001 From: Win King Wan Date: Wed, 21 Jan 2015 20:41:48 +0000 -Subject: [PATCH 36/98] Don't reply to DHCPv6 SOLICIT messages when not +Subject: [PATCH 036/113] Don't reply to DHCPv6 SOLICIT messages when not configured for statefull DHCPv6. --- diff --git a/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch index 2a4df45c05..d962964c34 100644 --- a/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch +++ b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch @@ -1,7 +1,8 @@ From 0491805d2ff6e7727f0272c94fd97d9897d1e22c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 26 Jan 2015 11:23:43 +0000 -Subject: [PATCH 37/98] Allow inotify to be disabled at compile time on Linux. +Subject: [PATCH 037/113] Allow inotify to be disabled at compile time on + Linux. --- CHANGELOG | 4 +++- diff --git a/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch index cd35f366ae..20599227e9 100644 --- a/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch +++ b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch @@ -1,8 +1,8 @@ From 70d1873dd9e70041ed4bb88c69d5b886b7cc634c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 19:59:29 +0000 -Subject: [PATCH 38/98] Expand inotify code to dhcp-hostsdir, dhcp-optsdir and - hostsdir. +Subject: [PATCH 038/113] Expand inotify code to dhcp-hostsdir, dhcp-optsdir + and hostsdir. --- src/cache.c | 81 +++++++++++++++++--------- diff --git a/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch index 7cf3fa7cc5..4b56034fd2 100644 --- a/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch +++ b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch @@ -1,7 +1,7 @@ From aff3396280e944833f0e23d834aa6acd5fe2605a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 20:13:40 +0000 -Subject: [PATCH 39/98] Update copyrights for dawn of 2015. +Subject: [PATCH 039/113] Update copyrights for dawn of 2015. --- Makefile | 2 +- diff --git a/src/patches/dnsmasq/0040-inotify-documentation-updates.patch b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch index 3ed1b15eab..0a4a91acbf 100644 --- a/src/patches/dnsmasq/0040-inotify-documentation-updates.patch +++ b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch @@ -1,7 +1,7 @@ From 3d04f46334d0e345f589eda1372e638b946fe637 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 21:59:13 +0000 -Subject: [PATCH 40/98] inotify documentation updates. +Subject: [PATCH 040/113] inotify documentation updates. --- man/dnsmasq.8 | 11 +++++++++-- diff --git a/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch index 56dcc5f137..01033f4597 100644 --- a/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch +++ b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch @@ -1,7 +1,7 @@ From 6ef15b34ca83c62a939f69356d5c3f7a6bfef3d0 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 22:44:26 +0000 -Subject: [PATCH 41/98] Fix broken ECDSA DNSSEC signatures. +Subject: [PATCH 041/113] Fix broken ECDSA DNSSEC signatures. --- CHANGELOG | 2 ++ diff --git a/src/patches/dnsmasq/0042-BSD-make-support.patch b/src/patches/dnsmasq/0042-BSD-make-support.patch index 65842537c0..6e9bc47454 100644 --- a/src/patches/dnsmasq/0042-BSD-make-support.patch +++ b/src/patches/dnsmasq/0042-BSD-make-support.patch @@ -1,7 +1,7 @@ From 106266761828a0acb006346ae47bf031dee46a5d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 1 Feb 2015 00:15:16 +0000 -Subject: [PATCH 42/98] BSD make support +Subject: [PATCH 042/113] BSD make support --- Makefile | 6 ++++-- diff --git a/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch index a8c26bf393..6953204fa8 100644 --- a/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch +++ b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch @@ -1,7 +1,7 @@ From 8d8a54ec79d9f96979fabbd97b1dd2ddebc7d78f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 1 Feb 2015 21:48:46 +0000 -Subject: [PATCH 43/98] Fix build failure on openBSD. +Subject: [PATCH 043/113] Fix build failure on openBSD. --- src/tables.c | 2 +- diff --git a/src/patches/dnsmasq/0044-Manpage-typo-fix.patch b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch index f8bd5fc183..5c01cfeb29 100644 --- a/src/patches/dnsmasq/0044-Manpage-typo-fix.patch +++ b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch @@ -1,7 +1,7 @@ From d36b732c4cfa91ea09af64b5dc0f3a85a075e5bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thi=C3=A9baud=20Weksteen?= Date: Mon, 2 Feb 2015 21:37:27 +0000 -Subject: [PATCH 44/98] Manpage typo fix. +Subject: [PATCH 044/113] Manpage typo fix. --- man/dnsmasq.8 | 2 +- diff --git a/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch index 7f6d39f6cf..b4c2748804 100644 --- a/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch +++ b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch @@ -1,7 +1,7 @@ From 2941d3ac898cf84b544e47c9735c5e4111711db1 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 2 Feb 2015 22:36:42 +0000 -Subject: [PATCH 45/98] Fixup dhcp-configs after reading extra hostfiles with +Subject: [PATCH 045/113] Fixup dhcp-configs after reading extra hostfiles with inotify. --- diff --git a/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch index b15ef9a65a..d4f823d72f 100644 --- a/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch +++ b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch @@ -1,7 +1,7 @@ From f9c863708c6b0aea31ff7a466647685dc739de50 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 3 Feb 2015 21:52:48 +0000 -Subject: [PATCH 46/98] Extra logging for inotify code. +Subject: [PATCH 046/113] Extra logging for inotify code. --- src/cache.c | 9 ++++----- diff --git a/src/patches/dnsmasq/0047-man-page-typo.patch b/src/patches/dnsmasq/0047-man-page-typo.patch index 5557b51318..bcf53f123c 100644 --- a/src/patches/dnsmasq/0047-man-page-typo.patch +++ b/src/patches/dnsmasq/0047-man-page-typo.patch @@ -1,7 +1,7 @@ From efb8b5566aafc1f3ce18514a2df93af5a2e4998c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 7 Feb 2015 22:36:34 +0000 -Subject: [PATCH 47/98] man page typo. +Subject: [PATCH 047/113] man page typo. --- man/dnsmasq.8 | 1 + diff --git a/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch index c70ca46129..47ada5bc51 100644 --- a/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch +++ b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch @@ -1,8 +1,8 @@ From f4f400776b3c1aa303d1a0fcd500f0ab5bc970f2 Mon Sep 17 00:00:00 2001 From: Shantanu Gadgil Date: Wed, 11 Feb 2015 20:16:59 +0000 -Subject: [PATCH 48/98] Fix get-version script which returned wrong tag in some - situations. +Subject: [PATCH 048/113] Fix get-version script which returned wrong tag in + some situations. --- bld/get-version | 2 +- diff --git a/src/patches/dnsmasq/0049-Typos.patch b/src/patches/dnsmasq/0049-Typos.patch index 1c711806e5..88ace389a7 100644 --- a/src/patches/dnsmasq/0049-Typos.patch +++ b/src/patches/dnsmasq/0049-Typos.patch @@ -1,7 +1,7 @@ From 8ff70de618eb7de9147dbfbd4deca4a2dd62f0cb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 14 Feb 2015 20:02:37 +0000 -Subject: [PATCH 49/98] Typos. +Subject: [PATCH 049/113] Typos. --- src/inotify.c | 3 ++- diff --git a/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch index 38736c7a74..fda7094a9c 100644 --- a/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch +++ b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch @@ -1,7 +1,7 @@ From caeea190f12efd20139f694aac4942d1ac00019f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 14 Feb 2015 20:08:56 +0000 -Subject: [PATCH 50/98] Make dynamic hosts files work when --no-hosts set. +Subject: [PATCH 050/113] Make dynamic hosts files work when --no-hosts set. --- src/cache.c | 21 +++++++++++---------- diff --git a/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch index fb15cc2b9e..72bd1caf7f 100644 --- a/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch +++ b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch @@ -1,7 +1,7 @@ From 28b879ac47b872af6e8c5e86d76806c69338434d Mon Sep 17 00:00:00 2001 From: Chen Wei Date: Tue, 17 Feb 2015 22:07:35 +0000 -Subject: [PATCH 51/98] Fix trivial memory leaks to quieten valgrind. +Subject: [PATCH 051/113] Fix trivial memory leaks to quieten valgrind. --- src/dnsmasq.c | 2 ++ diff --git a/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch index dabc770a4d..1e28322e13 100644 --- a/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch +++ b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch @@ -1,7 +1,7 @@ From 0705a7e2d57654b27c7e14f35ca77241c1821f4d Mon Sep 17 00:00:00 2001 From: Tomas Hozza Date: Mon, 23 Feb 2015 21:26:26 +0000 -Subject: [PATCH 52/98] Fix uninitialized value used in get_client_mac() +Subject: [PATCH 052/113] Fix uninitialized value used in get_client_mac() --- src/dhcp6.c | 4 +++- diff --git a/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch index 82e38fcdef..9a53149440 100644 --- a/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch +++ b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch @@ -1,7 +1,7 @@ From 47b9ac59c715827252ae6e6732903c3dabb697fb Mon Sep 17 00:00:00 2001 From: Joachim Zobel Date: Mon, 23 Feb 2015 21:38:11 +0000 -Subject: [PATCH 53/98] Log parsing utils in contrib/reverse-dns +Subject: [PATCH 053/113] Log parsing utils in contrib/reverse-dns --- contrib/reverse-dns/README | 18 ++++++++++++++++++ diff --git a/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch index 6d57b653af..4eebb74a2c 100644 --- a/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch +++ b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch @@ -1,7 +1,7 @@ From f6e62e2af96f5fa0d1e3d93167a93a8f09bf6e61 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 1 Mar 2015 18:17:54 +0000 -Subject: [PATCH 54/98] Add --dnssec-timestamp option and facility. +Subject: [PATCH 054/113] Add --dnssec-timestamp option and facility. --- CHANGELOG | 6 +++++ diff --git a/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch index 53e1388b97..e41596b723 100644 --- a/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch +++ b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch @@ -1,7 +1,7 @@ From 9003b50b13da624ca45f3e0cf99abb623b8d026b Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 2 Mar 2015 22:47:23 +0000 -Subject: [PATCH 55/98] Fix last commit to not crash if uid changing not +Subject: [PATCH 055/113] Fix last commit to not crash if uid changing not configured. --- diff --git a/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch b/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch index 32cd7431aa..50b0db3877 100644 --- a/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch +++ b/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch @@ -1,7 +1,7 @@ From 4c960fa90a975d20f75a1ecabd217247f1922c8f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 4 Mar 2015 20:32:26 +0000 -Subject: [PATCH 56/98] New version of contrib/reverse-dns +Subject: [PATCH 056/113] New version of contrib/reverse-dns --- contrib/reverse-dns/README | 22 +++--- diff --git a/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch b/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch index d63c047448..f33e4d2180 100644 --- a/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch +++ b/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch @@ -1,7 +1,7 @@ From 360f2513ab12a9bf1e262d388dd2ea8a566590a3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 7 Mar 2015 18:28:06 +0000 -Subject: [PATCH 57/98] Tweak DNSSEC timestamp code to create file later, +Subject: [PATCH 057/113] Tweak DNSSEC timestamp code to create file later, removing need to chown it. --- diff --git a/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch b/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch index f746fcfbf5..18bae12999 100644 --- a/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch +++ b/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch @@ -1,7 +1,7 @@ From ff841ebf5a5d6864ff48571f607c32ce80dbb75a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 11 Mar 2015 21:36:30 +0000 -Subject: [PATCH 58/98] Fix boilerplate code for re-running system calls on +Subject: [PATCH 058/113] Fix boilerplate code for re-running system calls on EINTR and EAGAIN etc. The nasty code with static variable in retry_send() which diff --git a/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch b/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch index d986e8eaaa..83690d3771 100644 --- a/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch +++ b/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch @@ -1,7 +1,7 @@ From 979fe86bc8693f660eddea232ae39cbbb50b294c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 19 Mar 2015 22:50:22 +0000 -Subject: [PATCH 59/98] Make --address=/example.com/ equivalent to +Subject: [PATCH 059/113] Make --address=/example.com/ equivalent to --server=/example.com/ --- diff --git a/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch b/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch index 6810930725..0033d01d2f 100644 --- a/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch +++ b/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch @@ -1,7 +1,8 @@ From 65c721200023ef0023114459a8d12f8b0a24cfd8 Mon Sep 17 00:00:00 2001 From: Lung-Pin Chang Date: Thu, 19 Mar 2015 23:22:21 +0000 -Subject: [PATCH 60/98] dhcp: set outbound interface via cmsg in unicast reply +Subject: [PATCH 060/113] 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 diff --git a/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch b/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch index af79f156da..67bf508b71 100644 --- a/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch +++ b/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch @@ -1,7 +1,7 @@ From 8805283088d670baecb92569252c01cf754cda51 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 26 Mar 2015 21:15:43 +0000 -Subject: [PATCH 61/98] Don't fail DNSSEC when a signed CNAME dangles into an +Subject: [PATCH 061/113] Don't fail DNSSEC when a signed CNAME dangles into an unsigned zone. --- diff --git a/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch b/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch index 0b64aa7bac..ed4068e4bf 100644 --- a/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch +++ b/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch @@ -1,7 +1,7 @@ From 150162bc37170a6edae9d488435e836b1e4e3a4e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 27 Mar 2015 09:58:26 +0000 -Subject: [PATCH 62/98] Return SERVFAIL when validation abandoned. +Subject: [PATCH 062/113] Return SERVFAIL when validation abandoned. --- src/forward.c | 11 +++++++++-- diff --git a/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch b/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch index 9ecd43b7f9..3372b2d2a2 100644 --- a/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch +++ b/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch @@ -1,7 +1,7 @@ From 0b8a5a30a77331974ba24a04e43e720585dfbc61 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 27 Mar 2015 11:44:55 +0000 -Subject: [PATCH 63/98] Protect against broken DNSSEC upstreams. +Subject: [PATCH 063/113] Protect against broken DNSSEC upstreams. --- src/dnssec.c | 7 +++++-- diff --git a/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch b/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch index bfd703d3a0..2a26325346 100644 --- a/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch +++ b/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch @@ -1,7 +1,7 @@ From 1e153945def3c50d1e59ceea6a768db0ac770f98 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 28 Mar 2015 21:34:07 +0000 -Subject: [PATCH 64/98] DNSSEC fix for non-ascii characters in labels. +Subject: [PATCH 064/113] DNSSEC fix for non-ascii characters in labels. --- src/dnssec.c | 34 +++++++++++++++++----------------- diff --git a/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch b/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch index f67b65af15..fc41947f4b 100644 --- a/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch +++ b/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch @@ -1,8 +1,8 @@ From 394ff492da6af5da7e7d356be9586683bc5fc011 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 29 Mar 2015 22:17:14 +0100 -Subject: [PATCH 65/98] Allow control characters in names in the cache, handle - when logging. +Subject: [PATCH 065/113] Allow control characters in names in the cache, + handle when logging. --- src/cache.c | 19 +++++++++++++++++-- diff --git a/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch b/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch index 7a227d5573..8625daedf5 100644 --- a/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch +++ b/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch @@ -1,7 +1,7 @@ From 794fccca7ffebfba4468bfffc6276b68bbf6afd9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 29 Mar 2015 22:35:44 +0100 -Subject: [PATCH 66/98] Fix crash in last commit. +Subject: [PATCH 066/113] Fix crash in last commit. --- src/cache.c | 7 ++++--- diff --git a/src/patches/dnsmasq/0067-Merge-message-translations.patch b/src/patches/dnsmasq/0067-Merge-message-translations.patch index a88db2234c..67849f6285 100644 --- a/src/patches/dnsmasq/0067-Merge-message-translations.patch +++ b/src/patches/dnsmasq/0067-Merge-message-translations.patch @@ -1,7 +1,7 @@ From fd6ad9e481ab7c812a6b1515244908818cbb0442 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 30 Mar 2015 07:52:21 +0100 -Subject: [PATCH 67/98] Merge message translations. +Subject: [PATCH 067/113] Merge message translations. --- po/de.po | 803 +++++++++++++++++++++++++++++++++-------------------------- diff --git a/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch b/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch index b273220d69..e8f796eba6 100644 --- a/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch +++ b/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch @@ -1,7 +1,7 @@ From 30d0879ed55cb67b1b735beab3d93f3bb3ef1dd2 Mon Sep 17 00:00:00 2001 From: Stefan Tomanek Date: Tue, 31 Mar 2015 22:32:11 +0100 -Subject: [PATCH 68/98] add --tftp-no-fail to ignore missing tftp root +Subject: [PATCH 068/113] add --tftp-no-fail to ignore missing tftp root --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0069-Whitespace-fixes.patch b/src/patches/dnsmasq/0069-Whitespace-fixes.patch index 684ef64218..49dca7190a 100644 --- a/src/patches/dnsmasq/0069-Whitespace-fixes.patch +++ b/src/patches/dnsmasq/0069-Whitespace-fixes.patch @@ -1,7 +1,7 @@ From 7aa970e2c7043201663d86a4b5d8cd5c592cef39 Mon Sep 17 00:00:00 2001 From: Stefan Tomanek Date: Wed, 1 Apr 2015 17:55:07 +0100 -Subject: [PATCH 69/98] Whitespace fixes. +Subject: [PATCH 069/113] Whitespace fixes. --- src/dnsmasq.c | 14 +++++++------- diff --git a/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch b/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch index aa24c012a7..142f4c92d8 100644 --- a/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch +++ b/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch @@ -1,7 +1,7 @@ From fe3992f9fa69fa975ea31919c53933b5f6a63527 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 3 Apr 2015 21:25:05 +0100 -Subject: [PATCH 70/98] Return INSECURE, rather than BOGUS when DS proved not +Subject: [PATCH 070/113] Return INSECURE, rather than BOGUS when DS proved not to exist. Return INSECURE when validating DNS replies which have RRSIGs, but diff --git a/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch b/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch index ac57b8bb1b..37f09d7061 100644 --- a/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch +++ b/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch @@ -1,7 +1,7 @@ From 982faf402487e265ed11ac03524531d42b03c966 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 3 Apr 2015 21:42:30 +0100 -Subject: [PATCH 71/98] Fix compiler warning when not including DNSSEC. +Subject: [PATCH 071/113] Fix compiler warning when not including DNSSEC. --- src/forward.c | 3 ++- diff --git a/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch b/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch index 2303ec3211..7baedf0b1d 100644 --- a/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch +++ b/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch @@ -1,7 +1,7 @@ From 04b0ac05377936d121a36873bb63d492cde292c9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 6 Apr 2015 17:19:13 +0100 -Subject: [PATCH 72/98] Fix crash caused by looking up servers.bind when many +Subject: [PATCH 072/113] Fix crash caused by looking up servers.bind when many servers defined. --- diff --git a/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch b/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch index 82471ae99c..cc7ed4b399 100644 --- a/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch +++ b/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch @@ -1,7 +1,8 @@ From ad4a8ff7d9097008d7623df8543df435bfddeac8 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 9 Apr 2015 21:48:00 +0100 -Subject: [PATCH 73/98] Fix crash on receipt of certain malformed DNS requests. +Subject: [PATCH 073/113] Fix crash on receipt of certain malformed DNS + requests. --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch b/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch index 6a7d79874b..4b4ff32e21 100644 --- a/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch +++ b/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch @@ -1,7 +1,7 @@ From 38440b204db65f9be16c4c3daa7e991e4356f6ed Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 12 Apr 2015 21:52:47 +0100 -Subject: [PATCH 74/98] Fix crash in auth code with odd configuration. +Subject: [PATCH 074/113] Fix crash in auth code with odd configuration. --- CHANGELOG | 32 +++++++++++++++++++++----------- diff --git a/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch b/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch index 76f31433fa..b125a92780 100644 --- a/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch +++ b/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch @@ -1,7 +1,7 @@ From 78c6184752dce27849e36cce4360abc27b8d76d2 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 16 Apr 2015 15:05:30 +0100 -Subject: [PATCH 75/98] Auth: correct replies to NS and SOA in .arpa zones. +Subject: [PATCH 075/113] Auth: correct replies to NS and SOA in .arpa zones. --- CHANGELOG | 8 ++++++++ diff --git a/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch b/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch index 9401cb9e81..8702f538b8 100644 --- a/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch +++ b/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch @@ -1,7 +1,7 @@ From b4c0f092d8ce63ea4763c0ac17aa8d24318ad301 Mon Sep 17 00:00:00 2001 From: Stefan Tomanek Date: Thu, 16 Apr 2015 15:20:59 +0100 -Subject: [PATCH 76/98] Fix (srk induced) crash in new tftp_no_fail code. +Subject: [PATCH 076/113] Fix (srk induced) crash in new tftp_no_fail code. --- src/dnsmasq.c | 6 ++++-- diff --git a/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch b/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch index a14b1a8159..9f2c6d8fb9 100644 --- a/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch +++ b/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch @@ -1,7 +1,7 @@ From 0df29f5e23fd2f16181847db1fcf3a8b392d869a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 16 Apr 2015 15:24:52 +0100 -Subject: [PATCH 77/98] Note CVE-2015-3294 +Subject: [PATCH 077/113] Note CVE-2015-3294 --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch b/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch index 2204d246a8..f833b93291 100644 --- a/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch +++ b/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch @@ -1,7 +1,7 @@ From 554b580e970275d5a869cb4fbfb2716f92b2f664 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 17 Apr 2015 22:50:20 +0100 -Subject: [PATCH 78/98] Log domain when reporting DNSSEC validation failure. +Subject: [PATCH 078/113] Log domain when reporting DNSSEC validation failure. --- src/forward.c | 15 ++++++++++----- diff --git a/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch b/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch index 6db33bbf91..9916cb745e 100644 --- a/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch +++ b/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch @@ -1,7 +1,7 @@ From a006eb7e1486023480ea40244720ef7aab51de71 Mon Sep 17 00:00:00 2001 From: Moshe Levi Date: Sun, 19 Apr 2015 22:10:40 +0100 -Subject: [PATCH 79/98] Check IP address command line arg in dhcp_release.c +Subject: [PATCH 079/113] Check IP address command line arg in dhcp_release.c --- contrib/wrt/dhcp_release.c | 5 +++++ diff --git a/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch b/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch index 4fe26ac015..c4e210312b 100644 --- a/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch +++ b/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch @@ -1,7 +1,7 @@ From 338b340be9e7198f5c0f68133d070d6598a0814c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 20 Apr 2015 21:34:05 +0100 -Subject: [PATCH 80/98] Revert 61b838dd574c51d96fef100285a0d225824534f9 and +Subject: [PATCH 080/113] Revert 61b838dd574c51d96fef100285a0d225824534f9 and just quieten log instead. --- diff --git a/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch b/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch index 13ff0595fc..a2f10fe6ed 100644 --- a/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch +++ b/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch @@ -1,7 +1,7 @@ From cbe379ad6b52a538a4416a7cd992817e5637ccf9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 21 Apr 2015 22:57:06 +0100 -Subject: [PATCH 81/98] Handle domain names with '.' or /000 within labels. +Subject: [PATCH 081/113] 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. diff --git a/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch b/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch index 2429e992b0..1b2b73b1c2 100644 --- a/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch +++ b/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch @@ -1,7 +1,7 @@ From b8f16556d36924cd8dc7663cb4129d7b1f3fc2be Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 22 Apr 2015 21:14:31 +0100 -Subject: [PATCH 82/98] Tweaks to previous, DNS label charset commit. +Subject: [PATCH 082/113] Tweaks to previous, DNS label charset commit. --- src/dns-protocol.h | 6 +++++- diff --git a/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch b/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch index 423b40e4ef..bd800c795e 100644 --- a/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch +++ b/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch @@ -1,7 +1,7 @@ From a5ae1f85873829efe473075ad77806cc02792622 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 25 Apr 2015 21:46:10 +0100 -Subject: [PATCH 83/98] Logs in DHCPv6 not suppressed by dhcp6-quiet. +Subject: [PATCH 083/113] Logs in DHCPv6 not suppressed by dhcp6-quiet. --- CHANGELOG | 6 +++++- diff --git a/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch b/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch index 555bd6cd5a..bafdeb2fb7 100644 --- a/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch +++ b/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch @@ -1,7 +1,7 @@ From 8efd731cc4ed2baa42aa69d0a9d336392e9987cb Mon Sep 17 00:00:00 2001 From: "Johnny S. Lee" <_@jsl.io> Date: Sun, 26 Apr 2015 22:23:57 +0100 -Subject: [PATCH 84/98] Make get-version work when repo is a git submodule. +Subject: [PATCH 084/113] Make get-version work when repo is a git submodule. --- bld/get-version | 5 +++-- diff --git a/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch b/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch index 828c21f631..0b5a6cf786 100644 --- a/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch +++ b/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch @@ -1,7 +1,7 @@ From e66b4dff3c562c7836d5be4c26972d665ad783f1 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 28 Apr 2015 20:45:57 +0100 -Subject: [PATCH 85/98] Fix argument-order botch which broke DNSSEC for TCP +Subject: [PATCH 085/113] Fix argument-order botch which broke DNSSEC for TCP queries. --- diff --git a/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch b/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch index 9d3aadc89a..afa4831af8 100644 --- a/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch +++ b/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch @@ -1,8 +1,8 @@ From 2ed162ac204f3609fe4d9f9a0430baeaa352d88f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 28 Apr 2015 21:26:35 +0100 -Subject: [PATCH 86/98] Don't remove RRSIG RR from answers to ANY queries when - the do bit is not set. +Subject: [PATCH 086/113] Don't remove RRSIG RR from answers to ANY queries + when the do bit is not set. --- src/rfc1035.c | 5 +++++ diff --git a/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch b/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch index 743548ef31..0023ab536a 100644 --- a/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch +++ b/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch @@ -1,7 +1,7 @@ From 64bcff1c7c72eecda8750bc2dca8b4c5dc38a837 Mon Sep 17 00:00:00 2001 From: Nicolas Cavallari Date: Tue, 28 Apr 2015 21:55:18 +0100 -Subject: [PATCH 87/98] Constify some DHCP lease management functions. +Subject: [PATCH 087/113] Constify some DHCP lease management functions. --- src/dnsmasq.h | 7 ++++--- diff --git a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch index af4d6d7b1a..af8677657e 100644 --- a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch +++ b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch @@ -1,7 +1,7 @@ From a77cec8d58231d71cbc26615f0c0f0292c09ef54 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 8 May 2015 16:25:38 +0100 -Subject: [PATCH 88/98] Handle UDP packet loss when fragmentation of large +Subject: [PATCH 088/113] Handle UDP packet loss when fragmentation of large packets is broken. --- diff --git a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch index c75d864d77..a1011b023f 100644 --- a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch +++ b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch @@ -1,7 +1,7 @@ From b059c96dc69dfe3055c5b32b078a05c53b11ebb3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 8 May 2015 20:25:51 +0100 -Subject: [PATCH 89/98] Check IPv4-mapped IPv6 addresses with --stop-rebind. +Subject: [PATCH 089/113] Check IPv4-mapped IPv6 addresses with --stop-rebind. --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch index b6d9c47cff..d774a23b23 100644 --- a/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch +++ b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch @@ -1,7 +1,7 @@ From 86fa1046920dedc8134136a6244ca96e8a37e9d8 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 10 May 2015 13:50:59 +0100 -Subject: [PATCH 90/98] Tweak EDNS timeout code. +Subject: [PATCH 090/113] Tweak EDNS timeout code. --- src/forward.c | 6 ++++-- diff --git a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch index b65bb87e6c..abfea9ccf4 100644 --- a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch +++ b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch @@ -1,7 +1,7 @@ From 585840b03365372679907f175b07a01c9d621ae0 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 13 May 2015 12:35:57 +0100 -Subject: [PATCH 91/98] Pointer to mail-archive mailing list mirror in +Subject: [PATCH 091/113] Pointer to mail-archive mailing list mirror in doc.html. --- diff --git a/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch index 84246c336a..6fb21e827d 100644 --- a/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch +++ b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch @@ -1,7 +1,7 @@ From ca85a28241ef87919d68d52c843b6964b7070e11 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 13 May 2015 22:33:04 +0100 -Subject: [PATCH 92/98] Allow T1 and T2 DHCPv4 options to be set. +Subject: [PATCH 092/113] Allow T1 and T2 DHCPv4 options to be set. --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0093-Tweak-last-commit.patch b/src/patches/dnsmasq/0093-Tweak-last-commit.patch index 578e764b1e..5192bbc2b0 100644 --- a/src/patches/dnsmasq/0093-Tweak-last-commit.patch +++ b/src/patches/dnsmasq/0093-Tweak-last-commit.patch @@ -1,7 +1,7 @@ From 7c0f2543a7e761d1ec82738374556beeb8a35bef Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 14 May 2015 21:16:18 +0100 -Subject: [PATCH 93/98] Tweak last commit. +Subject: [PATCH 093/113] Tweak last commit. --- src/rfc2131.c | 8 ++++---- diff --git a/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch b/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch index a7d754613a..ad18401a0e 100644 --- a/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch +++ b/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch @@ -1,7 +1,7 @@ From 62018e1f720fa11e83879111a4b1b3753b5c25bb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 14 May 2015 21:30:00 +0100 -Subject: [PATCH 94/98] Use correct DHCP context for PXE-proxy server-id. +Subject: [PATCH 094/113] Use correct DHCP context for PXE-proxy server-id. --- src/rfc2131.c | 4 ++-- diff --git a/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch b/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch index b1b06f2671..a6a788f079 100644 --- a/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch +++ b/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch @@ -1,7 +1,7 @@ From 5d07d77e75e0f02bc0a8f6029ffbc8b371fa804e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 15 May 2015 18:13:06 +0100 -Subject: [PATCH 95/98] Fix buffer overflow introduced in 2.73rc6. +Subject: [PATCH 095/113] 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 diff --git a/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch b/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch index db0a1e500d..763a43dbc8 100644 --- a/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch +++ b/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch @@ -1,7 +1,7 @@ From 06568c663643b9ed1577d95efee69d734f427cf5 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 15 May 2015 20:43:48 +0100 -Subject: [PATCH 96/98] Remove support for DNS Extended Label Types. +Subject: [PATCH 096/113] Remove support for DNS Extended Label Types. The support was only partial, and the whole concept is now deprecated in the standards. diff --git a/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch b/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch index b9f2e63a4d..896ba6d89f 100644 --- a/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch +++ b/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch @@ -1,7 +1,7 @@ From 7f8565b94ca52dde31f7688a9f9a0cc611d9dae3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 19 May 2015 23:01:27 +0100 -Subject: [PATCH 97/98] Select correct DHCP context when in PXE bootserver +Subject: [PATCH 097/113] Select correct DHCP context when in PXE bootserver mode. --- diff --git a/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch b/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch index 1be4278c0d..a478e77ad3 100644 --- a/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch +++ b/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch @@ -1,7 +1,7 @@ From 549b1a478c5eee9dbd3a0709913a26ec29d30f2c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 20 May 2015 20:20:24 +0100 -Subject: [PATCH 98/98] Tweak immediately previous patch. +Subject: [PATCH 098/113] Tweak immediately previous patch. --- src/rfc2131.c | 9 +++++++-- diff --git a/src/patches/dnsmasq/0099-Man-page-typo.patch b/src/patches/dnsmasq/0099-Man-page-typo.patch new file mode 100644 index 0000000000..51831ad4bf --- /dev/null +++ b/src/patches/dnsmasq/0099-Man-page-typo.patch @@ -0,0 +1,25 @@ +From 23facf0d7752b048521f0d900336bda89348ae67 Mon Sep 17 00:00:00 2001 +From: Christian Demsar +Date: Wed, 20 May 2015 20:26:23 +0100 +Subject: [PATCH 099/113] Man page typo. + +--- + man/dnsmasq.8 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 6b4626cc0aad..f811dc326e9f 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -1388,7 +1388,7 @@ enables dynamic allocation. With tags, only when the tags are all + set. It may be repeated with different tag sets. + .TP + .B \-5, --no-ping +-(IPv4 only) By default, the DHCP server will attempt to ensure that an address in ++(IPv4 only) By default, the DHCP server will attempt to ensure that an address is + not in use before allocating it to a host. It does this by sending an + ICMP echo request (aka "ping") to the address in question. If it gets + a reply, then the address must already be in use, and another is +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch b/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch new file mode 100644 index 0000000000..74c6800a66 --- /dev/null +++ b/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch @@ -0,0 +1,30 @@ +From 46c89f2bd0e0734889e4707202a5aaed24f74daa Mon Sep 17 00:00:00 2001 +From: John Hanks +Date: Tue, 26 May 2015 22:07:57 +0100 +Subject: [PATCH 100/113] Add infiniband to example config file. + +--- + dnsmasq.conf.example | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example +index 67be99acb028..250a79204e8d 100644 +--- a/dnsmasq.conf.example ++++ b/dnsmasq.conf.example +@@ -251,6 +251,13 @@ + # the IP address 192.168.0.60 + #dhcp-host=id:01:02:02:04,192.168.0.60 + ++# Always give the Infiniband interface with hardware address ++# 80:00:00:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:28:05:81 the ++# ip address 192.168.0.61. The client id is derived from the prefix ++# ff:00:00:00:00:00:02:00:00:02:c9:00 and the last 8 pairs of ++# hex digits of the hardware address. ++#dhcp-host=id:ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:05:81,192.168.0.61 ++ + # Always give the host with client identifier "marjorie" + # the IP address 192.168.0.60 + #dhcp-host=id:marjorie,192.168.0.60 +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch b/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch new file mode 100644 index 0000000000..e97e5f794a --- /dev/null +++ b/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch @@ -0,0 +1,55 @@ +From bd7bfa21c4500fca8b18bc7f68890bf51cd737e3 Mon Sep 17 00:00:00 2001 +From: swigger +Date: Mon, 1 Jun 2015 20:54:59 +0100 +Subject: [PATCH 101/113] Correctly sanitise DNS header bits in answer when + recreating query for retry. + +--- + src/dns-protocol.h | 14 +++++++------- + src/forward.c | 3 ++- + 2 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/src/dns-protocol.h b/src/dns-protocol.h +index 4b71746f8d26..6cf515881c17 100644 +--- a/src/dns-protocol.h ++++ b/src/dns-protocol.h +@@ -84,15 +84,15 @@ struct dns_header { + u16 qdcount,ancount,nscount,arcount; + }; + +-#define HB3_QR 0x80 ++#define HB3_QR 0x80 /* Query */ + #define HB3_OPCODE 0x78 +-#define HB3_AA 0x04 +-#define HB3_TC 0x02 +-#define HB3_RD 0x01 ++#define HB3_AA 0x04 /* Authoritative Answer */ ++#define HB3_TC 0x02 /* TrunCated */ ++#define HB3_RD 0x01 /* Recursion Desired */ + +-#define HB4_RA 0x80 +-#define HB4_AD 0x20 +-#define HB4_CD 0x10 ++#define HB4_RA 0x80 /* Recursion Available */ ++#define HB4_AD 0x20 /* Authenticated Data */ ++#define HB4_CD 0x10 /* Checking Disabled */ + #define HB4_RCODE 0x0f + + #define OPCODE(x) (((x)->hb3 & HB3_OPCODE) >> 3) +diff --git a/src/forward.c b/src/forward.c +index 74e5ab66c423..8c3e71cebe87 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -769,7 +769,8 @@ void reply_query(int fd, int family, time_t now) + header->arcount = htons(0); + if ((nn = resize_packet(header, (size_t)n, pheader, plen))) + { +- header->hb3 &= ~(HB3_QR | HB3_TC); ++ header->hb3 &= ~(HB3_QR | HB3_AA | HB3_TC); ++ header->hb4 &= ~(HB4_RA | HB4_RCODE); + forward_query(-1, NULL, NULL, 0, header, nn, now, forward, 0, 0); + return; + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch b/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch new file mode 100644 index 0000000000..22b24cd6ce --- /dev/null +++ b/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch @@ -0,0 +1,43 @@ +From 89130d91d684faa88cb244f46c85eb26a8c06d7a Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Wed, 3 Jun 2015 22:30:59 +0100 +Subject: [PATCH 102/113] DHCPv6: DHCPCONFIRM should be OK for any address on + link, not just dynamic addresses. + +--- + CHANGELOG | 5 +++++ + src/rfc3315.c | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CHANGELOG b/CHANGELOG +index ef39a415788b..9e1b5a5ab0b8 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -121,6 +121,11 @@ version 2.73 + Allow DHCPv4 options T1 and T2 to be set using --dhcp-option. + Thanks to Kevin Benton for patches and work on this. + ++ Fix code for DHCPCONFIRM DHCPv6 messages to confirm addresses ++ in the correct subnet, even of not in dynamic address ++ allocation range. Thanks to Steve Hirsch for spotting ++ the problem. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/rfc3315.c b/src/rfc3315.c +index b4f5dd2db61f..2665d0d3294a 100644 +--- a/src/rfc3315.c ++++ b/src/rfc3315.c +@@ -1089,7 +1089,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + { + struct in6_addr *req_addr = opt6_ptr(ia_option, 0); + +- if (!address6_available(state->context, req_addr, tagif, 1)) ++ if (!address6_valid(state->context, req_addr, tagif, 1)) + { + o1 = new_opt6(OPTION6_STATUS_CODE); + put_opt6_short(DHCP6NOTONLINK); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch b/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch new file mode 100644 index 0000000000..c7cde8de09 --- /dev/null +++ b/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch @@ -0,0 +1,53 @@ +From 4d25cf89d51c635af0a23c0ca3425c7aadbc0b55 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Sat, 6 Jun 2015 23:13:57 +0100 +Subject: [PATCH 103/113] Handle corner cases in NSEC coverage checks. + +--- + src/dnssec.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index e91d7c2cf040..93217b05a846 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -1493,13 +1493,13 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi + { + /* Normal case, name falls between NSEC name and next domain name, + wrap around case, name falls between NSEC name (rc == -1) and end */ +- if (hostname_cmp(workspace2, name) == 1 || hostname_cmp(workspace1, workspace2) == 1) ++ if (hostname_cmp(workspace2, name) >= 0 || hostname_cmp(workspace1, workspace2) >= 0) + return STAT_SECURE; + } + else + { + /* wrap around case, name falls between start and next domain name */ +- if (hostname_cmp(workspace1, workspace2) == 1 && hostname_cmp(workspace2, name) == 1) ++ if (hostname_cmp(workspace1, workspace2) >= 0 && hostname_cmp(workspace2, name) >=0 ) + return STAT_SECURE; + } + } +@@ -1632,17 +1632,17 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige + + return 1; + } +- else if (rc <= 0) ++ else if (rc < 0) + { + /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash, + wrap around case, name-hash falls between NSEC3 name-hash and end */ +- if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0) ++ if (memcmp(p, digest, digest_len) >= 0 || memcmp(workspace2, p, digest_len) >= 0) + return 1; + } + else + { + /* wrap around case, name falls between start and next domain name */ +- if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0) ++ if (memcmp(workspace2, p, digest_len) >= 0 && memcmp(p, digest, digest_len) >= 0) + return 1; + } + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch b/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch new file mode 100644 index 0000000000..684ffbb0ef --- /dev/null +++ b/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch @@ -0,0 +1,329 @@ +From c6d82c9ba64cdd50f76c9079dd06c48cca4fc39b Mon Sep 17 00:00:00 2001 +From: Nicolas Cavallari +Date: Tue, 9 Jun 2015 20:42:20 +0100 +Subject: [PATCH 104/113] Add Dbus methods to create and delete DHCP leases. + +--- + CHANGELOG | 3 + + dbus/DBus-interface | 74 ++++++++++++++++++++ + src/dbus.c | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 268 insertions(+) + +diff --git a/CHANGELOG b/CHANGELOG +index 9e1b5a5ab0b8..a5bd4dc02701 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -125,6 +125,9 @@ version 2.73 + in the correct subnet, even of not in dynamic address + allocation range. Thanks to Steve Hirsch for spotting + the problem. ++ ++ Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks ++ to Nicolas Cavallari for the patch. + + + version 2.72 +diff --git a/dbus/DBus-interface b/dbus/DBus-interface +index 9a895eb24a61..2db5c30b2eaa 100644 +--- a/dbus/DBus-interface ++++ b/dbus/DBus-interface +@@ -169,6 +169,80 @@ Return an array of strings, each string is the IP address of an upstream + server which has been found to loop queries back to this dnsmasq instance, and + it therefore not being used. + ++AddDhcpLease ++------------ ++ ++Returns nothing. Adds or updates a DHCP or DHCPv6 lease to the internal lease ++database, as if a client requested and obtained a lease. ++ ++If a lease for the IPv4 or IPv6 address already exist, it is overwritten. ++ ++Note that this function will trigger the DhcpLeaseAdded or DhcpLeaseUpdated ++D-Bus signal and will run the configured DHCP lease script accordingly. ++ ++This function takes many arguments which are the lease parameters: ++- A string with the textual representation of the IPv4 or IPv6 address of the ++ client. ++ ++ Examples: ++ "192.168.1.115" ++ "1003:1234:abcd::1%eth0" ++ "2001:db8:abcd::1" ++ ++- A string representing the hardware address of the client, using the same ++ format as the one used in the lease database. ++ ++ Examples: ++ ++ "00:23:45:67:89:ab" ++ "06-00:20:e0:3b:13:af" (token ring) ++ ++- The hostname of the client, as an array of bytes (so there is no problem ++ with non-ASCII character encoding). May be empty. ++ ++ Example (for "hostname.or.fqdn"): ++ [104, 111, 115, 116, 110, 97, 109, 101, 46, 111, 114, 46, 102, 113, 100, 110] ++ ++- The client identifier (IPv4) or DUID (IPv6) as an array of bytes. May be ++ empty. ++ ++ Examples: ++ ++ DHCPv6 DUID: ++ [0, 3, 0, 1, 0, 35, 69, 103, 137, 171] ++ DHCPv4 client identifier: ++ [255, 12, 34, 56, 78, 0, 1, 0, 1, 29, 9, 99, 190, 35, 69, 103, 137, 171] ++ ++- The duration of the lease, in seconds. If the lease is updated, then ++ the duration replaces the previous duration. ++ ++ Example: ++ ++ 7200 ++ ++- The IAID (Identity association identifier) of the DHCPv6 lease, as a network ++ byte-order unsigned integer. For DHCPv4 leases, this must be set to 0. ++ ++ Example (for IPv6): ++ ++ 203569230 ++ ++- A boolean which, if true, indicates that the DHCPv6 lease is for a temporary ++ address (IA_TA). If false, the DHCPv6 lease is for a non-temporary address ++ (IA_NA). For DHCPv4 leases, this must be set to false. ++ ++RemoveDhcpLease ++--------------- ++ ++Returns nothing. Removes a DHCP or DHCPv6 lease to the internal lease ++database, as if a client sent a release message to abandon a lease. ++ ++This function takes only one parameter: the text representation of the ++IPv4 or IPv6 address of the lease to remove. ++ ++Note that this function will trigger the DhcpLeaseRemoved signal and the ++configured DHCP lease script will be run with the "del" action. ++ + + + 2. SIGNALS +diff --git a/src/dbus.c b/src/dbus.c +index 5b69de518beb..801d4825001b 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -70,6 +70,21 @@ const char* introspection_xml_template = + " \n" + " \n" + " \n" ++#ifdef HAVE_DHCP ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++#endif + " \n" + "\n"; + +@@ -433,6 +448,172 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name) + return NULL; + } + ++#ifdef HAVE_DHCP ++static DBusMessage *dbus_add_lease(DBusMessage* message) ++{ ++ struct dhcp_lease *lease; ++ const char *ipaddr, *hwaddr, *hostname, *tmp; ++ const unsigned char* clid; ++ int clid_len, hostname_len, hw_len, hw_type; ++ dbus_uint32_t expires, ia_id; ++ dbus_bool_t is_temporary; ++ struct all_addr addr; ++ time_t now = dnsmasq_time(); ++ unsigned char dhcp_chaddr[DHCP_CHADDR_MAX]; ++ ++ DBusMessageIter iter, array_iter; ++ if (!dbus_message_iter_init(message, &iter)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Failed to initialize dbus message iter"); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected string as first argument"); ++ ++ dbus_message_iter_get_basic(&iter, &ipaddr); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected string as second argument"); ++ ++ dbus_message_iter_get_basic(&iter, &hwaddr); ++ dbus_message_iter_next(&iter); ++ ++ if ((dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) || ++ (dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_BYTE)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected byte array as third argument"); ++ ++ dbus_message_iter_recurse(&iter, &array_iter); ++ dbus_message_iter_get_fixed_array(&array_iter, &hostname, &hostname_len); ++ tmp = memchr(hostname, '\0', hostname_len); ++ if (tmp) ++ { ++ if (tmp == &hostname[hostname_len - 1]) ++ hostname_len--; ++ else ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Hostname contains an embedded NUL character"); ++ } ++ dbus_message_iter_next(&iter); ++ ++ if ((dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) || ++ (dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_BYTE)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected byte array as fourth argument"); ++ ++ dbus_message_iter_recurse(&iter, &array_iter); ++ dbus_message_iter_get_fixed_array(&array_iter, &clid, &clid_len); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected uint32 as fifth argument"); ++ ++ dbus_message_iter_get_basic(&iter, &expires); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected uint32 as sixth argument"); ++ ++ dbus_message_iter_get_basic(&iter, &ia_id); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected uint32 as sixth argument"); ++ ++ dbus_message_iter_get_basic(&iter, &is_temporary); ++ ++ if (inet_pton(AF_INET, ipaddr, &addr.addr.addr4)) ++ { ++ if (ia_id != 0 || is_temporary) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "ia_id and is_temporary must be zero for IPv4 lease"); ++ ++ if (!(lease = lease_find_by_addr(addr.addr.addr4))) ++ lease = lease4_allocate(addr.addr.addr4); ++ } ++#ifdef HAVE_DHCP6 ++ else if (inet_pton(AF_INET6, ipaddr, &addr.addr.addr6)) ++ { ++ if (!(lease = lease6_find_by_addr(&addr.addr.addr6, 128, 0))) ++ lease = lease6_allocate(&addr.addr.addr6, ++ is_temporary ? LEASE_TA : LEASE_NA); ++ lease_set_iaid(lease, ia_id); ++ } ++#endif ++ else ++ return dbus_message_new_error_printf(message, DBUS_ERROR_INVALID_ARGS, ++ "Invalid IP address '%s'", ipaddr); ++ ++ hw_len = parse_hex((char*)hwaddr, dhcp_chaddr, DHCP_CHADDR_MAX, NULL, ++ &hw_type); ++ if (hw_type == 0 && hw_len != 0) ++ hw_type = ARPHRD_ETHER; ++ ++ lease_set_hwaddr(lease, dhcp_chaddr, clid, hw_len, hw_type, ++ clid_len, now, 0); ++ lease_set_expires(lease, expires, now); ++ if (hostname_len != 0) ++ lease_set_hostname(lease, hostname, 0, get_domain(lease->addr), NULL); ++ ++ lease_update_file(now); ++ lease_update_dns(0); ++ ++ return NULL; ++} ++ ++static DBusMessage *dbus_del_lease(DBusMessage* message) ++{ ++ struct dhcp_lease *lease; ++ DBusMessageIter iter; ++ const char *ipaddr; ++ DBusMessage *reply; ++ struct all_addr addr; ++ dbus_bool_t ret = 1; ++ time_t now = dnsmasq_time(); ++ ++ if (!dbus_message_iter_init(message, &iter)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Failed to initialize dbus message iter"); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected string as first argument"); ++ ++ dbus_message_iter_get_basic(&iter, &ipaddr); ++ ++ if (inet_pton(AF_INET, ipaddr, &addr.addr.addr4)) ++ lease = lease_find_by_addr(addr.addr.addr4); ++#ifdef HAVE_DHCP6 ++ else if (inet_pton(AF_INET6, ipaddr, &addr.addr.addr6)) ++ lease = lease6_find_by_addr(&addr.addr.addr6, 128, 0); ++#endif ++ else ++ return dbus_message_new_error_printf(message, DBUS_ERROR_INVALID_ARGS, ++ "Invalid IP address '%s'", ipaddr); ++ ++ if (lease) ++ { ++ lease_prune(lease, now); ++ lease_update_file(now); ++ lease_update_dns(0); ++ } ++ else ++ ret = 0; ++ ++ if ((reply = dbus_message_new_method_return(message))) ++ dbus_message_append_args(reply, DBUS_TYPE_BOOLEAN, &ret, ++ DBUS_TYPE_INVALID); ++ ++ ++ return reply; ++} ++#endif ++ + DBusHandlerResult message_handler(DBusConnection *connection, + DBusMessage *message, + void *user_data) +@@ -490,6 +671,16 @@ DBusHandlerResult message_handler(DBusConnection *connection, + { + reply = dbus_set_bool(message, OPT_BOGUSPRIV, "bogus-priv"); + } ++#ifdef HAVE_DHCP ++ else if (strcmp(method, "AddDhcpLease") == 0) ++ { ++ reply = dbus_add_lease(message); ++ } ++ else if (strcmp(method, "DeleteDhcpLease") == 0) ++ { ++ reply = dbus_del_lease(message); ++ } ++#endif + else if (strcmp(method, "ClearCache") == 0) + clear_cache = 1; + else +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch b/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch new file mode 100644 index 0000000000..804a3375b4 --- /dev/null +++ b/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch @@ -0,0 +1,32 @@ +From d91b1fd402d8de127921dc4cca01007d9da23f92 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Tue, 9 Jun 2015 20:45:07 +0100 +Subject: [PATCH 105/113] Add a couple of missed logging strings to the + catalogue. + +--- + src/dbus.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/dbus.c b/src/dbus.c +index 801d4825001b..3d686e86f41e 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -436,12 +436,12 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name) + + if (enabled) + { +- my_syslog(LOG_INFO, "Enabling --%s option from D-Bus", name); ++ my_syslog(LOG_INFO, _("Enabling --%s option from D-Bus"), name); + set_option_bool(flag); + } + else + { +- my_syslog(LOG_INFO, "Disabling --%s option from D-Bus", name); ++ my_syslog(LOG_INFO, _("Disabling --%s option from D-Bus"), name); + reset_option_bool(flag); + } + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch b/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch new file mode 100644 index 0000000000..f08516cd4c --- /dev/null +++ b/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch @@ -0,0 +1,28 @@ +From 654f59e7620c857279843e50588ac76e88040b0f Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:06:33 +0100 +Subject: [PATCH 106/113] Fix logging of unknown interface in + --bridge-interface, DHPCv4. + +--- + src/dhcp.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/dhcp.c b/src/dhcp.c +index f1f43f8d8f90..eb1ea810b573 100644 +--- a/src/dhcp.c ++++ b/src/dhcp.c +@@ -236,7 +236,9 @@ void dhcp_packet(time_t now, int pxe_fd) + { + if (!(iface_index = if_nametoindex(bridge->iface))) + { +- my_syslog(LOG_WARNING, _("unknown interface %s in bridge-interface"), ifr.ifr_name); ++ my_syslog(MS_DHCP | LOG_WARNING, ++ _("unknown interface %s in bridge-interface"), ++ bridge->iface); + return; + } + else +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch b/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch new file mode 100644 index 0000000000..8ae75d3563 --- /dev/null +++ b/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch @@ -0,0 +1,65 @@ +From 0ddb8769bb809cd118840553e12be86297cdf246 Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:11:06 +0100 +Subject: [PATCH 107/113] Extend --bridge-interface aliasing to DHCPv6. + +--- + src/dhcp6.c | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +diff --git a/src/dhcp6.c b/src/dhcp6.c +index ee2aa5d3bf3c..4c60c6e86c0c 100644 +--- a/src/dhcp6.c ++++ b/src/dhcp6.c +@@ -144,6 +144,8 @@ void dhcp6_packet(time_t now) + + if ((port = relay_reply6(&from, sz, ifr.ifr_name)) == 0) + { ++ struct dhcp_bridge *bridge, *alias; ++ + for (tmp = daemon->if_except; tmp; tmp = tmp->next) + if (tmp->name && wildcard_match(tmp->name, ifr.ifr_name)) + return; +@@ -160,6 +162,30 @@ void dhcp6_packet(time_t now) + memset(&parm.fallback, 0, IN6ADDRSZ); + memset(&parm.ll_addr, 0, IN6ADDRSZ); + memset(&parm.ula_addr, 0, IN6ADDRSZ); ++ ++ /* If the interface on which the DHCPv6 request was received is ++ an alias of some other interface (as specified by the ++ --bridge-interfaces option), change parm.ind so that we look ++ for DHCPv6 contexts associated with the aliased interface ++ instead of with the aliasing one. */ ++ for (bridge = daemon->bridges; bridge; bridge = bridge->next) ++ { ++ for (alias = bridge->alias; alias; alias = alias->next) ++ if (wildcard_matchn(alias->iface, ifr.ifr_name, IF_NAMESIZE)) ++ { ++ parm.ind = if_nametoindex(bridge->iface); ++ if (!parm.ind) ++ { ++ my_syslog(MS_DHCP | LOG_WARNING, ++ _("unknown interface %s in bridge-interface"), ++ bridge->iface); ++ return; ++ } ++ break; ++ } ++ if (alias) ++ break; ++ } + + for (context = daemon->dhcp6; context; context = context->next) + if (IN6_IS_ADDR_UNSPECIFIED(&context->start6) && context->prefix == 0) +@@ -208,7 +234,7 @@ void dhcp6_packet(time_t now) + /* May have configured relay, but not DHCP server */ + if (!daemon->doing_dhcp6) + return; +- ++ + lease_prune(NULL, now); /* lose any expired leases */ + + port = dhcp6_reply(parm.current, if_index, ifr.ifr_name, &parm.fallback, +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch b/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch new file mode 100644 index 0000000000..576945d322 --- /dev/null +++ b/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch @@ -0,0 +1,85 @@ +From 2fd5bc952dc802433ffebc90eacb78da3d30b80e Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:13:06 +0100 +Subject: [PATCH 108/113] Allow router advertisements to have the "off-link" + bit set. + +--- + src/dnsmasq.h | 1 + + src/option.c | 2 ++ + src/radv.c | 13 +++++++++---- + 3 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index ab16f79b3ec9..8d005d732e72 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -868,6 +868,7 @@ struct dhcp_context { + #define CONTEXT_USED (1u<<15) + #define CONTEXT_OLD (1u<<16) + #define CONTEXT_V6 (1u<<17) ++#define CONTEXT_RA_OFF_LINK (1u<<18) + + struct ping_result { + struct in_addr addr; +diff --git a/src/option.c b/src/option.c +index c7add88de7ac..f99c3f59e9d3 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -2699,6 +2699,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + new->flags |= CONTEXT_RA_ROUTER | CONTEXT_RA; + else if (strcmp(a[leasepos], "ra-stateless") == 0) + new->flags |= CONTEXT_RA_STATELESS | CONTEXT_DHCP | CONTEXT_RA; ++ else if (strcmp(a[leasepos], "off-link") == 0) ++ new->flags |= CONTEXT_RA_OFF_LINK; + else if (leasepos == 1 && inet_pton(AF_INET6, a[leasepos], &new->end6)) + new->flags |= CONTEXT_DHCP; + else if (strstr(a[leasepos], "constructor:") == a[leasepos]) +diff --git a/src/radv.c b/src/radv.c +index d0faddf8684a..ec22464b78b9 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -313,8 +313,10 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + opt->type = ICMP6_OPT_PREFIX; + opt->len = 4; + opt->prefix_len = context->prefix; +- /* autonomous only if we're not doing dhcp, always set "on-link" */ +- opt->flags = do_slaac ? 0xC0 : 0x80; ++ /* autonomous only if we're not doing dhcp, set ++ "on-link" unless "off-link" was specified */ ++ opt->flags = (do_slaac ? 0x40 : 0) | ++ ((context->flags & CONTEXT_RA_OFF_LINK) ? 0 : 0x80); + opt->valid_lifetime = htonl(context->saved_valid - old); + opt->preferred_lifetime = htonl(0); + opt->reserved = 0; +@@ -514,6 +516,7 @@ static int add_prefixes(struct in6_addr *local, int prefix, + int deprecate = 0; + int constructed = 0; + int adv_router = 0; ++ int off_link = 0; + unsigned int time = 0xffffffff; + struct dhcp_context *context; + +@@ -586,6 +589,7 @@ static int add_prefixes(struct in6_addr *local, int prefix, + context->ra_time = 0; + context->flags |= CONTEXT_RA_DONE; + real_prefix = context->prefix; ++ off_link = (context->flags & CONTEXT_RA_OFF_LINK); + } + + param->first = 0; +@@ -636,8 +640,9 @@ static int add_prefixes(struct in6_addr *local, int prefix, + opt->type = ICMP6_OPT_PREFIX; + opt->len = 4; + opt->prefix_len = real_prefix; +- /* autonomous only if we're not doing dhcp, always set "on-link" */ +- opt->flags = 0x80; ++ /* autonomous only if we're not doing dhcp, set ++ "on-link" unless "off-link" was specified */ ++ opt->flags = (off_link ? 0 : 0x80); + if (do_slaac) + opt->flags |= 0x40; + if (adv_router) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch b/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch new file mode 100644 index 0000000000..6518771e0d --- /dev/null +++ b/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch @@ -0,0 +1,107 @@ +From ba4fc0f99619014438621ccd2bc473657ab4c51c Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:14:49 +0100 +Subject: [PATCH 109/113] Upply --bridge-interface aliasing to solicited router + advertisements. + +--- + src/radv.c | 45 ++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 40 insertions(+), 5 deletions(-) + +diff --git a/src/radv.c b/src/radv.c +index ec22464b78b9..54784967df57 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -41,6 +41,8 @@ struct search_param { + }; + + static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest); ++static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, ++ int send_iface); + static int add_prefixes(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + unsigned int preferred, unsigned int valid, void *vparam); +@@ -181,6 +183,7 @@ void icmp6_packet(time_t now) + else if (packet[0] == ND_ROUTER_SOLICIT) + { + char *mac = ""; ++ struct dhcp_bridge *bridge, *alias; + + /* look for link-layer address option for logging */ + if (sz >= 16 && packet[8] == ICMP6_OPT_SOURCE_MAC && (packet[9] * 8) + 8 <= sz) +@@ -191,12 +194,37 @@ void icmp6_packet(time_t now) + + if (!option_bool(OPT_QUIET_RA)) + my_syslog(MS_DHCP | LOG_INFO, "RTR-SOLICIT(%s) %s", interface, mac); +- /* source address may not be valid in solicit request. */ +- send_ra(now, if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL); ++ ++ /* If the incoming interface is an alias of some other one (as ++ specified by the --bridge-interfaces option), send an RA ++ using the context of the aliased interface. */ ++ for (bridge = daemon->bridges; bridge; bridge = bridge->next) ++ { ++ int bridge_index = if_nametoindex(bridge->iface); ++ if (bridge_index) ++ { ++ for (alias = bridge->alias; alias; alias = alias->next) ++ if (wildcard_matchn(alias->iface, interface, IF_NAMESIZE)) ++ { ++ /* Send an RA on if_index with information from ++ bridge_index. */ ++ send_ra_alias(now, bridge_index, bridge->iface, NULL, if_index); ++ break; ++ } ++ if (alias) ++ break; ++ } ++ } ++ ++ /* If the incoming interface wasn't an alias, send an RA using ++ the context of the incoming interface. */ ++ if (!bridge) ++ /* source address may not be valid in solicit request. */ ++ send_ra(now, if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL); + } + } + +-static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest) ++static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, int send_iface) + { + struct ra_packet *ra; + struct ra_param parm; +@@ -370,7 +398,7 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + } + #endif + +- iface_enumerate(AF_LOCAL, &iface, add_lla); ++ iface_enumerate(AF_LOCAL, &send_iface, add_lla); + + /* RDNSS, RFC 6106, use relevant DHCP6 options */ + (void)option_filter(parm.tags, NULL, daemon->dhcp_opts6); +@@ -478,7 +506,7 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + else + { + inet_pton(AF_INET6, ALL_NODES, &addr.sin6_addr); +- setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &iface, sizeof(iface)); ++ setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &send_iface, sizeof(send_iface)); + } + + while (retry_send(sendto(daemon->icmp6fd, daemon->outpacket.iov_base, +@@ -487,6 +515,13 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + + } + ++static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest) ++{ ++ /* Send an RA on the same interface that the RA content is based ++ on. */ ++ send_ra_alias(now, iface, iface_name, dest, iface); ++} ++ + static int add_prefixes(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + unsigned int preferred, unsigned int valid, void *vparam) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch b/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch new file mode 100644 index 0000000000..3097211fa8 --- /dev/null +++ b/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch @@ -0,0 +1,131 @@ +From 9bad339af848fc30bab4ea2759f022820f474e17 Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:16:35 +0100 +Subject: [PATCH 110/113] Apply --bridge-interfaces to unsolicited router + advertisements. + +--- + src/radv.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 84 insertions(+), 2 deletions(-) + +diff --git a/src/radv.c b/src/radv.c +index 54784967df57..300c31c83c78 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -40,9 +40,18 @@ struct search_param { + char name[IF_NAMESIZE+1]; + }; + ++struct alias_param { ++ int iface; ++ struct dhcp_bridge *bridge; ++ int num_alias_ifs; ++ int max_alias_ifs; ++ int *alias_ifs; ++}; ++ + static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest); + static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, + int send_iface); ++static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t maclen, void *parm); + static int add_prefixes(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + unsigned int preferred, unsigned int valid, void *vparam); +@@ -723,6 +732,7 @@ time_t periodic_ra(time_t now) + struct search_param param; + struct dhcp_context *context; + time_t next_event; ++ struct alias_param aparam; + + param.now = now; + param.iface = 0; +@@ -770,12 +780,84 @@ time_t periodic_ra(time_t now) + if (tmp->name && wildcard_match(tmp->name, param.name)) + break; + if (!tmp) +- send_ra(now, param.iface, param.name, NULL); ++ { ++ send_ra(now, param.iface, param.name, NULL); ++ ++ /* Also send on all interfaces that are aliases of this ++ one. */ ++ for (aparam.bridge = daemon->bridges; ++ aparam.bridge; ++ aparam.bridge = aparam.bridge->next) ++ if ((int)if_nametoindex(aparam.bridge->iface) == param.iface) ++ { ++ /* Count the number of alias interfaces for this ++ 'bridge', by calling iface_enumerate with ++ send_ra_to_aliases and NULL alias_ifs. */ ++ aparam.iface = param.iface; ++ aparam.alias_ifs = NULL; ++ aparam.num_alias_ifs = 0; ++ iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases); ++ my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => %d alias(es)", ++ param.name, daemon->addrbuff, aparam.num_alias_ifs); ++ ++ /* Allocate memory to store the alias interface ++ indices. */ ++ aparam.alias_ifs = (int *)whine_malloc(aparam.num_alias_ifs * ++ sizeof(int)); ++ if (aparam.alias_ifs) ++ { ++ /* Use iface_enumerate again to get the alias ++ interface indices, then send on each of ++ those. */ ++ aparam.max_alias_ifs = aparam.num_alias_ifs; ++ aparam.num_alias_ifs = 0; ++ iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases); ++ for (; aparam.num_alias_ifs; aparam.num_alias_ifs--) ++ { ++ my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => i/f %d", ++ param.name, daemon->addrbuff, ++ aparam.alias_ifs[aparam.num_alias_ifs - 1]); ++ send_ra_alias(now, ++ param.iface, ++ param.name, ++ NULL, ++ aparam.alias_ifs[aparam.num_alias_ifs - 1]); ++ } ++ free(aparam.alias_ifs); ++ } ++ ++ /* The source interface can only appear in at most ++ one --bridge-interfaces. */ ++ break; ++ } ++ } + } + } + return next_event; + } +- ++ ++static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t maclen, void *parm) ++{ ++ struct alias_param *aparam = (struct alias_param *)parm; ++ char ifrn_name[IFNAMSIZ]; ++ struct dhcp_bridge *alias; ++ ++ (void)type; ++ (void)mac; ++ (void)maclen; ++ ++ if (if_indextoname(index, ifrn_name)) ++ for (alias = aparam->bridge->alias; alias; alias = alias->next) ++ if (wildcard_matchn(alias->iface, ifrn_name, IFNAMSIZ)) ++ { ++ if (aparam->alias_ifs && (aparam->num_alias_ifs < aparam->max_alias_ifs)) ++ aparam->alias_ifs[aparam->num_alias_ifs] = index; ++ aparam->num_alias_ifs++; ++ } ++ ++ return 1; ++} ++ + static int iface_search(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + int preferred, int valid, void *vparam) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch b/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch new file mode 100644 index 0000000000..b2b8bcb20d --- /dev/null +++ b/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch @@ -0,0 +1,201 @@ +From 4918bd550573844441a287a67202a6a3f0f6126a Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:23:20 +0100 +Subject: [PATCH 111/113] Documenation updates for --bridge-interface and + "off-link". + +--- + CHANGELOG | 6 ++++++ + man/dnsmasq.8 | 17 +++++++++++------ + man/es/dnsmasq.8 | 12 ++++++++---- + man/fr/dnsmasq.8 | 18 ++++++++++++------ + src/dhcp.c | 9 +++++---- + src/dhcp6.c | 2 +- + src/radv.c | 6 +++--- + 7 files changed, 46 insertions(+), 24 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index a5bd4dc02701..7d8f73ffa61c 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -128,6 +128,12 @@ version 2.73 + + Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks + to Nicolas Cavallari for the patch. ++ ++ Allow configuration of router advertisements without the ++ "on-link" bit set. Thanks to Neil Jerram for the patch. ++ ++ Extend --bridge-interface to DHCPv6 and router ++ advertisements. Thanks to Neil Jerram for the patch. + + + version 2.72 +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index f811dc326e9f..ffa0c7b1f436 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -833,7 +833,7 @@ and + for details.) + + For IPv6, the mode may be some combination of +-.B ra-only, slaac, ra-names, ra-stateless, ra-advrouter. ++.B ra-only, slaac, ra-names, ra-stateless, ra-advrouter, off-link. + + .B ra-only + tells dnsmasq to offer Router Advertisement only on this subnet, +@@ -873,6 +873,9 @@ enables a mode where router address(es) rather than prefix(es) are included in t + This is described in RFC-3775 section 7.2 and is used in mobile IPv6. In this mode the interval option + is also included, as described in RFC-3775 section 7.3. + ++.B off-link ++tells dnsmasq to advertise the prefix without the on-link (aka L) bit set. ++ + .TP + .B \-G, --dhcp-host=[][,id:|*][,set:][,][,][,][,ignore] + Specify per host parameters for the DHCP server. This allows a machine +@@ -1597,11 +1600,13 @@ option also forces the leasechange script to be called on changes + to the client-id and lease length and expiry time. + .TP + .B --bridge-interface=,[,] +-Treat DHCP request packets arriving at any of the interfaces +-as if they had arrived at . This option is necessary when +-using "old style" bridging on BSD platforms, since +-packets arrive at tap interfaces which don't have an IP address. +-A trailing '*' wildcard can be used in each . ++Treat DHCP (v4 and v6) request and IPv6 Router Solicit packets ++arriving at any of the interfaces as if they had arrived at ++. This option allows dnsmasq to provide DHCP and RA ++service over unaddressed and unbridged Ethernet interfaces, e.g. on an ++OpenStack compute host where each such interface is a TAP interface to ++a VM, or as in "old style bridging" on BSD platforms. A trailing '*' ++wildcard can be used in each . + .TP + .B \-s, --domain=[,
[,local]] + Specifies DNS domains for the DHCP server. Domains may be be given +diff --git a/man/es/dnsmasq.8 b/man/es/dnsmasq.8 +index 65e4b7277a6b..81c745a48b6e 100644 +--- a/man/es/dnsmasq.8 ++++ b/man/es/dnsmasq.8 +@@ -1062,10 +1062,14 @@ esta opci + cuando hay cambios hechos a el client-id y tiempos de arriendo y vencimiento. + .TP + .B --bridge-interface=,[,] +-Tratar paquetes de pedidos DHCP que llegan a cualquiera de las interfaces +-como si hubieran llegado a la interface . Esta opción +-es necesaria al usar bridging estilo viejo en plataformas BSD, dado a que +-los paquetes llegan a interfaces tap que no tienen una dirección IP. ++Tratar paquetes de pedidos DHCP (v4 y v6) y de IPv6 Router Solicit que ++llegan a cualquiera de las interfaces como si hubieran llegado ++a la interface . Esta opción permite que dnsmasq ++puede proporcionar los servicios DHCP y RA a través de interfaces ++ethernet sin dirección y sin puente; por ejemplo en un nodo de cálculo ++de OpenStack, donde cada una de esas interfaces es una interfaz TAP ++para una máquina virtual, o al usar bridging estilo viejo en ++plataformas BSD. + .TP + .B \-s, --domain=[,] + Especifica los dominios DNS para el servidor DHCP. Dominios pueden ser +diff --git a/man/fr/dnsmasq.8 b/man/fr/dnsmasq.8 +index e0d1e9ad92e5..b4cc16dd3786 100644 +--- a/man/fr/dnsmasq.8 ++++ b/man/fr/dnsmasq.8 +@@ -852,7 +852,7 @@ et + pour plus de détails). + + Pour IPv6, le mode peut-être une combinaison des valeurs +-.B ra-only, slaac, ra-names, ra-stateless. ++.B ra-only, slaac, ra-names, ra-stateless, off-link. + + .B ra-only + indique à dnsmasq de n'effectuer que des annonces de routeur (Router +@@ -888,6 +888,9 @@ peut-être combiné avec + et + .B slaac. + ++.B off-link ++indique à dnsmasq d'annoncer le préfixe sans le bit L (sur lien). ++ + .TP + .B \-G, --dhcp-host=[][,id:|*][,set: