Bug 297 - Missing function "dn_skipname"
Summary: Missing function "dn_skipname"
Status: RESOLVED FIXED
Alias: None
Product: uClibc
Classification: Unclassified
Component: Other (show other bugs)
Version: 0.9.30.1
Hardware: PC Linux
: P5 enhancement
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-22 16:29 UTC by Michael Deutschmann
Modified: 2011-10-20 11:05 UTC (History)
1 user (show)

See Also:
Host: i386-pc-linux-uclibc
Target: i386-pc-linux-uclibc
Build: i386-pc-linux-uclibc


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Deutschmann 2009-04-22 16:29:51 UTC
uClibc's <resolv.h> header declares a function "dn_skipname", but it is never defined, so any program that calls it will fail to compile.

The libspf (an orphaned project) and libspf2 (http://libspf2.org) libraries both require this function.
Comment 1 Bernhard Reutner-Fischer 2009-07-21 17:47:29 UTC
Confirmed.
Most of the funcs of that block in resolv.h are NIH and should be #if 0'ed out.
Care to submit a patch?
Comment 2 Michael Deutschmann 2009-07-22 06:06:13 UTC
(In reply to comment #1)
> Confirmed.
> Most of the funcs of that block in resolv.h are NIH and should be #if 0'ed out.
> Care to submit a patch?

That would not resolve the problem of libspf2 failing to compile.  It's not checking for the function and being fooled by the prototype into thinking it's there.  Rather, it unconditionally needs dn_skipname to function.

The only circumstance in which it can compile without it is if some other functions including "ns_initparse" are provided by the library.

So the only acceptable resolution to this bug is for dn_skipname to be really implemented.

(I don't know how to implement dn_skipname, so I can't supply a patch.)
Comment 3 Natanael Copa 2010-05-19 06:30:24 UTC
I'd like to point out that I have only seen 2 applications needing dn_skipname (of 850+) and those are libspf2 and wine.

I can provide a patch for uclibc if you still are interested, but I don't think its worth it. Better provide patches to the apps needing it.

I suggest closing this bug.

For libspf2:
http://git.alpinelinux.org/cgit/aports/plain/main/libspf2/0001-provide-dn_skipname.patch

And for wine:
http://git.alpinelinux.org/cgit/aports/plain/main/wine/dn_skipname.patch
Comment 4 Michael Deutschmann 2010-06-03 04:46:03 UTC
fetchmail (http://fetchmail.berlios.de/) also requires dn_skipname.
Comment 5 Bernhard Reutner-Fischer 2011-10-20 11:05:23 UTC
This will be in 0.9.33 (UCLIBC_HAS_RESOLVER_SUPPORT)