From 3110991d8a797c0e91037e9e615090ec57e22359 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 7 Sep 2005 09:28:46 +0000 Subject: [PATCH] Document more yazproxy command line options. Bug #412. --- doc/Makefile.am | 8 ++--- doc/reference.xml | 4 +-- doc/yaz-proxy-man.sgml | 33 ------------------- doc/yaz-proxy-man.xml | 33 +++++++++++++++++++ doc/yaz-proxy-ref.xml | 83 +++++++++++++++++++++++++++++------------------- src/yaz-proxy-main.cpp | 48 ++++++++++++++-------------- 6 files changed, 114 insertions(+), 95 deletions(-) delete mode 100644 doc/yaz-proxy-man.sgml create mode 100644 doc/yaz-proxy-man.xml diff --git a/doc/Makefile.am b/doc/Makefile.am index baa2bb2..04a0120 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.7 2004-04-22 18:47:02 adam Exp $ +## $Id: Makefile.am,v 1.8 2005-09-07 09:28:46 adam Exp $ docdir=$(datadir)/doc/@PACKAGE@ SUPPORTFILES = \ @@ -13,7 +13,7 @@ XMLFILES = \ reference.xml \ using.xml \ yaz-proxy-ref.xml \ - yaz-proxy-man.sgml \ + yaz-proxy-man.xml \ license.xml \ yazproxy.xml.in @@ -50,8 +50,8 @@ EXTRA_DIST = $(SUPPORTFILES) $(XMLFILES) $(doc_DATA) $(man_MANS) $(HTMLFILES): $(XMLFILES) jade -E14 -D $(srcdir) -d yazhtml.dsl -t sgml $(srcdir)/xml.dcl $(TOP) -yazproxy.8: yaz-proxy-man.sgml yaz-proxy-ref.xml - docbook2man $(srcdir)/yaz-proxy-man.sgml +yazproxy.8: yaz-proxy-man.xml yaz-proxy-ref.xml + docbook2man $(srcdir)/yaz-proxy-man.xml yazproxy.php: $(XMLFILES) jade -E14 -D $(srcdir) -d yazphp.dsl -t sgml $(srcdir)/xml.dcl $(TOP) diff --git a/doc/reference.xml b/doc/reference.xml index 1615287..dde1e4b 100644 --- a/doc/reference.xml +++ b/doc/reference.xml @@ -651,7 +651,7 @@
- Proxy Usage (man page) + Proxy Manual Pages &yaz-proxy-ref; @@ -696,7 +696,7 @@ -]> - - - &yaz-proxy-ref; - SEE ALSO - - - yaz - 7 - - - yaz-client - 1 - - - - - diff --git a/doc/yaz-proxy-man.xml b/doc/yaz-proxy-man.xml new file mode 100644 index 0000000..0634c00 --- /dev/null +++ b/doc/yaz-proxy-man.xml @@ -0,0 +1,33 @@ + +]> + + + &yaz-proxy-ref; + SEE ALSO + + + yaz + 7 + + + yaz-client + 1 + + + + + diff --git a/doc/yaz-proxy-ref.xml b/doc/yaz-proxy-ref.xml index 209a178..da0c713 100644 --- a/doc/yaz-proxy-ref.xml +++ b/doc/yaz-proxy-ref.xml @@ -10,16 +10,18 @@ yazproxy -a filename + -c config + -i seconds -l filename -m num - -v level - -t target + -n num -o level - -i seconds - -T seconds + -t target -p pidfile + -T seconds -u userid - -c config + -v level + -X host:port @@ -57,6 +59,20 @@ standard output. + -c config + + Specifies config filename. Configuration is in XML + and is only supported if the YAZ proxy is compiled with + libxml2. + + + -i seconds + + 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). + + -l filename Specifies the name of a file to which to write a log of the @@ -67,22 +83,15 @@ -m num - Specifies the maximum number of connections to be cached - [default 50]. + Specifies the maximum number of client connections to be + offered [default 150]. - -v level + -n num - Sets the logging level. level is - a comma-separated list of members of the set - {fatal,debug,warn,log,malloc,all,none}. - - - -t target - - Specifies the default backend target to use when a client - connects that does not explicitly specify a target in its - initRequest. + Sets maximum number of open files to num. + This is only available on systems that offers the + setrlimit(2) call. -o level @@ -93,11 +102,18 @@ features. By default optimization is enabled (value 1). - -i seconds + -p pidfile - 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). + When specified, yazproxy will create pidfile + with the process ID of the proxy. The pidfile will be generated + before the process changes identity (see option -u). + + + -t target + + Specifies the default backend target to use when a client + connects that does not explicitly specify a target in its + initRequest. -T seconds @@ -108,13 +124,6 @@ it will be closed. Default: 600 seconds (10 minutes). - -p pidfile - - When specified, yazproxy will create pidfile - with the process ID of the proxy. The pidfile will be generated - before the process changes identity (see option -u). - - -u userid When specified, yazproxy will change identity to the user ID @@ -123,11 +132,19 @@ if specified by option -u. - -c config + -v level - Specifies config filename. Configuration is in XML - and is only supported if the YAZ proxy is compiled with - libxml2. + Sets the logging level. level is + a comma-separated list of members of the set + {fatal,debug,warn,log,malloc,all,none}. + + + -X + + Enables debugging mode for the proxy. When specified, the proxy will + not fork itself, thus any violations becomes fatal. Useful if + you run yazproxy inside gdb. + Don't run this in production. diff --git a/src/yaz-proxy-main.cpp b/src/yaz-proxy-main.cpp index 01209d3..b5f3ffe 100644 --- a/src/yaz-proxy-main.cpp +++ b/src/yaz-proxy-main.cpp @@ -1,4 +1,4 @@ -/* $Id: yaz-proxy-main.cpp,v 1.16 2005-06-25 15:58:33 adam Exp $ +/* $Id: yaz-proxy-main.cpp,v 1.17 2005-09-07 09:28:46 adam Exp $ Copyright (c) 1998-2005, Index Data. This file is part of the yaz-proxy. @@ -60,8 +60,10 @@ using namespace yazpp_1; void usage(char *prog) { - fprintf (stderr, "%s: [-c config] [-l log] [-a log] [-v level] [-t target] " - "[-u uid] [-p pidfile] @:port\n", prog); + fprintf (stderr, "%s: [-a log] [-c config]\n" + " [-i sec] [-l log] [-m num] [-n num] [-p pidfile]" + " [-t target] [-T sec] [-u uid]\n" + " [-v level] [-X] @:port\n", prog); exit (1); } @@ -92,6 +94,9 @@ int args(Yaz_Proxy *proxy, int argc, char **argv) } addr = arg; break; + case 'a': + proxy->set_APDU_log(arg); + break; case 'c': err = proxy->set_config(arg); if (err == -2) @@ -105,17 +110,8 @@ int args(Yaz_Proxy *proxy, int argc, char **argv) exit(1); } break; - case 'a': - proxy->set_APDU_log(arg); - break; - case 't': - proxy->set_default_target(arg); - break; - case 'o': - proxy->option("optimize", arg); - break; - case 'v': - yaz_log_init_level (yaz_log_mask_str(arg)); + case 'i': + proxy->set_client_idletime(atoi(arg)); break; case 'l': yaz_log_init_file (arg); @@ -124,27 +120,33 @@ int args(Yaz_Proxy *proxy, int argc, char **argv) case 'm': proxy->set_max_clients(atoi(arg)); break; - case 'i': - proxy->set_client_idletime(atoi(arg)); - break; - case 'T': - proxy->set_target_idletime(atoi(arg)); - break; case 'n': no_limit_files = atoi(arg); break; - case 'X': - proxy->set_debug_mode(1); - debug = 1; + case 'o': + proxy->option("optimize", arg); break; case 'p': if (!pid_fname) pid_fname = xstrdup(arg); break; + case 't': + proxy->set_default_target(arg); + break; + case 'T': + proxy->set_target_idletime(atoi(arg)); + break; case 'u': if (!uid) uid = xstrdup(arg); break; + case 'v': + yaz_log_init_level (yaz_log_mask_str(arg)); + break; + case 'X': + proxy->set_debug_mode(1); + debug = 1; + break; default: usage(prog); return 1; -- 1.7.10.4