[GH-ISSUE #3165] Support experimental LOC record type #1145

Open
opened 2026-03-16 01:43:40 +03:00 by kerem · 2 comments
Owner

Originally created by @mkroman on GitHub (Jul 29, 2025).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/3165

Is your feature request related to a problem? Please describe.
Hickory DNS doesn't have support for the experimental LOC DNS record type.

Describe the solution you'd like
Since I'm specifically using the hickory-resolver crate, I'd like it for it to support the LOC record type behind a feature flag, e.g. experimental-loc-record, and then a parent feature flag experimental-records or something in that fashion.

Describe alternatives you've considered
dig supports LOC records:

% dig where-is-the-iss.dedyn.io loc

; <<>> DiG 9.20.11 <<>> where-is-the-iss.dedyn.io loc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 966
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;where-is-the-iss.dedyn.io.     IN      LOC

;; ANSWER SECTION:
where-is-the-iss.dedyn.io. 894  IN      LOC     19 19 45.830 N 130 49 12.870 E 416770.00m 10000m 10000m 10000m

;; Query time: 8 msec
;; SERVER: 10.0.0.1#53(10.0.0.1) (UDP)
;; WHEN: Tue Jul 29 04:42:25 CEST 2025
;; MSG SIZE  rcvd: 82

Additional context
This blog post showcases a use of the LOC record which lead me to this problem:

https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/

The spec for the LOC record is still experimental under RFC 1876: https://www.rfc-editor.org/rfc/rfc1876.html

Originally created by @mkroman on GitHub (Jul 29, 2025). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/3165 **Is your feature request related to a problem? Please describe.** Hickory DNS doesn't have support for the **experimental** `LOC` DNS record type. **Describe the solution you'd like** Since I'm specifically using the `hickory-resolver` crate, I'd like it for it to support the `LOC` record type behind a feature flag, e.g. `experimental-loc-record`, and then a parent feature flag `experimental-records` or something in that fashion. **Describe alternatives you've considered** `dig` supports `LOC` records: ``` % dig where-is-the-iss.dedyn.io loc ; <<>> DiG 9.20.11 <<>> where-is-the-iss.dedyn.io loc ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 966 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ;; QUESTION SECTION: ;where-is-the-iss.dedyn.io. IN LOC ;; ANSWER SECTION: where-is-the-iss.dedyn.io. 894 IN LOC 19 19 45.830 N 130 49 12.870 E 416770.00m 10000m 10000m 10000m ;; Query time: 8 msec ;; SERVER: 10.0.0.1#53(10.0.0.1) (UDP) ;; WHEN: Tue Jul 29 04:42:25 CEST 2025 ;; MSG SIZE rcvd: 82 ``` **Additional context** This blog post showcases a use of the LOC record which lead me to this problem: https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/ The spec for the `LOC` record is still experimental under RFC 1876: https://www.rfc-editor.org/rfc/rfc1876.html
Author
Owner

@djc commented on GitHub (Jul 29, 2025):

RFC 1876 is from 1996, which makes it feel unlikely that it's going to become non-experimental after about 30 years, especially if the ~only usage is from a random blogger deciding to have fun with it. But, our RecordType does have an Unknown(u16) variant so you might be able to use that?

<!-- gh-comment-id:3130805938 --> @djc commented on GitHub (Jul 29, 2025): RFC 1876 is from 1996, which makes it feel unlikely that it's going to become non-experimental after about 30 years, especially if the ~only usage is from a random blogger deciding to have fun with it. But, our `RecordType` does have an `Unknown(u16)` variant so you might be able to use that?
Author
Owner

@mkroman commented on GitHub (Aug 2, 2025):

RFC 1876 is from 1996, which makes it feel unlikely that it's going to become non-experimental after about 30 years, especially if the ~only usage is from a random blogger deciding to have fun with it. But, our RecordType does have an Unknown(u16) variant so you might be able to use that?

It's apparently supported by both dig and nslookup (from bind):

nslookup -type=LOC where-is-the-iss.dedyn.io
<!-- gh-comment-id:3146617671 --> @mkroman commented on GitHub (Aug 2, 2025): > RFC 1876 is from 1996, which makes it feel unlikely that it's going to become non-experimental after about 30 years, especially if the ~only usage is from a random blogger deciding to have fun with it. But, our `RecordType` does have an `Unknown(u16)` variant so you might be able to use that? It's apparently supported by both `dig` and `nslookup` (from `bind`): ``` nslookup -type=LOC where-is-the-iss.dedyn.io
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#1145
No description provided.