home.social

#djbdns — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #djbdns, aggregated by home.social.

fetched live
  1. Internal changes to redo that you will only see if building from source are that it now uses itself to build, re-building only the parts of itself that have changed rather than explicitly re-building the whole of itself unconditionally every time.

    This has meant creating a minimal 'bootstrap' #redo, with just 3 command-line options.

    But it has enabled switching the manual sources to the more expressive DocBook XML like they are in #djbdns and #nosh, nicking their default.1.do programs.

  2. @Habbie

    Because I'm a DNS implementor too.

    The main people to have adopted that are the people who were already doing things its way.

    Microsoft didn't back then, & still does not now. #djbdns, likewise. MaraDNS, likewise.

    Of the 3, MaraDNS is the one that specifically calls out that there is a difference in its doco, although the other 2 document the different ways that they do wildcards.

    I was pointing this out when it was still a draft.

    groups.google.com/g/comp.proto

    @ska
    #DomainNameSystem

  3. @ska

    Sugar for AAAA records was done in 2025 by me. Felix von Leitner did it differently 25 years earlier, but I didn't like that it required two parallel toolsets and sets of record types. My way, it's just an IPv6 address in the same '+' records.

    That's been available for a *long* time.

    #djbdns #djbwares

  4. @ska

    That rather depends from the claim that something that was deliberately designed, and is documented as working that way, even *is* a bug. Bernstein did design to make things less suprisingly odd than 'zone' files.

    Because this was and is unintuitive. I was one of the people who sometimes explained to users that there were implied interior nodes that stopped wildcards from working. As well as the other ways that BIND wildcarding didn't work like MaraDNS, Microsoft DNS, and #djbdns.

  5. @ska

    Anyway, who the Hell is this community that thinks that the original #djbdns is the be-all and end-all?

    Let me know, and I'll show them #djbwares, where I've got a whole long list of things that have been improved, from IPv6 support through a non-hexdump way of doing SRV records to not letting ANY queries be amplification attack puppets.

    jdebp.info/Softwares/djbwares/

  6. @ska

    It probably would be possible, but it was genuinely a design decision by Bernstein to make wildcards work that way. There were several mailing list discussions.

    marc.info/?l=djbdns&m=10463674

    In this case, working like #djbdns means taking unmodified cdb files and providing the same responses from those data; which is what your WWW page currently says is the #shibari goal.

    If taking unmodified data files and giving non-tinydns behaviour instead is the goal, then that WWW page misleads.

  7. @JdeBP Real talk: shibari working like #djbdns is not the goal. It has never been the goal. It will never be the goal. And I am getting increasingly annoyed at the djbware community who tends to believe that the original djbware is the be-all end-all of software design. djbware was excellent 30 years ago and is sometimes still serviceable; this does not mean it cannot be improved upon. Pretending otherwise is being in a cult.

    In fact, the reason why I wrote shibari was twofold:

    • axfrdns is not RFC-compliant, and at some point BIND became more conservative in what it accepted, so one of my secondaries stopped working.
    • djbdns does not implement dns-0x20, so at some point some resolvers stopped working and my site became inaccessible.

    (Also, of course, IPv6, but this was not the deciding factor.)

    Did I try patching djbdns in order to solve my issues? Yes, I did. And it soon became apparent that although the djbdns design is stellar, the code is less than, and finding out where and how to patch it in order to change what I wanted was seriously threatening the few hairs I have left. I found it easier to write an entirely different DNS server from the ground up than to actually patch djbdns. That's how unmaintainable the code is.

    So no, shibari's goal isn't to work like djbdns. It is to be a replacement that is, you know, actually compliant with the specifications, because that is what most people expect from their software. And also, a replacement that is actually maintainable and maintained, as proven by the fact that it only took me a few hours to fix the wildcard bug in shibari and make it RFC-compliant, whereas you seem to be saying it would be more or less impossible with djbdns - which I'm fully willing to believe.

  8. @ska

    I hope not, if working like #djbdns is the goal.

    RFC4592 has a tree-structure model of domain name existence that prevents wildcards from working in some cases in a way that the djbdns table-structure model does not prevent.

    Using the RFC4592 example:

    When one does an MX lookup for _telnet._tcp.example. or ghost.*.example. it returns a non-empty record set because of the @ wildcard at *.example. .

    In the RFC4592 model, the *.example. wildcard does not get applied.

    #DomainNameSystem

  9. @ska

    An additional fun factor is that wildcards in #djbdns by design don't work like wildcards in BIND. The difference was much discussed a quarter of a century ago.

    So any bug reports that assume that wildcards in djbdns databases are supposed to behave like they do in BIND's 'zone' files need to be checked for proper foundation.

    And with RFC 4592 an even greater divergence then happened.

    #djbwares #DNS #shibari

  10. @cks @lanodan

    Missing from @drscriptt 's list are AAAA, HTTPS, and SVCB records.

    AAAA has plenty of obvious choices.

    You'll know the . convention for SRV, SVCB, and MX resource record sets, of course.

    I shall just drop in my personal experience from earlier this year that an accidentally supplied HTTPS resource record can *definitely* break WWW traffic; because browsers in practice do not obey RFC9460 §2.4.2.

    #djbdns
    #DomainNameSystem
    #SplitHorizon
    #ReservedSuperDomains #DNS #HTTPS #SVCB

  11. @cks @lanodan @drscriptt

    There are actually quite a few, nowadays. See RFCs 6762, 7686, and 8375.

    example. is not the worst choice, although you could have gone with test. or internal. or intranet. .

    Given your objective, any of the further ones that imply a residence or a corporation seem less well suited.

    Although home.arpa.'s public delegation to the blackhole-{1,2}.iana.org. names is re-used.

    github.com/jdebp/nosh/blob/tru

    #djbdns #DomainNameSystem #SplitHorizon #ReservedSuperDomains #DNS

  12. @schmonz

    #pickdns is dropped as of #djbwares 11.

    And the packages that get built out of the box, for what it's worth, now have the easter, nowutc, leapsecs, and yearcal utilities in their own taitools package, leaving libtai as just a development package.

    #djbdns

  13. @cks

    Scanning for publicly-reachable proxy DNS servers is old-hat. I've been warning people about such since the turn of the century, and #tinydns is never going to be vulnerable in that way.

    The more interesting attack, not least because Bernstein got it right all along, is the people that send queries with huge EDNS0 buffer sizes, asking for ANY against fsf.org (which is nearly 5KiB of response) and direct the responses at the tram port of some victim's router.

    #djbdns #djbwares

  14. @cks

    The first sentence of the new security chapter that I wrote last week for the Guide for #djbwares :

    > Expect any Internet-facing DNS service to be attacked immediately that it is up and running.

    It has certainly been my experience.

    I looked up one of the attackers, and they actually claimed on a WWW page to be a shadowy organization that works for governments but cannot tell you about it.

    #tinydns happily logs dropping all of the queries. (-:

    #djbdns

  15. If you've been wondering what has been happening with #djbwares 11, you'll have your answer when you see its manual page for walldns. (-:

    And when an AAAA lookup on 7.longchain.alias.test.jdebp.info. works.

    I might ask @ermo for another quick build check on #FreeBSD 14, in a couple of days. No reason to think that it will fail, though. (I've been improving some DNS stuff instead of installing #GhostBSD, alas.) Still testing things right now, though.

    #walldns #djbdns

  16. @JdeBP For good measure, the packaging fixes also work on 14.3 (and therefore likely also ), in case people are wondering. (-:

  17. Have something to whet your appetites for #djbwares version 11.

    If you don't know #djbdns, you probably won't notice what will make people who do know djbdns take interest. (-:

    It's also going to contain the FreeBSD 13 build fixes that @ermo helped with.

    #DomainNameSystem
    #DomainNameSystem

  18. Looking up www.bing.com. nowadays involves dnscache looking up intermediate domain names in org., com., net., and info.; the cross-dependencies of which regularly exceed dnscache's nested gluelessness limit above which it switches to a slower resolution algorithm.

    Some quick tests indicate that raising this limit from 2 to 3 improves matters.

    So this will be in #djbwares 11.

    #djbdns #dnscache #DomainNameSystem

  19. I made the mistake of starting to learn about GEMINI from its Frequently Asked Questions document.

    It's not aimed at people like me, who already understand the benefits and tradeoffs of static content servers. So it drives lots of points home, repeatedly, that I already know.

    It's apparently aimed at the same sort of monoculture Chrome+Apache Think for HTTP that parallels the old BIND Think and Sendmail Think that #qmail and #djbdns were up against years ago.

    #GEMINI #djbwares #publicfile

  20. Today I've found that my internals #DNS zones have been running without any NS records since I've migrated of #djbdns nearly 10 years ago...
  21. @ska @djb

    > The tinydns-data format has one key per domain, so you have to cycle through all records,
    > and more lookups are involved to find the authority etc.

    I've never had occasion to peek under the hood of #djbdns; it Just Worked and that was enough for me. So I'm a little surprised by that design.

    I would have thought the key would be `<domain>-<recordtype>`, at least.

    Fascinating.

    #JustWork #JustWorks #software

  22. @dangoodin @djb @0x0FFF

    Dan G.: to butt in, from experience with #djb from mailing lists for #qmail, #djbdns, etc...

    When djb states facts, he is invariably correct. When he presents a logical argument, he is rigorous, but it is frequently non-trivial to follow. Very dense logic, and perhaps omission of the more "obvious" steps, mean you can't grasp it on first read.

    When taking apart someone else's argument, it's even denser and crammed with references. But worth it. Spend the time.