top | item 41430845

IANA's List of Domain Name System (DNS) Parameters

25 points| h4ck_th3_pl4n3t | 1 year ago |iana.org | reply

9 comments

order
[+] ggm|1 year ago|reply
Those happy days when we distributed the equivalent of password files in the DNS via the IN HS (HESIOD) type. (Kerberos)

And then Sun went feral on Yellow pages/NIS and we all stopped loving each other anyway and now.. it's a lot more fragmented.

There are many deprecated RRtypes. "lets put it in the DNS" is a bit of a meme.

(use of past tense invites somebody to point out you can still run the code if you walk back in e.g. NetBSD sources but you might find widespread support for these RRtypes missing from a lot of things)

[+] h4ck_th3_pl4n3t|1 year ago|reply
"Let's build a DNS parser that's spec compliant" is something that only insane people would say. I dare to argue it's an impossible task at this point. Having to read dozens of RFCs just to find out what's been deprecated and what's been added is really not a good way to implement code and tests :D

Especially with the typical problems that come with naive implementations that cannot deal with malformed truncated packets or pointer loops (stack overflows/buffer overflows) in compressed packets.

And I am not even scratching DNS cookies or newer DNS record types here, which as you said is another deep rabbit hole.

[+] bhaney|1 year ago|reply
I always end up on this page every time I need to write a DNS parser (which happens way more often than I'd like)
[+] olowe|1 year ago|reply
Do you mean the binary message format or something higher level?

I’ve got a little DNS client/server library in Go [1], and I’m curious whether there’s a minimal subset of the binary format I could handle myself so my library only depends on the Go standard library. Any tips?

[1]: https://pkg.go.dev/olowe.co/dns

[+] daneel_w|1 year ago|reply
How many times have you reinvented your own wheel by now?