Spell fixes
[yazpp-moved-to-github.git] / doc / yaz-proxy-ref.xml
index ba4aaa5..252ed1d 100644 (file)
  <cmdsynopsis>
   <command>yaz-proxy</command>
   <arg choice="opt">-a <replaceable>filename</replaceable></arg>
+  <arg choice="opt">-l <replaceable>filename</replaceable></arg>
   <arg choice="opt">-m <replaceable>num</replaceable></arg>
   <arg choice="opt">-v <replaceable>level</replaceable></arg>
   <arg choice="opt">-t <replaceable>target</replaceable></arg>
-  <arg choice="opt">-u <replaceable>auth</replaceable></arg>
+  <arg choice="opt">-U <replaceable>auth</replaceable></arg>
   <arg choice="opt">-o <replaceable>level</replaceable></arg>
   <arg choice="opt">-i <replaceable>seconds</replaceable></arg>
   <arg choice="opt">-T <replaceable>seconds</replaceable></arg>
+  <arg choice="opt">-p <replaceable>pidfile</replaceable></arg>
+  <arg choice="opt">-u <replaceable>userid</replaceable></arg>
   <arg choice="opt">-c <replaceable>config</replaceable></arg>
   <arg choice="req"><replaceable>host</replaceable>:<replaceable>port</replaceable></arg>
  </cmdsynopsis>
    
 <refsect1><title>DESCRIPTION</title>
  <para>
-  The proxy runs stand-alone (not from
-  <literal>inetd</literal>). The
-  <replaceable>host</replaceable>:<replaceable>port</replaceable>
+  <command>yaz-proxy</command> is a Z39.50 optimizing proxy daemon.
+  The listening port must be specified on the command-line. 
+  <command>inetd</command> operation is not supported.
+  The <replaceable>host</replaceable>:<replaceable>port</replaceable>
   argument specifies host address to listen to, and the port to
   listen on.  Use the host <literal>@</literal>
   to listen for connections coming from any address.
  </para>
+ <para>
+  <command>yaz-proxy</command> can be configured using command-line
+  options or a configuration file.
+  Configuration file options override values specified
+  on the command-line.
+ </para>
+ <para>
+  <command>yaz-proxy</command> rereads its configuration file and
+  reopens log files when it receives the hangup signal, SIGHUP.
+ </para>
 </refsect1>
 <refsect1><title>OPTIONS</title>
  <variablelist>
      standard output.
     </para></listitem>
   </varlistentry>
+  <varlistentry><term>-l <replaceable>filename</replaceable></term>
+   <listitem><para>
+     Specifies the name of a file to which to write a log of the
+     YAZ proxy activity. This uses the logging facility as provided
+     by the YAZ toolkit. If this options is omitted, the output
+     directed to stderr.
+    </para></listitem>
+  </varlistentry>
   <varlistentry><term>-m <replaceable>num</replaceable></term>
    <listitem><para>
      Specifies the maximum number of connections to be cached
@@ -50,7 +72,7 @@
   </varlistentry>
   <varlistentry><term>-v <replaceable>level</replaceable></term>
    <listitem><para>
-     Sets the logging level.  <replaceable>level</replaceable> is
+     Sets the logging level. <replaceable>level</replaceable> is
      a comma-separated list of members of the set
      {<literal>fatal</literal>,<literal>debug</literal>,<literal>warn</literal>,<literal>log</literal>,<literal>malloc</literal>,<literal>all</literal>,<literal>none</literal>}.
     </para></listitem>
@@ -62,7 +84,7 @@
      <literal>initRequest</literal>.
     </para></listitem>
   </varlistentry>
-  <varlistentry><term>-u <replaceable>auth</replaceable></term>
+  <varlistentry><term>-U <replaceable>auth</replaceable></term>
    <listitem><para>
      Specifies authentication info to be sent to the backend target.
      This is useful if you happen to have an internal target that
      Specifies in seconds the idle time for communication between
      proxy and backend target.
      If a connection is inactive for this long
-     it willl be closed. Default: 600 seconds (10 minutes).
+     it will be closed. Default: 600 seconds (10 minutes).
+    </para></listitem>
+  </varlistentry>
+  <varlistentry><term>-p <replaceable>pidfile</replaceable></term>
+   <listitem><para>
+     When specified, yaz-proxy will create <replaceable>pidfile</replaceable>
+     with the process ID of the proxy. The pidfile will be generated
+     before the process changes identity (see option <literal>-u</literal>).
+    </para></listitem>
+  </varlistentry>
+  <varlistentry><term>-u <replaceable>userid</replaceable></term>
+   <listitem><para>
+     When specified, yaz-proxy will change identity to the user ID
+     specified, just after the proxy has started listening to a
+     possibly privileged port and after the PID file has been created
+     if specified by option <literal>-u</literal>.
     </para></listitem>
   </varlistentry>
   <varlistentry><term>-c <replaceable>config</replaceable></term>
  </para>
  <para>
   The YAZ command-line client,
-  <literal>yaz-client</literal>,
-  allows you to set the proxy target as part of the Initialize
-  Request using option <literal>-p</literal>. 
-  For example, to connect to Index Data's target you could use:
+  <command>yaz-client</command>,
+  allows you to set the proxy address by specifying option -p. In
+  that case, the actual backend target is specified as part of the
+  Initialize Request.
+ </para>
+ <para>Suppose you have a proxy running on localhost,
+  port 9000 and wish to connect to Index Data's test target at
+  <literal>indexdata.dk:210/gils</literal> you could use:
+  <screen>
+   yaz-client -p localhost:9000 indexdata.dk:210/gils
+  </screen>
+  Since port 210 is the default, the port can be omitted:
+  <screen>
+   yaz-client -p localhost:9000 indexdata.dk/gils
+  </screen>
  </para>
- <screen>
-  yaz-client -p indexdata.dk localhost:9000/gils
- </screen>
 </refsect1>
  <!-- Keep this comment at the end of the file
  Local variables: