Annotation of wikisrc/individual-software-releases/libbsdnet.mdwn, revision 1.7

1.3       wiki        1: The libbsdnet suite provides functions and documentation for communicating
1.1       wiki        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
1.3       wiki       10: as the old BSD gethostbyname() standard API.  It was previously also maintained by ISC and distributed with BIND
1.1       wiki       11: and libbind.  The handoff of the maintainership from ISC to NetBSD happened in July 2013.
1.3       wiki       12: 
1.4       wiki       13: Bug fixes and development discussion for this code can be discussed on the tech-userlevel mailing list.
                     14: 
1.3       wiki       15: Patches of NetBSD (June 2013 head) against libbind-6.0 are available at:
                     16: <http://ftp.netbsd.org/pub/NetBSD/misc/reed/libbsdnet/>
                     17: 
                     18: libbind provides portability headers: port_before.h and  port_after.h
                     19: 
                     20: ### port
                     21: port directory provides portability headers for many operating sytems
                     22: make directory provides common Makefile rules and mkdep
                     23: 
                     24: ### bsd
                     25: bsd directory contains compatibility code, such as:
1.5       wiki       26: daemon(), \_\_ftruncate(), isc\_\_gettimeofday(), gettimeofday(),
                     27: mkstemp(), mktemp(), gettemp(), putenv(), \_\_readv(), setenv(),
                     28: unsetenv(), findenv(), \_\_setitimer(), strcasecmp(), strncasecmp(),
                     29: strdup(), isc_strerror(), strpbrk(), strsep(), strtoul(), \_\_utimes(),
                     30: \_\_writev(), \_\_writev()
1.3       wiki       31: 
                     32: ### dst
                     33: dst directory contains the Digital Signature Toolkit
                     34: code for the DST API and crypto API.
1.7     ! wiki       35: The dst code is not included in NetBSD's src. Probably the code in src/lib/libc using it actually is
1.3       wiki       36: not used.
                     37: 
                     38: ### inet
                     39: 
1.4       wiki       40: src/common/lib/libc/inet/inet_addr.c
1.3       wiki       41: 
1.5       wiki       42: NetBSD adds \_inet_aton.c and \_inet_pton.c
1.3       wiki       43: 
                     44: libbind has (and NetBSD does not have) inet_data in inet.
                     45: 
                     46: ### irs
                     47: irs is the Information Retrieval System; it provides
                     48: getaddrinfo, gethostbyname, and related.
                     49: NetBSD doesn't include irs directory as is. But is comparable
1.4       wiki       50: to some of what we have in src/lib/libc/net/
1.3       wiki       51: 
                     52: NetBSD doesn't have
                     53: dns.c top-level accessor function for the dns,
                     54: dns_gr.c for hesiod, 
                     55: gai_strerror.c,
                     56: and more.
                     57: 
                     58: ### isc
                     59: isc directory provides many portability functions
                     60: primarily used for ISC software.
                     61: 
                     62: NetBSD only ships with:
                     63: src/lib/libc/include/isc/assertions.h
                     64: src/lib/libc/include/isc/dst.h
                     65: src/lib/libc/include/isc/list.h
                     66: src/lib/libc/include/isc/memcluster.h
                     67: src/lib/libc/include/isc/eventlib.h
                     68: src/lib/libc/include/isc/heap.h
                     69: src/lib/libc/isc/assertions.c
                     70: src/lib/libc/isc/ev_streams.c
                     71: src/lib/libc/isc/ev_timers.c
                     72: src/lib/libc/isc/eventlib_p.h
                     73: 
1.6       wiki       74: ### nameser
                     75: 
                     76: nameser provides the name resolver routines to parse DNS responses
1.3       wiki       77: 
                     78: libbind has (and NetBSD does not have) in nameser:
1.7     ! wiki       79: ns_date.c which provides ns_datetosecs(), isleap(), and datepart();
        !            80: ns_newmsg.c  for building DNS message packets;
        !            81: ns_rdata.c for unpacking or comparing rdata; and
        !            82: ns_sign.c and for ns_verify.c for tsig.
1.3       wiki       83: 
                     84: ### resolv
                     85: 
1.5       wiki       86: NetBSD adds \_\_dn_comp.c, \_\_res_close.c, \_\_res_send.c,
1.7     ! wiki       87: h_errno.c, res_compat.c, and res_state.c.
1.3       wiki       88: 
1.7     ! wiki       89: libbind has (and NetBSD does not have) in resolv
        !            90: (even though NetBSD manual documents them):
        !            91: res_findzonecut.c,
        !            92: res_mkupdate.c,
        !            93: res_sendsigned.c,
        !            94: and
        !            95: res_update.c.
1.3       wiki       96: 
                     97: ### tests
                     98: tests directory contains dig tool from bind8

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb