|
Message-ID: <20220919202145.GX9709@brightrain.aerifal.cx> Date: Mon, 19 Sep 2022 16:21:45 -0400 From: Rich Felker <dalias@...c.org> To: libc-coord@...ts.openwall.com Subject: EAI_NOADDR ? One problem I've seen come up again and again with libc stub resolver API is that there's no way to distinguish between NxDomain and NODATA responses from DNS. These have very different meanings ("name doesn't exist" vs "name exists but has no address (or whatever record type you were looking for") and being able to distinguish them is important for implementing containerized-type DNS service on top of the host's resolver API rather than direct proxying to outside DNS (when the latter isn't desirable). POSIX defines EAI_NONAME as: [EAI_NONAME] The name does not resolve for the supplied parameters. which, under generous interpretation of "parameters", seems to cover both cases, although arguably it does "resolve" to just an empty list of addresses in the NODATA case. To address this, I'm considering proposing a new error code EAI_NOADDR that would be defined something like: [EAI_NOADDR] The name does not have any addresses for the supplied parameters. Would other implementators be on-board with such a proposal?
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.