Skip to content

Commit 89362f4

Browse files
author
Ray Bellis
committed
changes from IETF LG and directorate reviews
1 parent 6f70895 commit 89362f4

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

draft-ietf-dnssd-multi-qtypes.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ The specification described herein is applicable both for queries from a
7070
stub resolver to recursive servers, and from recursive resolvers to
7171
authoritative servers. It does not apply to Multicast DNS queries
7272
{{?RFC6762}}, which are already designed to allow requesting multiple
73-
records in a single query.
73+
records in a single query, but is applicable to DNS-Based Service
74+
Discovery (DNS-SD) {{?RFC6763}}.
7475

7576
# Terminology used in this document
7677

@@ -117,7 +118,7 @@ A list of 2-octet fields in network order (MSB first) each specifying a
117118
DNS RRTYPE that must be for a data RRTYPE as described in Section 3.1 of
118119
{{!RFC6895}}.
119120

120-
## Client Request Processing
121+
## Client Request Generation
121122

122123
DNS clients implementing this specification MUST generate packets that
123124
conform to the server request parsing rules described immediately below.
@@ -172,7 +173,7 @@ processed.
172173
After the initial response is prepared, the server MUST attempt to
173174
combine the responses for individual (QNAME, QCLASS, QTx) combinations
174175
into the response for the first query. If a recursive server does
175-
not yet have those responses available it MUST first make appropriate
176+
not yet have those responses available it MAY first make appropriate
176177
outbound queries to populate its caches.
177178

178179
For each individual combination the server MUST evaluate the resulting
@@ -200,7 +201,7 @@ duplicated in different sections, e.g. for the (SOA, TYPE12345)
200201
combination on apex where TYPE12345 is not present.
201202

202203
Handling of an MQTYPE-Query option MUST NOT itself trigger a truncated
203-
response. If message size (or other) limits do not allow all of the
204+
response. If response size (or other) limits do not allow all of the
204205
data obtained by querying for an additional QTx to be included in the
205206
final response in their entirety (i.e. as complete RRsets) then the
206207
server MUST NOT include the respective QTx in the MQTYPE-Response
@@ -234,9 +235,9 @@ MUST treat the answer as invalid (equivalent to FORMERR).
234235

235236
The Question section and the list of types present in the
236237
MQTYPE-Response option indicates the list of (QNAME, QCLASS, qtypes)
237-
combinations which are completely contained within the received
238-
response. The answers to all query combinations share the same RCODE
239-
and all other flags.
238+
combinations which are completely answered and contained within the
239+
received response. The answers to all query combinations share the same
240+
RCODE and all other flags.
240241

241242
All RRs required by existing DNS specifications are expected to be
242243
present in the respective sections of the DNS message, including proofs
@@ -254,13 +255,16 @@ produced by different signers.
254255
Absence of QTx values which were requested by client but are not present
255256
in the MQTYPE-Response option indicates that:
256257

257-
- the server was unwilling to process the request (e.g. because a limit
258-
was exceeded), and/or
258+
- (for responses from recursive servers) that the server does not have
259+
any records for that QTx value in cache, and/or
259260

260261
- the individual responses could not be combined into one message
261262
because of RCODE or other flag mismatches, and/or
262263

263-
- the message size limit would be exceeded
264+
- the server was unwilling to process the request (e.g. because a limit
265+
was exceeded), and/or
266+
267+
- the response size limit would be exceeded
264268

265269
The client MUST subsequently initiate separate standalone queries for
266270
all QTx values for which an answer is still required.
@@ -272,10 +276,15 @@ properties of the DNS protocol itself.
272276

273277
It should however be noted that this method does increase the potential
274278
amplification factor when the DNS protocol is used as a vector for a
275-
denial of service attack.
276-
277-
Implementors SHOULD allow operators to configure limits on the number of
278-
QTx values specified and/or the resulting response size.
279+
denial of service attack. A further risk is being able to maliciously
280+
cause recursive servers to perform large amounts of additional work.
281+
282+
Implementors SHOULD therefore allow operators to configure limits on the
283+
number of QTx values specified and/or the resulting response size. The
284+
recommended values of those limits will depend on the environment in
285+
which this specification is used. In public DNS it is expected that a
286+
limit of four QTx values would be appropriate, but when used with DNS-SD
287+
or within private networks higher limits would be acceptable.
279288

280289
# IANA Considerations
281290

0 commit comments

Comments
 (0)