File:  [NetBSD Developer Wiki] / wikisrc / individual-software-releases / Attic / libbsdnet.mdwn
Revision 1.7: download - view: text, annotated - select for diffs
Thu Jul 11 22:18:07 2013 UTC (9 years, 10 months ago) by wiki
Branches: MAIN
CVS tags: HEAD
web commit by reed: some more cleanup

    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: Bug fixes and development discussion for this code can be discussed on the tech-userlevel mailing list.
   14: 
   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:
   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()
   31: 
   32: ### dst
   33: dst directory contains the Digital Signature Toolkit
   34: code for the DST API and crypto API.
   35: The dst code is not included in NetBSD's src. Probably the code in src/lib/libc using it actually is
   36: not used.
   37: 
   38: ### inet
   39: 
   40: src/common/lib/libc/inet/inet_addr.c
   41: 
   42: NetBSD adds \_inet_aton.c and \_inet_pton.c
   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
   50: to some of what we have in src/lib/libc/net/
   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: 
   74: ### nameser
   75: 
   76: nameser provides the name resolver routines to parse DNS responses
   77: 
   78: libbind has (and NetBSD does not have) in nameser:
   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.
   83: 
   84: ### resolv
   85: 
   86: NetBSD adds \_\_dn_comp.c, \_\_res_close.c, \_\_res_send.c,
   87: h_errno.c, res_compat.c, and res_state.c.
   88: 
   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.
   96: 
   97: ### tests
   98: tests directory contains dig tool from bind8

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