Commit graph

370 commits

Author SHA1 Message Date
Tinderbox User
1617002c78 update copyright notice / whitespace 2017-02-04 23:46:08 +00:00
Evan Hunt
07b7a3eade [v9_11] store local and remote addresses in dnstap
4569.	[func]		Store both local and remote addresses in dnstap
			logging, and modify dnstap-read output format to
			print them. [RT #43595]

(cherry picked from commit 650b5e7592)
2017-02-03 17:11:06 -08:00
Mark Andrews
bc2510a6a5 4536. [bug] ISC_SOCKEVENTATTR_USEMINMTU was not being cleared
when reusing the event structure. [RT #43885]

(cherry picked from commit a678e70481)
2016-12-14 10:43:24 +11:00
Mark Andrews
348d80fb84 4534. [bug] Only set RD, RA and CD in QUERY responses. [RT #43879]
(cherry picked from commit def6b33bad)
2016-12-13 16:27:49 +11:00
Evan Hunt
fcadf0b320 [v9_11] render querylog format consistent, and add a release note
4471.	[cleanup]	Render client/query logging format consistent for
			ease of log file parsing. (Note that this affects
			"querylog" format: there is now an additional field
			indicating the client object address.) [RT #43238]

(cherry picked from commit c4b7db4932)
2016-09-22 14:49:26 -07:00
Mark Andrews
db9781d4a2 4468. [bug] Address ECS option handling issues. [RT #43191]
(cherry picked from commit df17290113)
2016-09-14 08:23:07 +10:00
Evan Hunt
af326c2e3f [v9_11] fix tcp client memory leak
4459.	[bug]		TCP client objects created to handle pipeline queries
			were not cleaned up correctly, causing uncontrolled
			memory growth. [RT #43106]

(cherry picked from commit a26a62cef2)
2016-08-29 11:56:56 -07:00
Mark Andrews
36be0aad8e 4435. [tuning] Only set IPV6_USE_MIN_MTU for UDP when the message
will not fit into a single IPv4 encapsulated IPv6
                        UDP packet when transmitted over a Ethernet link.
                        [RT #42871]

(cherry picked from commit 31ffec1541)
2016-08-12 09:43:55 +10:00
Mukund Sivaraman
2d5581de6e Make fixes for GCC 6 (#42721)
(cherry picked from commit 4116177ac4)
2016-07-13 13:56:22 +05:30
Mark Andrews
28303a06ce 4410. [bug] Address use after free and memory leak with dnstap.
[RT #42746]

(cherry picked from commit a2101037d9)
2016-07-13 16:56:53 +10:00
Mark Andrews
0c27b3fe77 4401. [misc] Change LICENSE to MPL 2.0. 2016-06-27 14:56:38 +10:00
Tinderbox User
601645a1e8 update copyright notice / whitespace 2016-06-22 23:45:21 +00:00
Mark Andrews
10966da999 4402. [func] Collect statistics for RSSAC02v3 traffic-volume,
traffic-sizes and rcode-volume reporting. [RT #41475]
2016-06-23 08:44:54 +10:00
Mark Andrews
d055178624 simplify poorly written conditional 2016-06-02 10:18:17 +10:00
Mark Andrews
4f200033d1 explict conversion 2016-05-17 17:22:51 +10:00
Witold Krecicki
19d80ce584 4358. [test] Added American Fuzzy Lop harness that allows
feeding fuzzed packets into BIND.
			[RT #41723]
2016-05-05 11:49:38 +02:00
Evan Hunt
7fa4c18451 [master] ECS family 0 handling was still broken 2016-03-23 15:00:30 -07:00
Evan Hunt
395e6865d5 [master] fix ECS with family==0
4341.	[bug]		Correct the handling of ECS options with
			address family 0. [RT #41377]
2016-03-23 08:54:46 -07:00
Mark Andrews
455c0848f8 4322. [security] Duplicate EDNS COOKIE options in a response could
trigger an assertion failure. (CVE-2016-2088)
                        [RT #41809]
2016-02-27 11:23:50 +11:00
Evan Hunt
d40154cab7 [master] cacluate TCP packet sizes correctly
4296.	[bug]		TCP packet sizes were calculated incorrectly in the
			stats channel; they could be counted in the wrong
			histogram bucket. [RT #40587]
2016-01-20 17:30:27 -08:00
Tinderbox User
e1836d1fe4 update copyright notice / whitespace 2016-01-04 23:45:26 +00:00
Evan Hunt
3bcd09b416 [master] silence noisy logging
4287.	[bug]		Silence an overly noisy log message when message
			parsing fails. [RT #41374]
2016-01-04 13:05:23 -08:00
Francis Dupont
dd784c18ef Merged VS 2015 64 bit warnings (#40373) 2015-11-16 17:47:10 +01:00
Witold Krecicki
bfd4b9e11a 4255. [func] Add 'message-compression' option to disable DNS compression in responses. [RT #40726] 2015-11-05 12:19:04 +01:00
Evan Hunt
b66b333f59 [master] dnstap
4235.	[func]		Added support in named for "dnstap", a fast method of
			capturing and logging DNS traffic, and a new command
			"dnstap-read" to read a dnstap log file.  Use
			"configure --enable-dnstap" to enable this
			feature (note that this requires libprotobuf-c
			and libfstrm). See the ARM for configuration details.

			Thanks to Robert Edmonds of Farsight Security.
			[RT #40211]
2015-10-02 12:32:42 -07:00
Mark Andrews
4d085258cc make macro name match category name 2015-09-29 15:02:49 +10:00
Mark Andrews
a0ef8211d3 4201. [func] The default preferred-glue is now the address record
type of the transport the query was received
                        over.  [RT #40468]
2015-09-11 13:27:58 +10:00
Evan Hunt
420a43c8d8 [master] timing safe memory comparisons
4183.	[cleanup]	Use timing-safe memory comparisons in cryptographic
			code. Also, the timing-safe comparison functions have
			been renamed to avoid possible confusion with
			memcmp(). [RT #40148]
2015-08-17 18:26:44 -07:00
Evan Hunt
bf4a7968e8 [master] errors in pipelined queries could assert
4180.	[bug]		Error responses in pipelined queries could
			cause a crash in client.c. [RT #40289]
2015-08-14 08:34:54 -07:00
Mark Andrews
58eb2006a4 return notimp for qcount=0 unimplemeneted opcodes
(cherry picked from commit 7c10dc502a34f88f11c6b6469bb234c72e61fec8)
2015-07-24 13:37:12 +10:00
Evan Hunt
1479200aa0 [master] 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.

			See the ARM for details of these options. [RT #37125]
2015-07-08 22:53:39 -07:00
Mark Andrews
4968e1de7e allow named to build w/o openssl 2015-07-08 11:54:25 +10:00
Evan Hunt
70d987def5 [master] traffic size stats
4156.	[func]		Added statistics counters to track the sizes
			of incoming queries and outgoing responses in
			histogram buckets, as specified in RSSAC002.
			[RT #39049]
2015-07-06 22:29:06 -07:00
Mark Andrews
3e33f4198d 4154. [bug] A OPT record should be included with the FORMERR
response when there is a malformed EDNS option.
                        [RT #39647]

4153.   [bug]           Dig should zero non significant +subnet bits.  Check
                        that non significant ECS bits are zero on receipt.
                        [RT #39647]
2015-07-06 12:52:37 +10:00
Mark Andrews
ce67023ae3 4152. [func] Implement DNS COOKIE option. This replaces the
experimental SIT option of BIND 9.10.  The following
                        named.conf directives are avaliable: send-cookie,
                        cookie-secret, cookie-algorithm and nocookie-udp-size.
                        The following dig options are available:
                        +[no]cookie[=value] and +[no]badcookie.  [RT #39928]
2015-07-06 09:44:24 +10:00
Mark Andrews
c82b378115 4108. [func] A additional nxdomain redirect (nxdomain-redirect)
method is now supported. [RT #37989]
2015-04-23 16:57:15 +10:00
Francis Dupont
ab973ec40c misc x64 VS 2015 CTP fixes [#39308] 2015-04-17 11:39:26 +02:00
Francis Dupont
bcb68be0a8 misc fixes for VS 2015 CTP #39267 2015-04-17 02:57:02 +02:00
Mark Andrews
af669cb4fd 4074. [cleanup] Cleaned up more warnings from gcc -Wshadow. [RT #38708] 2015-02-27 10:55:55 +11:00
Evan Hunt
8378b0c190 [master] reduce rrl logging noise
4067.	[cleanup]	Reduce noise from RRL when query logging is
			disabled. [RT #38648]
2015-02-25 16:44:43 -08:00
Mukund Sivaraman
4eefa351cc Fix a leak of query fetchlock (#38454)
4052.	[bug]		Fix a leak of query fetchlock. [RT #38454]
2015-02-03 11:42:58 +05:30
Evan Hunt
761d135ed6 [master] add TCP pipelining support
4040.	[func]		Added server-side support for pipelined TCP
			queries. TCP connections are no longer closed after
			the first query received from a client. (The new
			"keep-response-order" option allows clients to be
			specified for which the old behavior will still be
			used.) [RT #37821]
2015-01-20 16:14:09 -08:00
Tinderbox User
c110d61b17 update copyright notice / whitespace 2015-01-20 23:45:26 +00:00
Evan Hunt
11463c0ac2 [master] clean up gcc -Wshadow warnings
4039.	[cleanup]	Cleaned up warnings from gcc -Wshadow. [RT #37381]
2015-01-20 13:29:18 -08:00
Mark Andrews
ffeaac1d82 3961. [bug] Forwarding of SIG(0) signed UPDATE messages failed with
BADSIG.  [RT #37216]
2014-10-01 07:24:16 +10:00
Mark Andrews
f4a9c9226a silence signed/unsigned warning 2014-09-16 23:46:37 +10:00
Mark Andrews
947cf282a7 3949. [experimental] Experimental support for draft-andrews-edns1 by sending
EDNS(1) queries (define DRAFT_ANDREWS_EDNS1 when
                        building).  Add support for limiting the EDNS version
                        advertised to servers: server { edns-version 0; };
                        Log the EDNS version received in the query log.
                        [RT #35864]
2014-09-10 15:31:40 +10:00
Evan Hunt
a878301981 [master] servfail cache
3943.	[func]		SERVFAIL responses can now be cached for a
			limited time (configured by "servfail-ttl",
			default 10 seconds, limit 30). This can reduce
			the frequency of retries when an authoritative
			server is known to be failing, e.g., due to
			ongoing DNSSEC validation problems. [RT #21347]
2014-09-03 23:28:14 -07:00
Evan Hunt
d46855caed [master] ECS authoritative support
3936.	[func]		Added authoritative support for the EDNS Client
			Subnet (ECS) option.

			ACLs can now include "ecs" elements which specify
			an address or network prefix; if an ECS option is
			included in a DNS query, then the address encoded
			in the option will be matched against "ecs" ACL
			elements.

			Also, if an ECS address is included in a query,
			then it will be used instead of the client source
			address when matching "geoip" ACL elements.  This
			behavior can be overridden with "geoip-use-ecs no;".

			When "ecs" or "geoip" ACL elements are used to
			select a view for a query, the response will include
			an ECS option to indicate which client network the
			answer is valid for.

			(Thanks to Vincent Bernat.) [RT #36781]
2014-08-28 22:05:57 -07:00
Mark Andrews
9b819daddf 3862. [cleanup] Return immediately if we are not going to log the
message in ns_client_dumpmessage.
2014-05-27 12:16:04 +10:00