--- wikisrc/individual-software-releases/Attic/libbsdnet.mdwn 2013/07/11 21:45:55 1.2 +++ wikisrc/individual-software-releases/Attic/libbsdnet.mdwn 2013/07/11 21:57:52 1.3 @@ -1,5 +1,4 @@ - -The libbsdnet suite provides functions and documentation for communicating +The libbsdnet suite provides functions and documentation for communicating with domain name servers, retrieving network host entries from /etc/hosts or via DNS, converting CIDR network addresses, performing Hesiod information lookups, retrieving network entries from @@ -8,5 +7,88 @@ DNS messages, performing name-to-address translations, and utilizing /etc/resolv.conf for resolver configuration. Historically, much of the code is derived from the CSRG BSD distributions, such -as the old BSD gethostbyname() API. It was previously also maintained by ISC and distributed with BIND +as the old BSD gethostbyname() standard API. It was previously also maintained by ISC and distributed with BIND and libbind. The handoff of the maintainership from ISC to NetBSD happened in July 2013. + +Patches of NetBSD (June 2013 head) against libbind-6.0 are available at: + + +libbind provides portability headers: port_before.h and port_after.h + +### port +port directory provides portability headers for many operating sytems +make directory provides common Makefile rules and mkdep + +### bsd +bsd directory contains compatibility code, such as: +daemon(), __ftruncate(), isc__gettimeofday(), gettimeofday(), +mkstemp(), mktemp(), gettemp(), putenv(), __readv(), setenv(), +unsetenv(), findenv(), __setitimer(), strcasecmp(), strncasecmp(), +strdup(), isc_strerror(), strpbrk(), strsep(), strtoul(), __utimes(), +__writev(), __writev() + +### dst +dst directory contains the Digital Signature Toolkit +code for the DST API and crypto API. +Parts of NetBSD's copy of libbind in src/lib/libc use +this, The dst code is not included in NetBSD's src. Probably the code in src/lib/libc using it actually is +not used. + +### inet + +/usr/src/common/lib/libc/inet/inet_addr.c + +NetBSD adds _inet_aton.c and _inet_pton.c + +libbind has (and NetBSD does not have) inet_data in inet. + +### irs +irs is the Information Retrieval System; it provides +getaddrinfo, gethostbyname, and related. +NetBSD doesn't include irs directory as is. But is comparable +to some of what we have in /usr/src/lib/libc/net/ + +NetBSD doesn't have +dns.c top-level accessor function for the dns, +dns_gr.c for hesiod, +gai_strerror.c, +and more. + +### isc +isc directory provides many portability functions +primarily used for ISC software. + +NetBSD only ships with: +src/lib/libc/include/isc/assertions.h +src/lib/libc/include/isc/dst.h +src/lib/libc/include/isc/list.h +src/lib/libc/include/isc/memcluster.h +src/lib/libc/include/isc/eventlib.h +src/lib/libc/include/isc/heap.h +src/lib/libc/isc/assertions.c +src/lib/libc/isc/ev_streams.c +src/lib/libc/isc/ev_timers.c +src/lib/libc/isc/eventlib_p.h + +### nameser provides the name resolver routines to parse DNS responses + +libbind has (and NetBSD does not have) in nameser: +ns_date.c which provides ns_datetosecs(), isleap(), datepart() +ns_newmsg.c for building DNS message packets +ns_rdata.c for unpacking or comparing rdata +ns_sign.c and for ns_verify.c for tsig + +### resolv + +NetBSD adds __dn_comp.c, __res_close.c, __res_send.c, +h_errno.c, res_compat.c, res_state.c. + +libbind has (and NetBSD does not have) in resolv: +(even though NetBSD manual documents them) +res_findzonecut.c +res_mkupdate.c +res_sendsigned.c +res_update.c + +### tests +tests directory contains dig tool from bind8