Bv9ARM.ch12.html revision aa6c5a3e331958d3c92c2facdbd2b8daa55b5959
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<!--
72141595cf9d7faefcf7cf4fbab044c61a902b0fTinderbox User - Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence -
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater - Permission to use, copy, modify, and/or distribute this software for any
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley - purpose with or without fee is hereby granted, provided that the above
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley - copyright notice and this permission notice appear in all copies.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence -
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews - PERFORMANCE OF THIS SOFTWARE.
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley-->
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<!-- $Id$ -->
7efc6d9cb8bea410d0580b03c7fab449f38902a4Mark Andrews<html>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<head>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence<title>Appendix�D.�BIND 9 DNS Library Support</title>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
26cf4737b3e84c3a686a5eacebf22ac39e57d4caMark Andrews<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<link rel="prev" href="Bv9ARM.ch11.html" title="Appendix�C.�General DNS Reference Information">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<link rel="next" href="Bv9ARM.ch13.html" title="Manual pages">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</head>
5c7d67e3e68f8dbc45ffd4e1ea94696899b7b966Bob Halley<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<div class="navheader">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<table width="100%" summary="Navigation header">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<tr><th colspan="3" align="center">Appendix�D.�BIND 9 DNS Library Support</th></tr>
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington<tr>
386d3a99c190bad55edf44d076e6bd087e230ab8Tatuya JINMEI 神明達哉<td width="20%" align="left">
386d3a99c190bad55edf44d076e6bd087e230ab8Tatuya JINMEI 神明達哉<a accesskey="p" href="Bv9ARM.ch11.html">Prev</a>�</td>
386d3a99c190bad55edf44d076e6bd087e230ab8Tatuya JINMEI 神明達哉<th width="60%" align="center">�</th>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch13.html">Next</a>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</td>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</tr>
801dceea23d11975f5a5ae6ccbdf1dbde6b7af13David Lawrence</table>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<hr>
9cd6d409b78a6f833b681c13a68fbdc7c024fe66David Lawrence</div>
801dceea23d11975f5a5ae6ccbdf1dbde6b7af13David Lawrence<div class="appendix" lang="en">
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<div class="titlepage"><div><div><h2 class="title">
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington<a name="Bv9ARM.ch12"></a>Appendix�D.�BIND 9 DNS Library Support</h2></div></div></div>
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<div class="toc">
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence<p><b>Table of Contents</b></p>
eefea43215016bce437ab4a7441b2851fd182960David Lawrence<dl>
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington<dt><span class="sect1"><a href="Bv9ARM.ch12.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
440be4c866f6935ac069db79a414304507a664c2Michael Graff<dd><dl>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2614500">Prerequisite</a></span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2614509">Compilation</a></span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2614534">Installation</a></span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2614633">Known Defects/Restrictions</a></span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2614710">The dns.conf File</a></span></dt>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2614737">Sample Applications</a></span></dt>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<dt><span class="sect2"><a href="Bv9ARM.ch12.html#id2616460">Library References</a></span></dt>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</dl></dd>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</dl>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="sect1" lang="en">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<div class="titlepage"><div><div><h2 class="title" style="clear: both">
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington<a name="bind9.library"></a>BIND 9 DNS Library Support</h2></div></div></div>
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington<p>This version of BIND 9 "exports" its internal libraries so
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington that they can be used by third-party applications more easily (we
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt call them "export" libraries in this document). In addition to
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington all major DNS-related APIs BIND 9 is currently using, the export
1b32bc7da1da9059abd68d6dd15b23e8a442afa3Brian Wellington libraries provide the following features:</p>
1b32bc7da1da9059abd68d6dd15b23e8a442afa3Brian Wellington<div class="itemizedlist"><ul type="disc">
0d89afffb26d5e53a761fc425dab3dda07c7e191Brian Wellington<li><p>The newly created "DNS client" module. This is a higher
1b32bc7da1da9059abd68d6dd15b23e8a442afa3Brian Wellington level API that provides an interface to name resolution,
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 single DNS transaction with a particular server, and dynamic
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt update. Regarding name resolution, it supports advanced
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt features such as DNSSEC validation and caching. This module
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt supports both synchronous and asynchronous mode.</p></li>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<li><p>The new "IRS" (Information Retrieval System) library.
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt It provides an interface to parse the traditional resolv.conf
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt file and more advanced, DNS-specific configuration file for
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt the rest of this package (see the description for the
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt dns.conf file below).</p></li>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<li><p>As part of the IRS library, newly implemented standard
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt address-name mapping functions, getaddrinfo() and
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt getnameinfo(), are provided. They use the DNSSEC-aware
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt validating resolver backend, and could use other advanced
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt features of the BIND 9 libraries such as caching. The
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt getaddrinfo() function resolves both A and AAAA RRs
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt concurrently (when the address family is unspecified).</p></li>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<li><p>An experimental framework to support other event
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt libraries than BIND 9's internal event task system.</p></li>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt</ul></div>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<div class="sect2" lang="en">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<div class="titlepage"><div><div><h3 class="title">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<a name="id2614500"></a>Prerequisite</h3></div></div></div>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<p>GNU make is required to build the export libraries (other
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt part of BIND 9 can still be built with other types of make). In
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews the reminder of this document, "make" means GNU make. Note that
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews in some platforms you may need to invoke a different command name
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews than "make" (e.g. "gmake") to indicate it's GNU make.</p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="sect2" lang="en">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h3 class="title">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<a name="id2614509"></a>Compilation</h3></div></div></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<pre class="screen">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>/configure --enable-exportlib <em class="replaceable"><code>[other flags]</code></em></code></strong>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>make</code></strong>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</pre>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 This will create (in addition to usual BIND 9 programs) and a
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 separate set of libraries under the lib/export directory. For
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 example, <code class="filename">lib/export/dns/libdns.a</code> is the archive file of the
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 export version of the BIND 9 DNS library. Sample application
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 programs using the libraries will also be built under the
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 lib/export/samples directory (see below).</p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="sect2" lang="en">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h3 class="title">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<a name="id2614534"></a>Installation</h3></div></div></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<pre class="screen">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>cd lib/export</code></strong>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>make install</code></strong>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</pre>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>
d7201de09b85929a86b157f4b2d91667c68c6b52Automatic Updater This will install library object files under the directory
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 specified by the --with-export-libdir configure option (default:
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 EPREFIX/lib/bind9), and header files under the directory
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 specified by the --with-export-includedir configure option
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 (default: PREFIX/include/bind9).
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 Root privilege is normally required.
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt "<span><strong class="command">make install</strong></span>" at the top directory will do the
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt same.
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 To see how to build your own
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 application after the installation, see
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 <code class="filename">lib/export/samples/Makefile-postinstall.in</code>.</p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="sect2" lang="en">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h3 class="title">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<a name="id2614633"></a>Known Defects/Restrictions</h3></div></div></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="itemizedlist"><ul type="disc">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<li><p>Currently, win32 is not supported for the export
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 library. (Normal BIND 9 application can be built as
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews before).</p></li>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<li>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>The "fixed" RRset order is not (currently) supported in
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 the export library. If you want to use "fixed" RRset order
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 for, e.g. <span><strong class="command">named</strong></span> while still building the
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 export library even without the fixed order support, build
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 them separately:
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 </p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<pre class="screen">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>/configure --enable-fixed-rrset <em class="replaceable"><code>[other flags, but not --enable-exportlib]</code></em></code></strong>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>make</code></strong>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews$ <strong class="userinput"><code>/configure --enable-exportlib <em class="replaceable"><code>[other flags, but not --enable-fixed-rrset]</code></em></code></strong>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews$ <strong class="userinput"><code>cd lib/export</code></strong>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt$ <strong class="userinput"><code>make</code></strong>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt</pre>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt</li>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<li><p>The client module and the IRS library currently do not
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt support DNSSEC validation using DLV (the underlying modules
8fec8134ea13c2c082c3e63f1ce0afd851e45a91Tatuya JINMEI 神明達哉 can handle it, but there is no tunable interface to enable
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 the feature).</p></li>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<li><p>RFC 5011 is not supported in the validating stub
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley resolver of the export library. In fact, it is not clear
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein whether it should: trust anchors would be a system-wide
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley configuration which would be managed by an administrator,
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley while the stub resolver will be used by ordinary applications
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley run by a normal user.</p></li>
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley<li><p>Not all common <code class="filename">/etc/resolv.conf</code>
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley options are supported
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley in the IRS library. The only available options in this
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein version are "debug" and "ndots".</p></li>
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley</ul></div>
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley</div>
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley<div class="sect2" lang="en">
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley<div class="titlepage"><div><div><h3 class="title">
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley<a name="id2614710"></a>The dns.conf File</h3></div></div></div>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>The IRS library supports an "advanced" configuration file
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley related to the DNS library for configuration parameters that
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley would be beyond the capability of the
2f012d936b5ccdf6520c96a4de23721dc58a2221Automatic Updater <code class="filename">resolv.conf</code> file.
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 Specifically, it is intended to provide DNSSEC related
97f1a75cf072c2cab98b4bc28c4d2491cfcd3086Bob Halley configuration parameters. By default the path to this
97f1a75cf072c2cab98b4bc28c4d2491cfcd3086Bob Halley configuration file is <code class="filename">/etc/dns.conf</code>.
97f1a75cf072c2cab98b4bc28c4d2491cfcd3086Bob Halley This module is very
97f1a75cf072c2cab98b4bc28c4d2491cfcd3086Bob Halley experimental and the configuration syntax or library interfaces
2f012d936b5ccdf6520c96a4de23721dc58a2221Automatic Updater may change in future versions. Currently, only the
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 <span><strong class="command">trusted-keys</strong></span>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley statement is supported, whose syntax is the same as the same name
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley of statement for <code class="filename">named.conf</code>. (See
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley <a href="Bv9ARM.ch06.html#trusted-keys" title="trusted-keys Statement Grammar">the section called &#8220;<span><strong class="command">trusted-keys</strong></span> Statement Grammar&#8221;</a> for details.)</p>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley</div>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<div class="sect2" lang="en">
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<div class="titlepage"><div><div><h3 class="title">
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<a name="id2614737"></a>Sample Applications</h3></div></div></div>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<p>Some sample application programs using this API are
91cd0f93ad34d23e8b09dca337120f64fbe8f0a1Andreas Gustafsson provided for reference. The following is a brief description of
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley these applications.
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley </p>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<div class="sect3" lang="en">
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<div class="titlepage"><div><div><h4 class="title">
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<a name="id2614745"></a>sample: a simple stub resolver utility</h4></div></div></div>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<p>
9cd6d409b78a6f833b681c13a68fbdc7c024fe66David Lawrence It sends a query of a given name (of a given optional RR type) to a
9cd6d409b78a6f833b681c13a68fbdc7c024fe66David Lawrence specified recursive server, and prints the result as a list of
9cd6d409b78a6f833b681c13a68fbdc7c024fe66David Lawrence RRs. It can also act as a validating stub resolver if a trust
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews anchor is given via a set of command line options.</p>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<p>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley Usage: sample [options] server_address hostname
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence </p>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<p>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley Options and Arguments:
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley </p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<div class="variablelist"><dl>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<dt><span class="term">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 -t RRtype
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt specify the RR type of the query. The default is the A RR.
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p></dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 [-a algorithm] [-e] -k keyname -K keystring
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </span></dt>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<dd>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley specify a command-line DNS key to validate the answer. For
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley example, to specify the following DNSKEY of example.com:
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<div class="literallayout"><p><br>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley����������������example.com.�3600�IN�DNSKEY�257�3�5�xxx<br>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</p></div>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley specify the options as follows:
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews</p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<pre class="screen">
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<strong class="userinput"><code>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley -e -k example.com -K "xxx"
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</code></strong>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</pre>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt -e means that this key is a zone's "key signing key" (as known
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley as "secure Entry point").
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley When -a is omitted rsasha1 will be used by default.
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p>
a829555ed724caa56b1ff7716d7eda2266491eafBob Halley</dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 -s domain:alt_server_address
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 </span></dt>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt specify a separate recursive server address for the specific
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt "domain". Example: -s example.com:2001:db8::1234
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p></dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">server_address</span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt an IP(v4/v6) address of the recursive server to which queries
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt are sent.
634a52966f2324e6d5ceda191fd873ba1cfeb936Evan Hunt </p></dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">hostname</span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt the domain name for the query
634a52966f2324e6d5ceda191fd873ba1cfeb936Evan Hunt </p></dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt</dl></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="sect3" lang="en">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h4 class="title">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<a name="id2614836"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 Similar to "sample", but accepts a list
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 of (query) domain names as a separate file and resolves the names
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 asynchronously.</p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley Usage: sample-async [-s server_address] [-t RR_type] input_file</p>
0e58c0998df1ccd1a289b2c3f078e7d03d9331d3Bob Halley<p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley Options and Arguments:
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<div class="variablelist"><dl>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<dt><span class="term">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley -s server_address
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley </span></dt>
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley<dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt an IPv4 address of the recursive server to which queries are sent.
03dd96d177e4ed6771be7fb5f86a3a9d5f17be4eBob Halley (IPv6 addresses are not supported in this implementation)
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley </dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley -t RR_type
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </span></dt>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<dd>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley specify the RR type of the queries. The default is the A
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley RR.
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley </dd>
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley<dt><span class="term">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt input_file
dd324bd791a766c48d90ce9e43d1ab1446378983Bob Halley </span></dt>
d8afbf2f30213b2638a4d77207913db576089c02Michael Sawyer<dd>
33e482fa3e8befab0d9aaf32ed47b4695e0e6ba3Andreas Gustafsson a list of domain names to be resolved. each line
33e482fa3e8befab0d9aaf32ed47b4695e0e6ba3Andreas Gustafsson consists of a single domain name. Example:
838f13fbdc513895d1826201a11531dbde9de04aBrian Wellington <div class="literallayout"><p><br>
dde4382b7fd55c945ef7f4ae5792099ae3a09883Brian Wellington��www.example.com<br>
a6f31a3fd079f37ad0a7c75ef2d50842cd01811cBrian Wellington��mx.example.net<br>
a6f31a3fd079f37ad0a7c75ef2d50842cd01811cBrian Wellington��ns.xxx.example<br>
a6f31a3fd079f37ad0a7c75ef2d50842cd01811cBrian Wellington</p></div>
d8afbf2f30213b2638a4d77207913db576089c02Michael Sawyer</dd>
d8afbf2f30213b2638a4d77207913db576089c02Michael Sawyer</dl></div>
838f13fbdc513895d1826201a11531dbde9de04aBrian Wellington</div>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<div class="sect3" lang="en">
a6f31a3fd079f37ad0a7c75ef2d50842cd01811cBrian Wellington<div class="titlepage"><div><div><h4 class="title">
aa3f41bafce993fbd2109ea3803cbce909db1c95Brian Wellington<a name="id2614889"></a>sample-request: a simple DNS transaction client</h4></div></div></div>
838f13fbdc513895d1826201a11531dbde9de04aBrian Wellington<p>
838f13fbdc513895d1826201a11531dbde9de04aBrian Wellington It sends a query to a specified server, and
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt prints the response with minimal processing. It doesn't act as a
838f13fbdc513895d1826201a11531dbde9de04aBrian Wellington "stub resolver": it stops the processing once it gets any
d8afbf2f30213b2638a4d77207913db576089c02Michael Sawyer response from the server, whether it's a referral or an alias
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt (CNAME or DNAME) that would require further queries to get the
a6f31a3fd079f37ad0a7c75ef2d50842cd01811cBrian Wellington ultimate answer. In other words, this utility acts as a very
d8afbf2f30213b2638a4d77207913db576089c02Michael Sawyer simplified <span><strong class="command">dig</strong></span>.
ae8b7e02a8e5d7febba7d79b2c759add95a48f60Brian Wellington </p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
97f1a75cf072c2cab98b4bc28c4d2491cfcd3086Bob Halley Usage: sample-request [-t RRtype] server_address hostname
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley Options and Arguments:
0e58c0998df1ccd1a289b2c3f078e7d03d9331d3Bob Halley </p>
0e58c0998df1ccd1a289b2c3f078e7d03d9331d3Bob Halley<div class="variablelist"><dl>
0e58c0998df1ccd1a289b2c3f078e7d03d9331d3Bob Halley<dt><span class="term">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley -t RRtype
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </span></dt>
97f1a75cf072c2cab98b4bc28c4d2491cfcd3086Bob Halley<dd><p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley specify the RR type of
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley the queries. The default is the A RR.
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews </p></dd>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<dt><span class="term">
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews server_address
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dd><p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley an IP(v4/v6)
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley address of the recursive server to which the query is sent.
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </p></dd>
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<dt><span class="term">
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley hostname
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence </span></dt>
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt the domain name for the query
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p></dd>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley</dl></div>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington</div>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<div class="sect3" lang="en">
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<div class="titlepage"><div><div><h4 class="title">
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<a name="id2614953"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<p>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington This is a test program
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington to check getaddrinfo() and getnameinfo() behavior. It takes a
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington host name as an argument, calls getaddrinfo() with the given host
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington name, and calls getnameinfo() with the resulting IP addresses
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington returned by getaddrinfo(). If the dns.conf file exists and
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington defines a trust anchor, the underlying resolver will act as a
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington validating resolver, and getaddrinfo()/getnameinfo() will fail
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews with an EAI_INSECUREDATA error when DNSSEC validation fails.
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington </p>
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews<p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt Usage: sample-gai hostname
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington</div>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<div class="sect3" lang="en">
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<div class="titlepage"><div><div><h4 class="title">
1fa64087e7afb06d6b0c0994ace49d1906e820f9Mark Andrews<a name="id2614968"></a>sample-update: a simple dynamic update client program</h4></div></div></div>
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington<p>
4b87939256ede703385e9cab92d3c58d03c31098Mark Andrews It accepts a single update command as a
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt command-line argument, sends an update request message to the
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt authoritative server, and shows the response from the server. In
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington other words, this is a simplified <span><strong class="command">nsupdate</strong></span>.
0d89afffb26d5e53a761fc425dab3dda07c7e191Brian Wellington </p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<p>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley Usage: sample-update [options] (add|delete) "update data"
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt Options and Arguments:
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p>
e47208b6fb724cba7053baee4246b308e35403a2Evan Hunt<div class="variablelist"><dl>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt -a auth_server
e47208b6fb724cba7053baee4246b308e35403a2Evan Hunt </span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt An IP address of the authoritative server that has authority
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt for the zone containing the update name. This should normally
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt be the primary authoritative server that accepts dynamic
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt updates. It can also be a secondary server that is configured
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt to forward update requests to the primary server.
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </p></dd>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dt><span class="term">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt -k keyfile
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </span></dt>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt<dd><p>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt A TSIG key file to secure the update transaction. The keyfile
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt format is the same as that for the nsupdate utility.
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley </p></dd>
96f55bdc736f8559b3a57260db6f0e964c44070dBob Halley<dt><span class="term">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt -p prerequisite
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 </span></dt>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<dd><p>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley A prerequisite for the update (only one prerequisite can be
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews specified). The prerequisite format is the same as that is
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews accepted by the nsupdate utility.
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews </p></dd>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews<dt><span class="term">
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews -r recursive_server
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews </span></dt>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews<dd><p>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews An IP address of a recursive server that this utility will
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews use. A recursive server may be necessary to identify the
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley authoritative server address to which the update request is
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley sent.
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </p></dd>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<dt><span class="term">
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews -z zonename
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </span></dt>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews<dd><p>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley The domain name of the zone that contains
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </p></dd>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<dt><span class="term">
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley (add|delete)
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </span></dt>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<dd><p>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley Specify the type of update operation. Either "add" or "delete"
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley must be specified.
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </p></dd>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<dt><span class="term">
91cd0f93ad34d23e8b09dca337120f64fbe8f0a1Andreas Gustafsson "update data"
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </span></dt>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<dd><p>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley Specify the data to be updated. A typical example of the data
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley would look like "name TTL RRtype RDATA".
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence </p></dd>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews</dl></div>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<h3 class="title">Note</h3>In practice, either -a or -r must be specified. Others can
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley be optional; the underlying library routine tries to identify the
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley appropriate server and the zone name for the update.</div>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews<p>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley Examples: assuming the primary authoritative server of the
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley dynamic.example.com zone has an IPv6 address 2001:db8::1234,
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley </p>
bed86971bf7eb315e9c64f75bba331917f4557cfBob Halley<pre class="screen">
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt$ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mmmm.key add "foo.dynamic.example.com 30 IN A 192.168.2.1"</code></strong></pre>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson adds an A RR for foo.dynamic.example.com using the given key.
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<pre class="screen">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉$ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mmmm.key delete "foo.dynamic.example.com 30 IN A"</code></strong></pre>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 removes all A RRs for foo.dynamic.example.com using the given key.
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 </p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<pre class="screen">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson$ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mmmm.key delete "foo.dynamic.example.com"</code></strong></pre>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<p>
386d3a99c190bad55edf44d076e6bd087e230ab8Tatuya JINMEI 神明達哉 removes all RRs for foo.dynamic.example.com using the given key.
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </p>
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉</div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<div class="sect3" lang="en">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h4 class="title">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<a name="id2616396"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 It checks a set
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 of domains to see the name servers of the domains behave
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 correctly in terms of RFC 4074. This is included in the set of
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 sample programs to show how the export library can be used in a
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 DNS-related application.
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 </p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 Usage: nsprobe [-d] [-v [-v...]] [-c cache_address] [input_file]
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 </p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 Options
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<div class="variablelist"><dl>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<dt><span class="term">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson -d
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 </span></dt>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<dd><p>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 run in the "debug" mode. with this option nsprobe will dump
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson every RRs it receives.
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </p></dd>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<dt><span class="term">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson -v
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </span></dt>
1f1d36a87b65186d9f89aac7f456ab1fd2a39ef6Andreas Gustafsson<dd><p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson increase verbosity of other normal log messages. This can be
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 specified multiple times
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 </p></dd>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<dt><span class="term">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson -c cache_address
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </span></dt>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<dd><p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson specify an IP address of a recursive (caching) name server.
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson nsprobe uses this server to get the NS RRset of each domain and
386d3a99c190bad55edf44d076e6bd087e230ab8Tatuya JINMEI 神明達哉 the A and/or AAAA RRsets for the name servers. The default
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 value is 127.0.0.1.
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson </p></dd>
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉<dt><span class="term">
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 input_file
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 </span></dt>
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉<dd><p>
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 a file name containing a list of domain (zone) names to be
2f012d936b5ccdf6520c96a4de23721dc58a2221Automatic Updater probed. when omitted the standard input will be used. Each
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 line of the input file specifies a single domain name such as
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 "example.com". In general this domain name must be the apex
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 name of some DNS zone (unlike normal "host names" such as
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 "www.example.com"). nsprobe first identifies the NS RRsets for
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 the given domain name, and sends A and AAAA queries to these
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 servers for some "widely used" names under the zone;
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 specifically, adding "www" and "ftp" to the zone name.
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉 </p></dd>
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉</dl></div>
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉</div>
6da7c87a77ecfd9ccce36f96b4ccd20e1b9cccf1Tatuya JINMEI 神明達哉</div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<div class="sect2" lang="en">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h3 class="title">
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉<a name="id2616460"></a>Library References</h3></div></div></div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<p>As of this writing, there is no formal "manual" of the
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson libraries, except this document, header files (some of them
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson provide pretty detailed explanations), and sample application
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson programs.</p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson</div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson</div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson</div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<div class="navfooter">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<hr>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<table width="100%" summary="Navigation footer">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<tr>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<td width="40%" align="left">
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<a accesskey="p" href="Bv9ARM.ch11.html">Prev</a>�</td>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<td width="20%" align="center">�</td>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<td width="40%" align="right">�<a accesskey="n" href="Bv9ARM.ch13.html">Next</a>
1d90a73d6d0aa3f82c7e8d638e0013c331835eedAndreas Gustafsson</td>
1d90a73d6d0aa3f82c7e8d638e0013c331835eedAndreas Gustafsson</tr>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<tr>
1d90a73d6d0aa3f82c7e8d638e0013c331835eedAndreas Gustafsson<td width="40%" align="left" valign="top">Appendix�C.�General <acronym class="acronym">DNS</acronym> Reference Information�</td>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<td width="40%" align="right" valign="top">�Manual pages</td>
1d90a73d6d0aa3f82c7e8d638e0013c331835eedAndreas Gustafsson</tr>
1d90a73d6d0aa3f82c7e8d638e0013c331835eedAndreas Gustafsson</table>
1d90a73d6d0aa3f82c7e8d638e0013c331835eedAndreas Gustafsson</div>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson<p style="text-align: center;">BIND 9.11.0pre-alpha</p>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson</body>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson</html>
8e7ce54bef167f582c675ac76c373009595578a3Andreas Gustafsson