Kalle Sommer Nielsen wrote:
2009/1/7 Scott MacVicar <firstname.lastname@example.org>:
I went to look at the bug Pierre mention earlier and noticed that
dns_get_record isn't implemented on OS X, this looks to be down to the fact
that it has a bind 8 BC layer that we use by default for some reason. I
tried to make it use the bind 9 interface but it wasn't a simple task as
some other things were missing.
End result here is a patch that allows bind 8 to work and therefore OS X,
the main difference is that there is a shared _res structure rather than a
per request one.
Does this mean it will also work on BSD? As far I remember then
dns_get_record wasn't implemented on BSD aswell. If not then it would
be ideal to support it if OSX is patched :)
Yeah it would work on all of the BSDs, though we have some wierd
bastardisation of bind8 and bind9 code in dns.c, I think some gentle
refactoring is in order to get this in a bit better shape.
OS X actually has res_nmkquery but AC_CHECK_FUNC can't correctly detect
this because of the way its defined in resolv.h, it's something like this.
#define res_nmkquery bind_9_nmkquery
AC_CHECK_FUNC does an #undef res_nmkquery as part of its test resulting
in the failure.
FreeBSD has __res_nmkquery but unfortunately PHP_CHECK_FUNC when
checking for res_nmkquery OR __res_nmkquery it doesn't tell you which
one it found.
I'll fix this in stages I guess, starting with the autoconf fun.