On 26. 7. 25 22:11, br...@apache.org wrote:
Author: brane
Date: Sat Jul 26 20:11:05 2025
New Revision: 1927485

Log:
In the Unbound resolver, finally convert the results to apr_sockaddr_t.

[...]

@@ -60,8 +63,8 @@
   *  - Wake the poll/select in serf_context_run() when new resolve
   *    results are available.
   *
- * TODO for Unbound:
- *  - Convert unbound results to apr_sockaddr_t.
+ * - Unbound: Detect when the "hostname" is actually a stringified IP address.
+ *   The resolver doesn't handle that, so we have to short-circuit that case.
   */


As I wrote above, the Unbound resolver doesn't know what to do when given an IPv4 of IPv6 address as the "hostname". Obviously this needs to be handled in Serf before/instead of calling Unbound. APR handles this, and has its own apr_inet_pton() implementation, presumably for platforms where the standard inet_pton() isn't available, but it's not exported in the public API.

My thought is to add a compile-time check if inet_pton() is available, and otherwise steal APR's implementation. I don't like the code duplication, but short of exposing APR's implementation (and then waiting for it to be released), I don't see a third option.

If no-one has a better idea, I'll implement this  in the next week or so. It's the last missing part of the Unbound integration except for the build configuration bits.

-- Brane

Reply via email to