Hi,
I'm sending a bunch of patches for better DNS resolver support. I tried
to keep to the current structure of uClibc, but as I never did anything
in this project before, I might have missed essential details.
All patches should have no impact for existing users, and tests show
that the new functions work well on both my x86 development machine and
an ARM PXA embedded board.
The first two patches are purely cleanups and can be merged indepently.
The last patch is to be considered RFC as it changes the symbols
exported in the library with existing configs. I think it does make
sense to only build DNS related functions when
UCLIBC_HAS_RESOLVER_SUPPORT is selected, and strip them off if people
don't want them, but I can't decide that :)
Thanks for your review,
Daniel
Daniel Mack (11):
extra/Configs/Config.in: drop "default n" lines
libc/inet/resolv.c: comment on #endif lines
inet/resolv: add ns_{put,get}{16,32}
inet/resolv: add ns_name_pton, ns_name_pack and ns_name_compress
inet/resolv: Add dn_comp
inet/resolv: add dn_skipname and ns_name_skip
inet/resolv: add ns_initparse, ns_parserr, ns_skiprr and
ns_msg_getflag
inet/resolv: add res_mkquery
inet/resolv: add res_ninit and res_nclose
include/resolv.h: provide __res_state._u even if !__UCLIBC_HAS_IPV6__
inet: build all res_* and ns_* functions conditionally
extra/Configs/Config.in | 87 +----
include/arpa/nameser.h | 8 +-
include/resolv.h | 24 +-
libc/inet/Makefile.in | 3 +-
libc/inet/ns_netint.c | 8 +
libc/inet/ns_parse.c | 8 +
libc/inet/res_data.c | 8 +
libc/inet/resolv.c | 1071 +++++++++++++++++++++++++++++++++++++++++++++--
8 files changed, 1079 insertions(+), 138 deletions(-)
create mode 100644 libc/inet/ns_netint.c
create mode 100644 libc/inet/ns_parse.c
create mode 100644 libc/inet/res_data.c
--
1.7.5.4
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc