1: The libbsdnet suite provides functions and documentation for communicating
2: with domain name servers, retrieving network host entries from
3: /etc/hosts or via DNS, converting CIDR network addresses, performing
4: Hesiod information lookups, retrieving network entries from
5: /etc/networks, implementing TSIG transaction/request security of
6: DNS messages, performing name-to-address and address-to-name
7: translations, and utilizing /etc/resolv.conf for resolver configuration.
8:
9: Historically, much of the code is derived from the CSRG BSD distributions, such
10: as the old BSD gethostbyname() standard API. It was previously also maintained by ISC and distributed with BIND
11: and libbind. The handoff of the maintainership from ISC to NetBSD happened in July 2013.
12:
13: Patches of NetBSD (June 2013 head) against libbind-6.0 are available at:
14: <http://ftp.netbsd.org/pub/NetBSD/misc/reed/libbsdnet/>
15:
16: libbind provides portability headers: port_before.h and port_after.h
17:
18: ### port
19: port directory provides portability headers for many operating sytems
20: make directory provides common Makefile rules and mkdep
21:
22: ### bsd
23: bsd directory contains compatibility code, such as:
24: daemon(), __ftruncate(), isc__gettimeofday(), gettimeofday(),
25: mkstemp(), mktemp(), gettemp(), putenv(), __readv(), setenv(),
26: unsetenv(), findenv(), __setitimer(), strcasecmp(), strncasecmp(),
27: strdup(), isc_strerror(), strpbrk(), strsep(), strtoul(), __utimes(),
28: __writev(), __writev()
29:
30: ### dst
31: dst directory contains the Digital Signature Toolkit
32: code for the DST API and crypto API.
33: Parts of NetBSD's copy of libbind in src/lib/libc use
34: this, The dst code is not included in NetBSD's src. Probably the code in src/lib/libc using it actually is
35: not used.
36:
37: ### inet
38:
39: /usr/src/common/lib/libc/inet/inet_addr.c
40:
41: NetBSD adds _inet_aton.c and _inet_pton.c
42:
43: libbind has (and NetBSD does not have) inet_data in inet.
44:
45: ### irs
46: irs is the Information Retrieval System; it provides
47: getaddrinfo, gethostbyname, and related.
48: NetBSD doesn't include irs directory as is. But is comparable
49: to some of what we have in /usr/src/lib/libc/net/
50:
51: NetBSD doesn't have
52: dns.c top-level accessor function for the dns,
53: dns_gr.c for hesiod,
54: gai_strerror.c,
55: and more.
56:
57: ### isc
58: isc directory provides many portability functions
59: primarily used for ISC software.
60:
61: NetBSD only ships with:
62: src/lib/libc/include/isc/assertions.h
63: src/lib/libc/include/isc/dst.h
64: src/lib/libc/include/isc/list.h
65: src/lib/libc/include/isc/memcluster.h
66: src/lib/libc/include/isc/eventlib.h
67: src/lib/libc/include/isc/heap.h
68: src/lib/libc/isc/assertions.c
69: src/lib/libc/isc/ev_streams.c
70: src/lib/libc/isc/ev_timers.c
71: src/lib/libc/isc/eventlib_p.h
72:
73: ### nameser provides the name resolver routines to parse DNS responses
74:
75: libbind has (and NetBSD does not have) in nameser:
76: ns_date.c which provides ns_datetosecs(), isleap(), datepart()
77: ns_newmsg.c for building DNS message packets
78: ns_rdata.c for unpacking or comparing rdata
79: ns_sign.c and for ns_verify.c for tsig
80:
81: ### resolv
82:
83: NetBSD adds __dn_comp.c, __res_close.c, __res_send.c,
84: h_errno.c, res_compat.c, res_state.c.
85:
86: libbind has (and NetBSD does not have) in resolv:
87: (even though NetBSD manual documents them)
88: res_findzonecut.c
89: res_mkupdate.c
90: res_sendsigned.c
91: res_update.c
92:
93: ### tests
94: tests directory contains dig tool from bind8
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb