<cmdsynopsis>
<command>yaz-proxy</command>
<arg choice="opt">-a <replaceable>filename</replaceable></arg>
- <arg choice="opt">-c <replaceable>num</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>
</refsynopsisdiv>
<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>-c <replaceable>num</replaceable></term>
+ <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
[default 50].
</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>
<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
</varlistentry>
<varlistentry><term>-i <replaceable>seconds</replaceable></term>
<listitem><para>
- Specifies in seconds the idle time for communication
- for proxy. If a connection is inactive for this long
- it willl be closed. Default: 600 seconds (10 minutes).
+ Specifies in seconds the idle time for communication between
+ client and proxy. If a connection is inactive for this long
+ it will be closed. Default: 600 seconds (10 minutes).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry><term>-T <replaceable>seconds</replaceable></term>
+ <listitem><para>
+ Specifies in seconds the idle time for communication between
+ proxy and backend target.
+ If a connection is inactive for this long
+ 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>
+ <listitem><para>
+ Specifies config filename. Configuration is in XML
+ and is only supported if the YAZ proxy is compiled with
+ libxml2.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
- <refsect1>
+<refsect1>
<title>EXAMPLES</title>
<para>
The following command starts the proxy, listening on port
</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: