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)
"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.
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?
[+] [-] ggm|1 year ago|reply
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
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
[+] [-] olowe|1 year ago|reply
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