From 264aa9886d646c0ba76ffe27bfc485ba2be0a834 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Thu, 23 Apr 2015 13:05:15 +0000 Subject: dnsmasq: bump to 2.73rc6 Signed-off-by: Steven Barth git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45572 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/001-fix-crash-in-auth-code.patch | 113 --------------------- 1 file changed, 113 deletions(-) delete mode 100644 package/network/services/dnsmasq/patches/001-fix-crash-in-auth-code.patch (limited to 'package/network/services/dnsmasq/patches/001-fix-crash-in-auth-code.patch') diff --git a/package/network/services/dnsmasq/patches/001-fix-crash-in-auth-code.patch b/package/network/services/dnsmasq/patches/001-fix-crash-in-auth-code.patch deleted file mode 100644 index 9cba0ccbae..0000000000 --- a/package/network/services/dnsmasq/patches/001-fix-crash-in-auth-code.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 38440b204db65f9be16c4c3daa7e991e4356f6ed Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Sun, 12 Apr 2015 21:52:47 +0100 -Subject: [PATCH] Fix crash in auth code with odd configuration. - ---- - CHANGELOG | 32 +++++++++++++++++++++----------- - src/auth.c | 13 ++++++++----- - 2 files changed, 29 insertions(+), 16 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 9af6170..f2142c7 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -68,18 +68,31 @@ version 2.73 - Fix broken DNSSEC validation of ECDSA signatures. - - Add --dnssec-timestamp option, which provides an automatic -- way to detect when the system time becomes valid after boot -- on systems without an RTC, whilst allowing DNS queries before the -- clock is valid so that NTP can run. Thanks to -- Kevin Darbyshire-Bryant for developing this idea. -+ way to detect when the system time becomes valid after -+ boot on systems without an RTC, whilst allowing DNS -+ queries before the clock is valid so that NTP can run. -+ Thanks to Kevin Darbyshire-Bryant for developing this idea. - - Add --tftp-no-fail option. Thanks to Stefan Tomanek for - the patch. - -- Fix crash caused by looking up servers.bind, CHAOS text record, -- when more than about five --servers= lines are in the dnsmasq -- config. This causes memory corruption which causes a crash later. -- Thanks to Matt Coddington for sterling work chasing this down. -+ Fix crash caused by looking up servers.bind, CHAOS text -+ record, when more than about five --servers= lines are -+ in the dnsmasq config. This causes memory corruption -+ which causes a crash later. Thanks to Matt Coddington for -+ sterling work chasing this down. -+ -+ Fix crash on receipt of certain malformed DNS requests. -+ Thanks to Nick Sampanis for spotting the problem. -+ -+ Fix crash in authoritative DNS code, if a .arpa zone -+ is declared as authoritative, and then a PTR query which -+ is not to be treated as authoritative arrived. Normally, -+ directly declaring .arpa zone as authoritative is not -+ done, so this crash wouldn't be seen. Instead the -+ relevant .arpa zone should be specified as a subnet -+ in the auth-zone declaration. Thanks to Johnny S. Lee -+ for the bugreport and initial patch. - - - version 2.72 -@@ -125,10 +138,7 @@ version 2.72 - Fix problem with --local-service option on big-endian platforms - Thanks to Richard Genoud for the patch. - -- Fix crash on receipt of certain malformed DNS requests. Thanks -- to Nick Sampanis for spotting the problem. - -- - version 2.71 - Subtle change to error handling to help DNSSEC validation - when servers fail to provide NODATA answers for -diff --git a/src/auth.c b/src/auth.c -index 15721e5..4a5c39f 100644 ---- a/src/auth.c -+++ b/src/auth.c -@@ -141,7 +141,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n - for (zone = daemon->auth_zones; zone; zone = zone->next) - if ((subnet = find_subnet(zone, flag, &addr))) - break; -- -+ - if (!zone) - { - auth = 0; -@@ -186,7 +186,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n - - if (intr) - { -- if (in_zone(zone, intr->name, NULL)) -+ if (local_query || in_zone(zone, intr->name, NULL)) - { - found = 1; - log_query(flag | F_REVERSE | F_CONFIG, intr->name, &addr, NULL); -@@ -208,8 +208,11 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n - *p = 0; /* must be bare name */ - - /* add external domain */ -- strcat(name, "."); -- strcat(name, zone->domain); -+ if (zone) -+ { -+ strcat(name, "."); -+ strcat(name, zone->domain); -+ } - log_query(flag | F_DHCP | F_REVERSE, name, &addr, record_source(crecp->uid)); - found = 1; - if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, -@@ -217,7 +220,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n - T_PTR, C_IN, "d", name)) - anscount++; - } -- else if (crecp->flags & (F_DHCP | F_HOSTS) && in_zone(zone, name, NULL)) -+ else if (crecp->flags & (F_DHCP | F_HOSTS) && (local_query || in_zone(zone, name, NULL))) - { - log_query(crecp->flags & ~F_FORWARD, name, &addr, record_source(crecp->uid)); - found = 1; --- -2.1.4 - -- cgit v1.2.3