<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
               "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
	       [<!ENTITY mdash "&#8212;">]>
<!--
 - Copyright (C) 2010  Internet Systems Consortium, Inc. ("ISC")
 -
 - Permission to use, copy, modify, and/or distribute this software for any
 - purpose with or without fee is hereby granted, provided that the above
 - copyright notice and this permission notice appear in all copies.
 -
 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 - PERFORMANCE OF THIS SOFTWARE.
-->

<refentry>

  <refentryinfo>
    <date>December 1, 2010</date>
  </refentryinfo>

  <refmeta>
    <refentrytitle>b10-xfrout</refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo>BIND10</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>b10-xfrout</refname>
    <refpurpose>Outbound DNS zone transfer service</refpurpose>
  </refnamediv>

  <docinfo>
    <copyright>
      <year>2010</year>
      <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
    </copyright>
  </docinfo>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>b10-xfrout</command>
      <arg><option>-v</option></arg>
      <arg><option>--verbose</option></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>DESCRIPTION</title>
    <para>The <command>b10-xfrout</command> daemon provides the BIND 10
      outgoing DNS zone transfer service.
      It is also used to send outgoing NOTIFY messages.
      Normally it is started by the
      <citerefentry><refentrytitle>bind10</refentrytitle><manvolnum>8</manvolnum></citerefentry>
      boss process.
      When the <command>b10-auth</command> DNS server receives
      a transfer request, <command>b10-xfrout</command> sends the
      zone as found in the BIND 10 zone data store.
    </para>

<!-- TODO
 BTW, do we need to mention that the xfr request is received by auth
 process?, and then the socket and xfr request is sent to xfrout.
-->

    <note><simpara>
      This development prototype release only supports AXFR.
      IXFR is not implemented.
    </simpara></note>

    <para>
<!-- TODO: does it really use msgq? what for? -->
      This daemon communicates with BIND 10 over a
      <citerefentry><refentrytitle>b10-msgq</refentrytitle><manvolnum>8</manvolnum></citerefentry>
      C-Channel connection.  If this connection is not established,
      <command>b10-xfrout</command> will exit.
<!-- TODO what if connection closes later, will b10-xfrout exit? -->
    </para>

    <para>
     <command>b10-xfrout</command> receives its configurations from
<citerefentry><refentrytitle>b10-cfgmgr</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
    </para>
  </refsect1>

  <refsect1>
    <title>CONFIGURATION AND COMMANDS</title>
    <para>
      The configurable settings are:
    </para>
    <para>
      <varname>transfers_out</varname>
      defines the maximum number of outgoing zone transfers
      that can run concurrently. The default is 10.
    </para>
    <para>
      <varname>log_name</varname>
<!-- TODO -->
    </para>
    <para>
      <varname>log_file</varname>
<!-- TODO -->
      The location of the log file if using a file channel.
      If undefined, then the file channel is closed.
      The default is
      <filename>/usr/local/var/bind10-devel/log/Xfrout.log</filename>.
    </para>
    <para>
      <varname>log_severity</varname>
<!-- TODO -->
      The default is "debug".
    </para>
    <para>
      <varname>log_versions</varname>
<!-- TODO -->
      The default is 5.
    </para>
    <para>
      <varname>log_max_bytes</varname>
<!-- TODO -->
      The default is 1048576.
    </para>

<!-- TODO: log configurations not documented yet in here. jreed
     has some but waiting on decisions ... -->

    <note><simpara>
      This prototype version uses SQLite3 as its data source backend.
      Future versions will be configurable, supporting multiple
      data storage types.
    </simpara></note>

<!-- TODO: formating -->
    <para>
      The configuration commands are:
    </para>
    <para>
      <command>shutdown</command> stops all outbound zone transfers
      and exits <command>b10-xfrout</command>. (Note that the BIND 10
      boss process will restart this service.)
    </para>

    <para>
      <command>zone_new_data_ready</command> is sent from
      <citerefentry><refentrytitle>b10-xfrin</refentrytitle><manvolnum>8</manvolnum></citerefentry>
      to indicate that the zone transferred in successfully.
      This triggers <command>b10-xfrout</command> to send NOTIFY
      message(s).
      This is an internal command and not exposed to the administrator.
<!-- not defined in spec -->
    </para>

  </refsect1>

<!--
  <refsect1>
    <title>OPTIONS</title>

    <para>The arguments are as follows:</para>

    <variablelist>
      <varlistentry>
        <term><option></option></term>
        <listitem><para>
        </para></listitem>
      </varlistentry>

    </variablelist>

  </refsect1>
-->
<!--
  <refsect1>
    <title>FILES</title>
    <para>
    <filename>/tmp/auth_xfrout_conn</filename>
    </para>
  </refsect1>
-->

  <refsect1>
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>b10-auth</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>b10-cfgmgr</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>b10-msgq</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>b10-xfrin</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>bind10</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citetitle>BIND 10 Guide</citetitle>.
    </para>
  </refsect1>

  <refsect1>
    <title>HISTORY</title>
    <para>
      The <command>b10-xfrout</command> daemon was first implemented
      in March 2010 by Zhang Likun of CNNIC for the ISC BIND 10 project.
    </para>
  </refsect1>
</refentry><!--
 - Local variables:
 - mode: sgml
 - End:
-->
