Commit Graph

522 Commits

Author SHA1 Message Date
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
Mark Andrews
466260b953 3857. [bug] Make it harder for a incorrect NOEDNS classification
to be made. [RT #36020]
2014-05-22 23:46:28 +10:00
Mark Andrews
f1aa50ef44 remove unused assignment
(cherry picked from commit a771e8c154d85dea18c2ae77dbc082d197ba433a)
2014-05-22 00:57:35 +10:00
Mark Andrews
a86bb63d99 3855. [bug] Limit smoothed round trip time aging to no more than
once a second. [RT #32909]

(cherry picked from commit 0fe0789181)
2014-05-21 11:09:56 +10:00
Mark Andrews
2fd5f9a326 s/DNS_EDNSOPTIONS/DNS_EDNSOPTIONS/
(cherry picked from commit 801b958a5c)
2014-05-08 11:43:45 +10:00
Mark Andrews
375dac22e4 define DNS_OPT_EDNSOPTIONS
(cherry picked from commit 72ba6ba736)
2014-05-08 11:39:56 +10:00
Evan Hunt
314b626e20 [v9_9] fix dns_resolver_destroyfetch race
3747.	[bug]		A race condition could lead to a core dump when
			destroying a resolver fetch object. [RT #35385]

(cherry picked from commit 7f5bdf7f40)
2014-02-18 23:32:41 -08:00
Tinderbox User
864ca7ce33 update copyright notice 2014-01-09 23:45:53 +00:00
Evan Hunt
8c7ce6d3e6 [v9_9] replace memcpy() with memmove().
3698.	[cleanup]	Replaced all uses of memcpy() with memmove().
			[RT #35120]

(cherry picked from commit ebe54c7d2221c6a0a4b3d96bcae3280c823a45e6)
2014-01-08 16:38:56 -08:00
Evan Hunt
0c0ce5f9a4 [v9_9] fix insecure delegation across static-stub zones
3689.	[bug]		Fixed a bug causing an insecure delegation from one
			static-stub zone to another to fail with a broken
			trust chain. [RT #35081]

(cherry picked from commit 9b895f30f1)
2013-12-12 22:20:21 -08:00
Mark Andrews
3b38a23089 3681. [port] Update the Windows build system to support feature
selection and WIN64 builds.  This is a work in
                        progress. [RT #34160]

(cherry picked from commit c3c8823fed)

Conflicts:
	CHANGES
	bin/check/win32/checktool.dsp.in
	bin/dnssec/win32/dnssectool.dsp.in
	bin/dnssec/win32/importkey.dsp.in
	bin/dnssec/win32/importkey.mak.in
	bin/named/geoip.c
	bin/named/include/named/geoip.h
	bin/tools/win32/rrchecker.dsp.in
	bin/tools/win32/rrchecker.mak.in
	config.h.win32
	lib/dns/geoip.c
	lib/dns/master.c
	lib/dns/win32/libdns.dsp.in
	lib/dns/win32/libdns.mak.in
	lib/isc/mem.c
	lib/isc/stats.c
	lib/isc/win32/file.c
	lib/isc/win32/libisc.def.in
	lib/isc/win32/libisc.mak.in
	lib/isc/win32/stdio.c
	lib/isccc/cc.c
	win32utils/BuildAll.bat
	win32utils/BuildSetup.bat
	win32utils/legacy/BINDBuild.dsw.in
	win32utils/makeversion.pl
	win32utils/setpk11provider.pl
	win32utils/updatelibxml2.pl
	win32utils/win32-build.txt
2013-12-04 13:48:45 +11:00