532 Commits
Author SHA1 Message Date
Mark Andrews c43edd377b 4580. [bug] 4578 introduced a regression when handling CNAME to
referral below the current domain. [RT #44850]

(cherry picked from commit 638c7c635d)
2017-03-14 15:17:32 +11:00
Mark Andrews b99d097cc4 Reimplement:
4578.   [security]      Some chaining (CNAME or DNAME) responses to upstream
                        queries could trigger assertion failures.
                        (CVE-2017-3137) [RT #44734]

(cherry picked from commit f240f4a5de)
2017-03-01 12:07:56 +11:00
Evan Hunt fcf1874867 [v9_9] remove unnecessary INSIST and prep 9.11.1rc2
4578.	[security]	Some chaining (CNAME or DNAME) responses to upstream
			queries could trigger assertion failures.
			(CVE-2017-3137) [RT #44734]

(cherry picked from commit a1365a0042)
(cherry picked from commit 559cbe04e7)
2017-02-23 15:26:55 -08:00
Evan Hunt ad1ebb5b28 [v9_9] address portability issues
(cherry picked from commit a2bd99a959)
2017-01-30 16:52:42 -08:00
Evan Hunt a6bae6d52c [v9_9] change 4558 was incomplete
(cherry picked from commit cd668ea57f)
2017-01-30 14:11:30 -08:00
Tinderbox User 9e04eb78f1 update copyright notice / whitespace 2017-01-24 23:47:30 +00:00
Mark Andrews 0ce2803ae7 4558. [bug] Synthesised CNAME before matching DNAME was still
being cached when it should have been.  [RT #44318]

(cherry picked from commit 9f4bf43b79)
2017-01-24 17:41:27 +11:00
Mark Andrews a14b7f0187 4510. [security] Named mishandled some responses where covering RRSIG
records are returned without the requested data
                        resulting in a assertion failure. (CVE-2016-9147)
                        [RT #43548]

(cherry picked from commit 6adf421e7e)
2016-12-29 11:53:58 +11:00
Mark Andrews d372472f60 4508. [security] Named incorrectly tried to cache TKEY records which
could trigger a assertion failure when there was
                            a class mismatch. (CVE-2016-9131) [RT #43522]

(cherry picked from commit 2c1c4b99a1)
2016-12-29 11:35:54 +11:00
Mark Andrews 69cb8ebf15 4517. [security] Named could mishandle authority sections that were
missing RRSIGs triggering an assertion failure.
                        (CVE-2016-9444) [RT # 43632]

(cherry picked from commit 1df30cfd27c5a3c57fce357c54aaf6c702227d51)
2016-12-29 10:46:44 +11:00
Mark Andrews 2c74ad28ef 4530. [bug] Change 4489 broke the handling of CNAME -> DNAME
in responses resulting in SERVFAIL being returned.
                        [RT #43779]

(cherry picked from commit 60cb462c56)
2016-12-09 12:51:40 +11:00
Mark Andrews bbb7c613b3 4489. [security] It was possible to trigger assertions when processing
a response. (CVE-2016-8864) [RT #43465]

(cherry picked from commit bd6f27f5c3)
2016-10-21 14:56:32 +11:00
Mark Andrews 5ccb7b6341 4403. [bug] Rename variables and arguments that shadow: basename,
clone and gai_error.

(cherry picked from commit ecfa005085)
(cherry picked from commit c8f34dbca6)
2016-06-29 11:28:50 +10:00
Mukund Sivaraman 6439dc94d5 Log query and depth counters during fetches when querytrace is enabled (#41787)
(cherry picked from commit 275265ab27)
(cherry picked from commit 666fa20ef3)
2016-03-04 13:30:12 +05:30
Mark Andrews a7646fe8cf silence may be used when unset false positive
(cherry picked from commit c7aae79b62)
2016-02-29 11:25:16 +11:00
Mark Andrews ce3cd91cae Part 2 of:
4319.   [security]      Fix resolver assertion failure due to improper
                        DNAME handling when parsing fetch reply messages.
                        (CVE-2016-1286) [RT #41753]

(cherry picked from commit 2de89ee9de)
2016-02-29 07:17:41 +11:00
Mukund Sivaraman 76c3c9fe9f Fix resolver assertion failure due to improper DNAME handling (CVE-2016-1286) (#41753)
(cherry picked from commit 5995fec51c)
(cherry picked from commit 456e1eadd2)
2016-02-22 12:25:46 +05:30
Mark Andrews 8a550860b8 4317. [bug] Age all unused servers on fetch timeout. [RT #41597]
(cherry picked from commit d372f426ca)
2016-02-12 12:35:19 +11:00
Mark Andrews dcc3dd16f6 4293. [bug] Address memory leak on priming query creation failure.
[RT #41512]

(cherry picked from commit 73fbd4c9d3)
2016-01-20 16:39:37 +11:00
Tinderbox User 8df239e201 update copyright notice / whitespace 2016-01-05 23:46:15 +00:00
Evan Hunt f6ab9b3a28 [v9_9] fixed bogus server regression
4288.	[bug]		Fixed a regression in resolver.c:possibly_mark()
			which caused known-bogus servers to be queried
			anyway. [RT #41321]
2016-01-04 16:06:27 -08:00
Mark Andrews 9631d0769e 4260. [security] Insufficient testing when parsing a message allowed
records with an incorrect class to be be accepted,
                        triggering a REQUIRE failure when those records
                        were subsequently cached. (CVE-2015-8000) [RT #4098]

(cherry picked from commit c8821d124c)
2015-11-16 13:28:28 +11:00
Mark Andrews 65927e0eca 4253. [bug] Address fetch context reference count handling error
on socket error.  [RT#40945]

(cherry picked from commit 2f450fcd29)
2015-11-05 17:28:20 +11:00
Mark Andrews b2cb638754 4238. [bug] Don't send to servers on net zero (0.0.0.0/8).
[RT #40947]

(cherry picked from commit 6588a2b404)
2015-10-16 08:07:58 +11:00
Mark Andrews bac25ffe08 4221. [bug] Resource leak on DNS_R_NXDOMAIN in fctx_create.
[RT #40583]

(cherry picked from commit 8d80b4939d)
2015-09-25 09:19:43 +10:00
Mark Andrews 6c09fd0e6b 4193. [bug] Handle broken servers that return BADVERS incorrectly.
[RT #40427]
2015-08-25 16:55:19 +10:00
Evan Hunt 0d83784a75 [v9_9] address buffer accounting error
4168.	[security]	A buffer accounting error could trigger an
			assertion failure when parsing certain malformed
			DNSSEC keys. (CVE-2015-5722) [RT #40212]

(cherry picked from commit ce9f893e21)
2015-08-07 13:22:40 -07:00
Evan Hunt ea36796f82 [v9_9] DDoS mitigation features
3938.	[func]		Added quotas to be used in recursive resolvers
			that are under high query load for names in zones
			whose authoritative servers are nonresponsive or
			are experiencing a denial of service attack.

			- "fetches-per-server" limits the number of
			  simultaneous queries that can be sent to any
			  single authoritative server.  The configured
			  value is a starting point; it is automatically
			  adjusted downward if the server is partially or
			  completely non-responsive. The algorithm used to
			  adjust the quota can be configured via the
			  "fetch-quota-params" option.
			- "fetches-per-zone" limits the number of
			  simultaneous queries that can be sent for names
			  within a single domain.  (Note: Unlike
			  "fetches-per-server", this value is not
			  self-tuning.)
			- New stats counters have been added to count
			  queries spilled due to these quotas.

			These options are not available by default;
			use "configure --enable-fetchlimit" (or
			--enable-developer) to include them in the build.

			See the ARM for details of these options. [RT #37125]
2015-07-08 23:00:58 -07:00
Mark Andrews 1ef6de05cd 4146. [bug] Address reference leak that could prevent a clean
shutdown. [RT #37125]

(cherry picked from commit adbf81335b)
2015-06-25 18:36:58 +10:00
Evan Hunt 8d1941a8ce [v9_9] use after free in resquery_destroy()
4102.	[bug]		Fix a use after free bug introduced in change
			#4094.  [RT #39281]
2015-04-15 15:39:03 -07:00
Mukund Sivaraman 9087397f01 Don't use query->sendevent after it's been destroyed (#39132)
(cherry picked from commit 2c4d5faf7f)
(cherry picked from commit 7f2b905c81)

Conflicts:
	CHANGES
2015-04-13 15:08:40 +05:30
Evan Hunt df3550ef06 [v9_9] hold a reference on fetch context during query
4094.	[bug]		A race during shutdown or reconfiguration could
			cause an assertion in mem.c. [RT #38979]

(cherry picked from commit 2cfe85e6ee33ec97102b6e2e80c86f827bba8594)
(cherry picked from commit 4426003759850ebef210abd2fa339b57ddda3355)
2015-04-08 13:54:05 -07:00
Mark Andrews fc07bc787f 4074. [cleanup] Cleaned up more warnings from gcc -Wshadow. [RT #38708]
(cherry picked from commit af669cb4fd)

Conflicts:
	bin/named/client.c
	lib/dns/request.c
	lib/dns/view.c

(cherry picked from commit 374fce8495)

Conflicts:
	bin/named/statschannel.c
	lib/dns/rbtdb.c
	lib/dns/request.c
	lib/dns/resolver.c
	lib/isc/unix/file.c
2015-02-27 11:05:33 +11:00
Tinderbox User 15dce01ef4 update copyright notice / whitespace 2015-02-26 23:46:12 +00:00
Mukund Sivaraman e62afa3177 Add a --enable-querytrace configure switch for very verbose query tracelogging (#37520)
(cherry picked from commit 1783676a64)
(cherry picked from commit b83c20df65)

Conflicts:
	CHANGES
	config.h.in
	configure
	configure.in
2015-02-26 17:04:18 +05:30
Evan Hunt 3a77b9658c [v9_9] fix merge glitch 2015-02-25 21:18:52 -08:00
Evan Hunt ec856a0ed6 [v9_9] add better servfail logging
3937.	[func]		Added some debug logging to better indicate the
			conditions causing SERVFAILs when resolving.
			[RT #35538]

(cherry picked from commit f5c24a7f48)
(cherry picked from commit 09a87d841f)
2015-02-25 16:05:45 -08:00
Mark Andrews 2bd43c15df 4024. [bug] dns_rdata_opt_first, dns_rdata_opt_next,
dns_rdata_opt_current, dns_rdata_txt_first,
                        dns_rdata_txt_next and dns_rdata_txt_current were
                        documented but not implemented.  These have now been
                        implemented.

                        dns_rdata_spf_first, dns_rdata_spf_next and
                        dns_rdata_spf_current were document but not
                        implemented.  The prototypes for these
                        functions have been removed. [RT #38068]

4023.   [bug]           win32: socket handling with explict ports and
                        invoking named with -4 was broken for some
                        configurations. [RT #38068]

(cherry picked from commit 1e0ed0c6f5)
(cherry picked from commit 14c7ef12e0)
2014-12-19 11:43:40 +11:00
Evan Hunt cc1c362e0f [v9_9] adjust max-recursion-queries
4021.	[bug]		Adjust max-recursion-queries to accommodate
			the need for more queries when the cache is
			empty. [RT #38104]

(cherry picked from commit be7fba8019)
(cherry picked from commit b0e9108311)
2014-12-15 22:38:02 -08:00
Mark Andrews 404f3152fa 4019. [func] If named is not configured to validate the answer
then allow fallback to plain DNS on timeout even
                        when we know the server supports EDNS. [RT #37978]
2014-12-05 18:12:56 +11:00
Mark Andrews f6f0878e11 4018. [bug] Fall back to plain DNS when EDNS queries are being
dropped was failing. [RT #37965]

4017.   [testing]       Add system test to check lookups to legacy servers
                        with broken DNS behaviour. [RT #37965]
2014-12-04 07:07:09 +11:00
Mark Andrews bbc8cca27d 4015. [bug] Nameservers that are skipped due to them being
CNAMEs were not being logged. They are now logged
                        to category 'cname' as per BIND 8. [RT #37935]

(cherry picked from commit ea3aa401bc)
2014-12-03 11:47:10 +11:00
Evan Hunt 1d47cb124d [v9_9] refactor max-recursion-queries
- the counters weren't set correctly when fetches timed out.
  instead we now pass down a counter object.

(cherry picked from commit 05e448935c)
(cherry picked from commit 6c049c57d9)
2014-11-19 18:38:52 -08:00
Evan Hunt 711e833921 [v9_9] add max-recursion-queries
also fixes and documentation for max-recursion-depth

(cherry picked from commit c4f54e5bd1)
(cherry picked from commit b3aa528d7e)
2014-11-18 22:14:55 -08:00
Evan Hunt 603a0e2637 [v9_9] limit recursion depth and iterative queries
4006.	[security]	A flaw in delegation handling could be exploited
			to put named into an infinite loop.  This has
			been addressed by placing limits on the number
			of levels of recursion named will allow (default 7),
			and the number of iterative queries that it will
			send (default 50) before terminating a recursive
			query (CVE-2014-8500).

			The recursion depth limit is configured via the
			"max-recursion-depth" option.  [RT #35780]
2014-11-17 23:49:07 -08:00
Mark Andrews f2b44f6586 3981. [bug] Cache DS/NXDOMAIN independently of other query types.
[RT #37467]

(cherry picked from commit 72775a79fe)
2014-10-18 13:10:16 +11:00
Mark Andrews 0ef83e5b5d 3945. [bug] Invalid wildcard expansions could be incorrectly
accepted by the validator. [RT #37093]

(cherry picked from commit 2fa1fc5332)
2014-09-05 12:12:08 +10:00
Evan Hunt 9ff9b9f71b [v9_9] complete change #3925
- don't use fwdname in dns_view_findzonecut()

(cherry picked from commit 27d6642e8b)
2014-08-22 14:58:28 -07:00
Mark Andrews 570effe386 3904. [func] Add the RPZ SOA to the additional section. [RT36507]
(cherry picked from commit 3a55d43527)
2014-07-31 10:53:33 +10:00
Mark Andrews 5845da71b0 attempt to silence leaked lock false positive 2014-06-04 15:22:49 +10:00