X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=blobdiff_plain;f=daemon.h;h=235271eca43675cf62454a506e8c3d4813471673;hp=710d854a173f5aa87c5be21bffa836ede22295ee;hb=4ce2efb32df911747cb22132df0cbf0fc492d5c9;hpb=db59ee1476515a65cfcca10a3059d8ccb2d24d32 diff --git a/daemon.h b/daemon.h index 710d854..235271e 100644 --- a/daemon.h +++ b/daemon.h @@ -2,7 +2,7 @@ * userv - daemon.h * definitions used in the daemon's source code * - * Copyright (C)1996-1997 Ian Jackson + * Copyright (C)1996-1997,1999 Ian Jackson * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by @@ -75,8 +75,9 @@ #define SETENVIRONMENTPATH SYSTEMCONFIGDIR "/" SETENVIRONMENT #define USERVD_LOGIDENT "uservd" +#define USERVDCHECK_LOGIDENT "uservd/check" #define USERVD_LOGFACILITY LOG_DAEMON -#define DEFUSERLOGFACILITY LOG_DAEMON +#define DEFUSERLOGFACILITY LOG_USER #define DEFUSERLOGLEVEL LOG_ERR #define TOPLEVEL_CONFIGURATION " \n\ @@ -102,12 +103,15 @@ quit \n\ " +#define USERVD_MYSELF_CHECK 3600 +#define USERVD_MYSELF_TIMEOUT 60 +#define USERVD_CHECKFORK_RETRY 60 #define MAX_INCLUDE_NEST 40 #define MAX_ERRMSG_LEN (MAX_ERRMSG_STRING-1024) #define ERRMSG_RESERVE_ERRNO 128 int parse_string(const char *string, const char *descrip, int isinternal); -void parseerrprint(const char *fmt, ...) PRINTFFORMAT(1,2); +int parseerrprint(const char *fmt, ...) PRINTFFORMAT(1,2); void ensurelogopen(int wantfacility); void ensurefdarray(int fd); const char *printtoken(int token); @@ -125,9 +129,10 @@ const char *nondebug_serviceuserdir(const char *ifnondebug); typedef void builtinserviceexec_fnt(const char *const *args); builtinserviceexec_fnt NONRETURNING bisexec_environment, bisexec_parameter; -builtinserviceexec_fnt NONRETURNING bisexec_version; +builtinserviceexec_fnt NONRETURNING bisexec_version, bisexec_help; builtinserviceexec_fnt NONRETURNING bisexec_toplevel, bisexec_override, bisexec_reset; -builtinserviceexec_fnt NONRETURNING bisexec_execute; +builtinserviceexec_fnt NONRETURNING bisexec_execute, bisexec_shutdown; +extern const char *const builtinservicehelpstrings[]; void execservice(const int synchsocket[], int clientfd) NONRETURNING; void servicerequest(int sfd) NONRETURNING; @@ -145,6 +150,7 @@ struct fdstate { struct keyvaluepair { char *key, *value; }; +extern pid_t overlordpid; extern struct request_msg request_mbuf; extern struct keyvaluepair *defvararray; extern struct fdstate *fdarray; /* indexed by nominal fd */ @@ -152,7 +158,7 @@ extern int fdarraysize, fdarrayused; extern int restfdwantstate, restfdwantrw; extern int service_ngids; extern char **argarray; -extern char *serviceuser, *service, *logname, *cwd; +extern char *serviceuser, *service, *loginname, *cwd; extern char *overridedata, *userrcfile; extern char *serviceuser_dir, *serviceuser_shell, *callinguser_shell; extern gid_t *calling_gids, *service_gids;