handshake-org / handshake-org/hsd
Unexpected dig +trace behavior
- Dominant language
- JavaScript
- Stars
- 2.1k
- Forks
- 306
- PR merge metrics
- No merged PRs in 30d
Description
I am trying to find the nearest parent DS record for a domain, and I'm running into an issue that seems to be related to the synth address. The following works to find the DS records of the parents of www.isc.org.
```
➜ ~ dig @8.8.8.8 +trace www.isc.org | grep -w 'IN[[:space:]]*DS'
org. 86400 IN DS 26974 8 2 4FEDE294C53F438A158C41D39489CD78A86BEB0D8A0AEAFF14745C0D 16E1DE32
isc.org. 86400 IN DS 7250 13 2 A30B3F78B6DDE9A4A9A2AD0C805518B4F49EC62E7D3F4531D33DE697 CDA01CB2
```
But this does not work with my HSD recursive resolver running on port 53.
```
➜ ~ dig @127.0.0.1 +trace www.isc.org | grep -w 'IN[[:space:]]*DS'
dig: couldn't get address for '_fs00008._synth': no more
```
Came across [this issue](https://github.com/handshake-org/hsd/issues/400), and after configuring my hsd resolver in /etc/resolv.conf, the error disappears, but I do not got the expected response.
```
➜ ~ dig +trace www.isc.org | grep -w 'IN[[:space:]]*DS'
➜ ~
```
```
➜ ~ dig +trace www.isc.org
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> +trace www.isc.org
;; global options: +cmd
. 515920 IN NS _fs00008._synth.
. 8320 IN RRSIG NS 13 0 518400 20230106011014 20220105011014 60944 . a651SserHwmby4rcVMsGMHAJLYAyBxLzrN1v7E4C+JE66Dz7zyP8ViK/ 8x0hebV5z4CMqOfX7zEFtpxPNy6G9g==
;; Received 256 bytes from 66.42.108.201#53(66.42.108.201) in 1 ms
www.isc.org. 200 IN CNAME dualstack.osff2.map.fastly.net.
www.isc.org. 200 IN RRSIG CNAME 13 3 300 20220123151519 20211224144419 27566 isc.org. QSz8TD9BvYxxQAS3OuatwDISaabQoqlVqH872T2adlty75gk7QQsiDLA vRseeGxzseaxkP7CYzCH365SaixmtA==
dualstack.osff2.map.fastly.net. 15 IN A 151.101.198.217
;; Received 302 bytes from 127.0.0.1#53(_fs00008._synth) in 1 ms
```
It also does not work for on chain TLDs. I have a single DS record on the blockchain for `ns9`.
```
➜ ~ dig ns9 DS
...
;; ANSWER SECTION:
ns9. 18612 IN DS 1 15 0 1FBC442BD3F7F5D5D6DCC3FD90EB67CF732A45525171752B3957BA27 835BC6CD
...
```
However, the DS record is absent from the trace.
```
➜ ~ dig +trace ns9 | grep -w 'IN[[:space:]]*DS'
➜ ~
```
```
➜ ~ dig +trace ns9
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> +trace ns9
;; global options: +cmd
. 514976 IN NS _fs00008._synth.
. 7376 IN RRSIG NS 13 0 518400 20230106011014 20220105011014 60944 . a651SserHwmby4rcVMsGMHAJLYAyBxLzrN1v7E4C+JE66Dz7zyP8ViK/ 8x0hebV5z4CMqOfX7zEFtpxPNy6G9g==
;; Received 256 bytes from 127.0.0.1#53(127.0.0.1) in 1 ms
ns9. 18404 IN NSEC ns9\000. RRSIG NSEC
ns9. 7604 IN RRSIG NSEC 13 1 21600 20230106011402 20220105011402 60944 . rlFhaSa+vbtDsM9FXGv9Zd7muco3aoexhO25LD9xzctuDaEwSLnsFo9s toDSwQKQqY1LzK3RWK8yaa+3Godnww==
. 83204 IN SOA . . 2022010601 1800 900 604800 21600
. 7604 IN RRSIG SOA 13 0 86400 20230106011402 20220105011402 60944 . Hhin3It1ZIVK1d8A/L6Cg2mHErtMMB0xV4DT470gU6Rdx/jmQ39po6cy vYoJd2Jh5kMLID+6XrG3noXPnMbCOA==
;; Received 386 bytes from 127.0.0.1#53(_fs00008._synth) in 1 ms
```
Is this an issue with the recursive resolver returning an incomplete response, or is it tied up with the synth address root server?
Contributor guide
Assessment
This issue has not been assessed yet.