From 5043c988440a119e4f773c967be19a829582b8ba Mon Sep 17 00:00:00 2001 From: ian Date: Thu, 11 Sep 1997 18:20:04 +0000 Subject: [PATCH] Incorporate markups on all paper copies to date. --- spec.sgml | 282 +++++++++++++++++++++++++++++------------------------- 1 file changed, 154 insertions(+), 128 deletions(-) diff --git a/spec.sgml b/spec.sgml index 0307c86..f7c2321 100644 --- a/spec.sgml +++ b/spec.sgml @@ -38,10 +38,11 @@ There is a daemon which invokes user service programs (henceforth program (henceforth the `client') and according to rules set forth in system-wide and user-specific configuration files. The companion client program is setuid root, and negotiates with the daemon through -an The daemon and the client are responsible for ensuring that @@ -63,7 +64,7 @@ The user may be a login name or a numeric uid, or -The service name is interpreted by the userv daemon on behalf of the service user. It will often be the name of a program. @@ -80,15 +81,26 @@ the next. Requests that a builtin service be provided. This is equivalent to -using the for details of the builtin services available, -and for details of the + +If the builtin service being requested requires a + for details of the builtin services available, +and for details of the + +The actual service name passed will be the - @@ -232,9 +245,9 @@ Sets the action on termination of the service for the specified file descriptor; Affects the handling of the exit status when the service terminates -due to a signal. (The client will always finish by calling The Read and write errors (other than broken pipes, as described above) @@ -444,7 +457,7 @@ relevant file descriptor in the client's arguments. By default writing filedescriptors remain open and the client will wait for them to be closed at the service end, and reading file descriptors are closed immediately. These leftover child processes will not get a any -Environment @@ -476,14 +489,14 @@ decimal, separated by spaces. The group names of the calling process, listed in the same way as the -ids are in The client's current working directory name (this directory may not be accessible to the service). If it could not be determined or the -~/ are taken to be relative to the service user's home directory. -Configuration file directives +Configuration file directives

-Immediate directives +Immediate directives

The following directives take effect immediately: @@ -582,35 +595,35 @@ error). Stop reading the configuration file in question, as if end of file had -been reached. Any control constructs ( Stop reading configuration files and act immediately on the current -settings. The behaviour of Read the configuration file Read the configuration file in ). If If none of the parameter's values had a corresponding file then the @@ -662,7 +675,7 @@ delivered as if it were an error message, but does not actually cause an error. -Directives with delayed effect +Directives with delayed effect

The following directives have no immediate effect, but are remembered @@ -674,9 +687,9 @@ and have an effect on later processing of the configuration files. Specifies that the file ~/.userv/rc. This does -Control structure directives +Control structure directives

The following directives are used to create control structures. If @@ -708,11 +721,12 @@ considered finished. This is not an error. -Lines following The conditions are: @@ -767,7 +781,8 @@ The service name specified when the client was called. Two strings: the login name of the calling user (determined as for - @@ -779,7 +794,7 @@ the primary group then it is elided. The calling user's shell, as listed in the password entry for the -calling login name (as determined for @@ -798,9 +813,9 @@ The service user's shell, as listed in their password entry. The value of the user-defined variable Stacks the error handling behaviour currently in effect. Any changes -to error handling will take effect only between -Any use of -If an error occurs inside If a lexical or syntax error is detected in the same configuration -file as the -Directives for changing execution settings +Directives for changing execution settings

The following directives modify the execution settings; the server @@ -844,15 +859,17 @@ directive which modifies any particuar setting will take effect. -Reject the request. Execute the program @@ -879,7 +896,7 @@ all the configuration has been parsed). /). This directive is Displays the execution settings, defined variables, arguments, etc. with which the builtin service was invoked. Displays the environment variable settings with which the builtin service was invoked. Displays the values of the service configuration language parameter specified. Displays the version string and compilation details of the uservd server program. +Displays the default reset configuration (evaluated when Displays the top-level default configuration (the configuration data, evaluated by the server, which calls all the other configuration files). Displays the top-level override configuration (the configuration data, evaluated by the server, which causes all the other configuration data to be parsed). @@ -942,15 +966,16 @@ as /bin/sh -c '. /etc/environment; exec "$@"' - .../program arg arg arg ... - Include any arguments given to the client as arguments to the program -invoked as a result of an @@ -958,24 +983,24 @@ Insist that the filedescriptor(s) be opened for reading resp. writing. It is an error if any descriptor marked as required when the service is about to be invoked (after the configuration has been parsed) was not specified when the client was invoked. Each file descriptor has a -separate setting, and the last one of When the configuration has been parsed, and before the service is about to be executed, stderr (fd 2) must be required or allowed -( Causes the service's process group to get a If one of the reading descriptors specified when the client is called @@ -1037,28 +1062,28 @@ disconnect-hup -If no Errors in the configuration file +Errors in the configuration file

If a syntax error or other problem occurs when processing a configuration file then a diagnostic will be issued, to wherever the -error messages are currently being sent (see the The error will cause processing of the configuration files to cease at -that point, unless the error was inside a Defaults +Defaults

The default configuration processing is as if the daemon were parsing @@ -1081,8 +1106,9 @@ quit

-If one of the reset @@ -1102,11 +1128,11 @@ between the caller and the service. The service name supplied by the caller is available in the configuration language for deciding whether and which service program -to invoke, in the File descriptors specified by the client and allowed according to the @@ -1138,33 +1164,33 @@ caller to be closed, so that if these are pipes processes which write to them will receive -If Fatal signals and system call failures experienced by the client will result in the disconnection of the service from the client and possibly some of the communication file descriptors described above; -if -The value of the This login name and the calling uid are available in the configuration -language in the The shell corresponding to that login name (according to the password entry) is available as in the configuration language's - If no relevant password entry can be found then no service will be @@ -1173,7 +1199,7 @@ invoked. The numeric values and textual names for calling gid and supplementary group list are available in the configuration language in the - @@ -1182,16 +1208,16 @@ process belongs then no service will be invoked. The name of the current working directory in which the client was -invoked is passed, if available and not hidden using