Revisit documentation
[nbd.git] / nbd-server.1.sgml
index 4a3fd13..c9190b0 100644 (file)
@@ -57,14 +57,15 @@ manpage.1: manpage.sgml
     <cmdsynopsis>
       <command>&dhpackage; </command>
 
-      <arg choice=plain><replaceable>port</replaceable</arg>
+      <arg choice=plain><replaceable>[ip@]port</replaceable</arg>
       <arg choice=plain><replaceable>filename</replaceable></arg>
       <arg><replaceable>size</replaceable></arg>
       <arg><option>-r</option></arg>
       <arg><option>-m</option></arg>
       <arg><option>-c</option></arg>
-      <arg><option>-a <replaceable>timeout</replaceable></option></arg>
-      <arg><option>-l <replaceable>host list</replaceable></option></arg>
+      <arg><option>-l <replaceable>host list filename</replaceable></option></arg>
+      <arg><option>-o <replaceable>section name</replaceable></option></arg>
+      <arg><option>-C <replaceable>config file</replaceable></option></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
   <refsect1>
@@ -81,24 +82,48 @@ manpage.1: manpage.sgml
     were a local filesystem.</para>
 
     <para><command>&dhpackage;</command> implements some security
-    through a file called "nbd_server.allow" in the current directory (by default; a different file can be chosen with the '-l' option).
-    This file must list the IP-addresses of clients that are allowed
-    to connect. If it does not exist, all clients are able to connect.
-    If the file is empty, no clients can connect.</para>
+    through a file called "@sysconfdir@/nbd-server/allow" (by default; a
+    different file can be chosen with the '-l' option or through a
+    config file specification). This file must list the IP-addresses or
+    network masks of clients that are allowed to connect. If it does not
+    exist, all clients are able to connect. If the file is empty, no
+    clients can connect.</para>
+
+    <para>Note that while the command line allows for specifying an
+    export, the use of this option is deprecated. It is preferred to
+    make use of a configuration file instead, the format of which is
+    defined in nbd-server(5).</para>
   </refsect1>
   <refsect1>
     <title>OPTIONS</title>
     
     <variablelist>
       <varlistentry>
-        <term><option>port</option>
-        </term>
-        <listitem>
-          <para>The port the server should listen to. A valid port is
+       <term>ip</term>
+       <listitem>
+         <para>The ip address the server should listen on. This may
+         be an IPv4 address, an IPv6 address, or a hostname. In the
+         latter case, nbd-server will do a hostname lookup for the
+         name specified, and will listen on the first address that is
+         returned. For compatibility with past versions of
+         nbd-server, if an IPv4 address is specified, the @ sign that
+         serves as separator between the address and port may be
+         replaced by a colon.</para>
+         <para>If this parameter is not specified, nbd-server will
+         listen on all local addresses on both IPv4 and IPv6. To
+         limit to IPv4, specify the address as 0.0.0.0; to limit to
+         IPv6, specify it as ::.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><option>port</option>
+       </term>
+       <listitem>
+         <para>The port the server should listen to. A valid port is
            any number between 1 and 65536; if 0 is used, nbd-server
            will listen on stdin (so that nbd-server can be ran from
            inetd)</para>
-        </listitem>
+       </listitem>
       </varlistentry>
       <varlistentry>
        <term><option>filename</option></term>
@@ -114,7 +139,7 @@ manpage.1: manpage.sgml
        <term><option>size</option></term>
        <listitem>
          <para>The size of the block device at the client side. This
-           is especially usefull in conjunction with the -m
+           is especially useful in conjunction with the -m
            option</para>
          <para>Can optionally be followed by one of K,k,M or
            m, in which case the size will be multiplied by 1024 (K
@@ -146,9 +171,6 @@ manpage.1: manpage.sgml
            starting by 0 and going up for each file.
          </para>
          <para>
-           The files must all be 1GB in size.
-         </para>
-         <para>
            Allowing more flexibility for this option is planned for
            future versions.</para>
        </listitem>
@@ -157,40 +179,61 @@ manpage.1: manpage.sgml
        <term><option>-c</option></term>
        <listitem>
          <para>Copy on write. When this option is provided,
-         write-operations are not done to the exported file, but to a
-         separate file. This separate file is removed when the
-         connection is closed, which means that serving this way will
-         make nbd-server slow down (especially on large block devices
-         with lots of writes), and that after disconnecting and
-         reconnecting the client or the server, all changes are
-         lost.</para>
+           write-operations are not done to the exported file, but to a
+           separate file. This separate file is removed when the
+           connection is closed, which means that serving this way will
+           make nbd-server slow down (especially on large block devices
+           with lots of writes), and that after disconnecting and
+           reconnecting the client or the server, all changes are
+           lost.</para>
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term><option>timeout</option></term>
+       <term><option>-C</option></term>
        <listitem>
-         <para>Maximum number of idle seconds. If a connection is
-         inactive for this amount of time, it is terminated; this is to
-         avoid stale nbd-server processes staying in memory. Use of
-         this option is strongly recommended.</para>
+         <para>Specify configuration file. The default configuration
+           file, if this parameter is not specified, is
+           <filename>@sysconfdir@/nbd-server/config</filename>.</para>
+         <para>Note that the configuration file is always parsed and
+           the entries in the file used, even if an extra server is
+           specified on the command line. To disable the configuration
+           file entirely, either move it away or use the -C option to
+           point <command>nbd-server</command>(1) to a non-existing or
+           empty configuration file.</para>
+         <para>Also note that if an empty, incomplete, or invalid
+           configuration file is specified, nbd-server will produce a
+           warning about failure to parse the config file. If the
+           command line contains a fully specified configuration, this
+           warning is harmless and may be ignored.</para>
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term><option>host list</option></term>
+       <term><option>host list filename</option></term>
        <listitem>
          <para>This argument should contain a list of IP-addresses
-         for hosts that may connect to the server. Wildcards are
-         <emphasis>not</emphasis> allowed. If the file does not
-         exist, it is ignored (and any host can connect); If the file
-         does exist, but is empty, no host can connect. By default,
-         the name 'nbd_server.allow' is used, and looked for in the
-         current directory, unless nbd-server is compiled as a
-         daemon, in which case it is looked for in the
-         root-directory.</para>
+           for hosts that may connect to the server. Wildcards are
+           <emphasis>not</emphasis> allowed. If the file does not
+           exist, it is ignored (and any host can connect); If the file
+           does exist, but is empty, no host can connect. By default,
+           the name 'nbd_server.allow' is used, and looked for in the
+           current directory, unless nbd-server is compiled as a
+           daemon, in which case it is looked for in the
+           root-directory.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><option>section name</option></term>
+       <listitem>
+         <para>If the <option>-o</option> argument is given on the
+         command line, then &dhpackage; will output a configuration
+         file section with this as the header that is functionally
+         equivalent to the other options specified on the command line,
+         and exit. This is useful for migrating pre-2.9 nbd-server
+         initscript configuration files to the new format.</para>
        </listitem>
       </varlistentry>
     </variablelist>
-
+    
   </refsect1>
   <refsect1>
     <title>EXAMPLES</title>
@@ -209,21 +252,21 @@ manpage.1: manpage.sgml
          changes are lost after restarting the client or the
          server:</para>
        <para><command>nbd-server 2000 /export/nbd/exp-bl-dev
-         -c</command></para>
+           -c</command></para>
       </listitem>
     </itemizedlist>
   </refsect1>
   <refsect1>
     <title>SEE ALSO</title>
-
-    <para>nbd-client (8), http://nbd.sourceforge.net/roadmap.html</para>
-
+    
+    <para>nbd-client (8), nbd-server (5), http://nbd.sourceforge.net/roadmap.html</para>
+    
   </refsect1>
   <refsect1>
     <title>AUTHOR</title>
     <para>The NBD kernel module and the NBD tools were originally
       written by Pavel Machek (pavel@ucw.cz)</para>
-
+    
     <para>The Linux kernel module is now maintained by Paul Clements
       (Paul.Clements@steeleye.com), while the userland tools are
       maintained by &dhusername; (&dhemail;)</para>
@@ -241,20 +284,3 @@ manpage.1: manpage.sgml
 
   </refsect1>
 </refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->