Opened 9 years ago
Last modified 7 years ago
#5670 enhancement assigned
Support issuing EDNS0 queries
Reported by: | Jean-Paul Calderone | Owned by: | Richard Wall |
---|---|---|---|
Priority: | normal | Milestone: | EDNS0 |
Component: | names | Keywords: | edns |
Cc: | Branch: |
branches/edns-resolver-5670
branch-diff, diff-cov, branch-cov, buildbot |
|
Author: | rwall |
Description
EDNS0 addresses some limitations of the DNS protocol. The Twisted Names client should issue queries using EDNS0 instead of plain DNS.
Change History (3)
comment:1 Changed 7 years ago by
Milestone: | → EDNS0 |
---|
comment:2 Changed 7 years ago by
Author: | → rwall |
---|---|
Branch: | → branches/edns-resolver-5670 |
comment:3 Changed 7 years ago by
Owner: | set to Richard Wall |
---|---|
Status: | new → assigned |
See wiki:EDNS0#a5670client.EDNSResolverFixedUDPPayloadSize
Start with a basic EDNSResolver with a fixed UDP payload size and which only does TCP fallback.
Requirements:
- An implementation of t.i.interfaces.IResolver which sends EDNS(0) queries by
default.
- Wraps client.Resolver
- Supplies an EDNSMessage factory to allow setting EDNS specific fields for all queries.
- Get / set AD, CD
- Get / set DO field. Default to "unset"
- Get / set VERSION. Default to 0.
- Get / set maximum UDP payload size.
- Default to 4096
- http://tools.ietf.org/html/rfc6891#section-6.2.5
- Detect servers which do not support EDNS(0) and fall back.
- ONLY fallback if DO is "unset"
- non-EDNS UDP query
- TCP query
Exclusions:
- We will not implement an API for manipulating OPT variable fields at this stage. See "Variable EDNS0 Option Codes" below.
Note: See
TracTickets for help on using
tickets.
(In [40840]) Branching to 'edns-resolver-5670'