- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI) - Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend - Dockerfile.gui: Astro static build served via nginx - docker-compose.yml: backend (internal) + frontend (port 5353) - nginx.conf: root redirects to /es/, /api/ proxied to backend - zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
64 lines
2.2 KiB
Markdown
64 lines
2.2 KiB
Markdown
## ADDRESS03: Reverse DNS entry matches name server name
|
|
|
|
### Test case identifier
|
|
**ADDRESS03** Reverse DNS entry matches name server name
|
|
|
|
### Objective
|
|
|
|
Some anti-spam techniques use reverse DNS lookup to allow incoming traffic.
|
|
In order to prevent name servers to be blocked or blacklisted, DNS
|
|
administrators should publish PTR records associated with the name server
|
|
addresses.
|
|
|
|
Moreover, as mentioned in paragraph 2.1 of [RFC
|
|
1912](https://datatracker.ietf.org/doc/html/rfc1912) when a PTR record exists, it must match the host
|
|
name.
|
|
|
|
### Inputs
|
|
|
|
The domain name to be tested.
|
|
|
|
### Ordered description of steps to be taken to execute the test case
|
|
|
|
1. Obtain the IP addresses of each name server of the domain from the child
|
|
using [Method5](../Methods.md).
|
|
These IP addresses can be associated to the name servers through a hash
|
|
table where each address is a key and the name server it's unique value.
|
|
Let's call this hash table HASH1.
|
|
|
|
2. Obtain the reverse DNS entries associated to name servers names as described
|
|
in test case [ADDRESS02](address02.md). Let's call its outcome HASH2 which
|
|
consists of IP addresses as keys and hostnames as values. As multiple PTR
|
|
records are allowed, an IP address can have several corresponding hostnames.
|
|
|
|
3. Compare HASH2 to HASH1.
|
|
|
|
Parse the address list of HASH1.
|
|
|
|
For an address (a) of HASH1, take the corresponding hostname (h) in HASH1.
|
|
If this hostname (h) is present in the hostnames list associated to this
|
|
address (a) in HASH2, then the test succeeds for address (a).
|
|
|
|
If the hostname (h) does not match any hostnames associated to address (a)
|
|
in HASH2, then the test fails for address (a).
|
|
|
|
If the test fails for one IP address, the whole test case fails.
|
|
|
|
|
|
### Outcome(s)
|
|
|
|
Multiple addresses and multiple PTR records are allowed. The test
|
|
succeeds if every name server address has one or more PTR records
|
|
and one of these records matches the server name.
|
|
If one address doesn't match, the whole test case fails.
|
|
|
|
### Special procedural requirements
|
|
|
|
None.
|
|
|
|
### Intercase dependencies
|
|
|
|
Some of the input of this test comes as the result of test case
|
|
[ADDRESS02](address02.md). [ADDRESS02](address02.md) must succeed
|
|
prior to proceed with this test case [ADDRESS03](address03.md).
|