File:  [NetBSD Developer Wiki] / wikisrc / individual-software-releases / netresolv.mdwn
Revision 1.5: download - view: text, annotated - select for diffs
Fri Oct 18 17:23:14 2013 UTC (6 years, 4 months ago) by jnemeth
Branches: MAIN
CVS tags: HEAD
typo fix: sytems -> systems

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

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