X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=server%2Fstatserv.c;h=7587618969950794d0eb4e4ec0dce931321bc3d2;hb=a571156582fe34154568c7b42f142e56879557d3;hp=aa68bc13bda866f646389e2a945c06ea23c7a1dc;hpb=657fb99115b87a5244e9a33bbe4ca3d9d18849c4;p=yaz-moved-to-github.git diff --git a/server/statserv.c b/server/statserv.c index aa68bc1..7587618 100644 --- a/server/statserv.c +++ b/server/statserv.c @@ -4,7 +4,22 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: statserv.c,v $ - * Revision 1.27 1995-09-27 15:03:02 quinn + * Revision 1.32 1996-01-19 15:41:52 quinn + * *** empty log message *** + * + * Revision 1.31 1995/11/17 11:09:39 adam + * Added new option '-c' to specify configuration name in control block. + * + * Revision 1.30 1995/11/01 13:54:59 quinn + * Minor adjustments + * + * Revision 1.29 1995/10/30 12:41:29 quinn + * Added hostname lookup for server. + * + * Revision 1.28 1995/09/29 17:12:30 quinn + * Smallish + * + * Revision 1.27 1995/09/27 15:03:02 quinn * Modified function heads & prototypes. * * Revision 1.26 1995/08/29 14:44:51 quinn @@ -113,7 +128,6 @@ #ifdef USE_XTIMOSI #include #endif -#include #include #include @@ -128,14 +142,12 @@ static statserv_options_block control_block = { "", /* diagnostic output to stderr */ "tcp:@:9999", /* default listener port */ PROTO_Z3950, /* default application protocol */ - 2*60, /* idle timeout (minutes) */ + 60, /* idle timeout (minutes) */ 1024*1024, /* maximum PDU size (approx.) to allow */ "default-config", /* configuration name to pass to backend */ "" /* set user id */ }; -#define DEFAULT_LISTENER "tcp:localhost:9999" - /* * handle incoming connect requests. * The dynamic mode is a bit tricky mostly because we want to avoid @@ -213,6 +225,7 @@ static void listener(IOCHAN h, int event) { COMSTACK new_line; IOCHAN new_chan; + char *a; if (!(new_line = cs_accept(line))) { @@ -224,7 +237,7 @@ static void listener(IOCHAN h, int event) if (control_block.dynamic) { IOCHAN pp; - /* close our half of the listener sockets */ + /* close our half of the listener socket */ for (pp = iochan_getchan(); pp; pp = iochan_getnext(pp)) { COMSTACK l = iochan_getdata(pp); @@ -251,7 +264,8 @@ static void listener(IOCHAN h, int event) } iochan_setdata(new_chan, newas); iochan_settimeout(new_chan, control_block.idle_timeout * 60); - logf(LOG_LOG, "accepted connection"); + a = cs_addrstr(new_line); + logf(LOG_LOG, "Accepted connection from %s", a ? a : "[Unknown]"); } else { @@ -334,7 +348,7 @@ static void catchchld(int num) signal(SIGCHLD, catchchld); } -statserv_options_block MDF *statserv_getcontrol(void) +statserv_options_block *statserv_getcontrol(void) { static statserv_options_block cb; @@ -342,19 +356,19 @@ statserv_options_block MDF *statserv_getcontrol(void) return &cb; } -void MDF statserv_setcontrol(statserv_options_block *block) +void statserv_setcontrol(statserv_options_block *block) { memcpy(&control_block, block, sizeof(*block)); } -int MDF statserv_main(int argc, char **argv) +int statserv_main(int argc, char **argv) { int ret, listeners = 0; char *arg; int protocol = control_block.default_proto; me = argv[0]; - while ((ret = options("a:szSl:v:u:", argv, argc, &arg)) != -2) + while ((ret = options("a:szSl:v:u:c:", argv, argc, &arg)) != -2) { switch (ret) { @@ -377,10 +391,14 @@ int MDF statserv_main(int argc, char **argv) strcpy(control_block.apdufile, arg ? arg : ""); break; case 'u': strcpy(control_block.setuid, arg ? arg : ""); break; + case 'c': + strcpy(control_block.configname, arg ? arg : ""); break; default: - fprintf(stderr, "Usage: %s [ -a -v -l -u -zsS ... ]\n", me); + fprintf(stderr, "Usage: %s [ -a -v " + " -l -u -c " + " -zsS ... ]\n", me); exit(1); - } + } } if (control_block.dynamic) signal(SIGCHLD, catchchld);