nslookup's Server: 0.0.0.0 but resolves correctly

Steven Honeyman stevenhoneyman at gmail.com
Sun Nov 2 21:02:57 UTC 2014


On 2 November 2014 18:05,  <stroblsw at gmail.com> wrote:
>> musl:
>>
>>  24
>>  25 /* unused; purely for broken apps */
>>  26 typedef struct __res_state {
>>  27     int retrans;
>>
>
> sorry you lost me.
> is this an nslookup.c from your own repo?
> I thought musl only needs header patches with bb.

No - that's in the dns related source code of musl libc (which is also
broken like you describe android bionic)

I should really say now, I know almost nothing about android/bionic
which is why I can't offer any direct suggestions for that... but I
use musl quite a bit so can try to approach that way.

Basically, busybox tries to get dns settings through an (old?) method
that is not supported in musl (and possibly bionic). The code in musl
behind the scenes is just a bunch of return 0; to keep "broken apps"
happy in thinking the res functions work, but meanwhile it uses its
own method of parsing resolv.conf - which might be the easiest way I
can think of to work around this issue... but I'm sure there is a much
better way that I don't know about.

^ that's my current understanding at least, but if anyone can explain
better then I'm sure we'd all benefit!


Thanks,
Steven


More information about the busybox mailing list