twisted.names.server.DNSServerFactory should query child zones before parent zones
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6k
- Forks
- 1.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 10
Description
| @wallrj reported | |
|---|---|
| Trac ID | trac#6580 |
| Type | defect |
| Created | 2013-06-18 19:55:50Z |
| Branch | https://github.com/twisted/twisted/tree/zone-order-6580-2 |
twisted.names.server.DNSServerFactory (via ResolverChain), queries authorities in the order they appear in the supplied list.
If a parent zone (FileAuthority) precedes its child zones in the list, it may answer queries with NXDOMAIN or referral for names which should actually be answered by a child zone that contains the authoritative records.
DNSServerFactory should reorder its list of authorities so that child zones appear before their parent zones.
The order should be determined by the labels of the SOA names for each FileAuthority / SecondaryAuthority.
This applies to the whole sequence of BindAuthority, PySourceAuthority
and SecondaryAuthorityService that get loaded in t.n.tap.py. and
passed t.n.server.DNSServerFactory.
See ticket:6475#comment:2
Attachments:
- by_name.py (420 bytes) - added by lukmdo on 2013-07-06 13:42:13Z - sorting using key only
- test_names.py.patch (703 bytes) - added by lukmdo on 2013-07-06 13:44:38Z - minor, removing unrelated args
Searchable metadata
trac-id__6580 6580
type__defect defect
reporter__rwall rwall
priority__normal normal
milestone__
branch__branches_zone_order_6580_2 branches/zone-order-6580-2
branch_author__rwall rwall
status__assigned assigned
resolution__None None
component__names names
keywords__
time__1371585350000000 1371585350000000
changetime__1373359061000000 1373359061000000
version__None None
owner__rwall rwall
cc__lukmdo
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with twisted.names.server.DNSServerFactory and the authority sequence loaded in t.n.tap.py. Review the attached test_names.py.patch and by_name.py for prior attempts, then examine the listed BindAuthority, PySourceAuthority, FileAuthority, and SecondaryAuthority types. Done means child zones are queried before parent zones based on SOA-name labels, with coverage for the parent-before-child case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100