X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=blobdiff_plain;f=spec.sgml;h=d3abc7d61491890a5cbd06df359c601ec6ae205b;hp=463611eca3ef35a77e44223a4add4f1ee4c08502;hb=f01eaa6588a9dc2673bd35d1c1be043976b9c09a;hpb=39247dfa3b672c958ecfdfe9e104bfcb2d267db6 diff --git a/spec.sgml b/spec.sgml index 463611e..d3abc7d 100644 --- a/spec.sgml +++ b/spec.sgml @@ -3,7 +3,7 @@ User service daemon and client specification <author>Ian Jackson <email>ian@davenant.greenend.org.uk -<version>0.61.3</version> +<version>0.64.1</version> <abstract> This is a specification for a Unix system facility to allow one @@ -553,9 +553,9 @@ The configuration file is a series of directives, usually one per line. The portion of a line following a hash character <tt/#/ is taken as a comment and ignored. Each directive consists of a series of tokens separated by linear whitespace (spaces and tabs); tokens may -be words consisting of non-space characters, or, where a string is -required, a string in double quotes. Double-quoted strings may -contain the following backslash escapes: +be words consisting of non-space characters (except backslash), or, +where a string is required, a string in double quotes. Double-quoted +strings may contain the following backslash escapes: <taglist compact> <tag/<tt/\n//<item>newline @@ -573,6 +573,10 @@ Relative pathnames in directives are relative to the service program's current directory (usually the service user's home directory). Pathnames starting with the two characters <tt>~/</> are taken to be relative to the service user's home directory. +<p> + +Logical lines may be continued by putting a backslash <tt/\/ at the +end of a line; this counts as part of linear whitespace. <sect id="directives">Configuration file directives <p> @@ -641,11 +645,12 @@ the directory cannot be accessed. <p> A translation will be applied to values before they are used to -construct a filename, so that the lookup cannot access dotfiles or -files in other directories: values starting with full stops will have -a colon prepended (making <tt/:./), colons will be doubled, and each -slash will be replaced with a colon followed by a hyphen <tt>:-</>. A -parameter value which is the empty string will be replaced with +construct a filename, so that the lookup cannot access dotfiles, +backup files, files in other directories and the like: each slash will +be replaced with a colon followed by a hyphen <tt>:-</>, and all +characters which are not lowercase alphanumerics, hyphens or +underscores will have a colon prepended (so that colons are doubled). +A parameter value which is the empty string will be replaced with <tt/:empty/ (note that this is different from a parameter not having any values). @@ -663,13 +668,12 @@ file. <item> Causes an error whose message includes the descriptive string <var/text/. <var/text/ may consist of several tokens with intervening -whitespace. The whitespace will be included in the message as found -in the configuration file: all the characters until the end of the -line will be included verbatim, unless they are part of a -double-quoted string, in which case the usual meaning of the string +linear whitespace. Each set of linear whitespace will appear in the +message as a single space. The usual meaning of double-quoted strings (i.e., after backslash escape processing) will be used. Comments and linear whitespace at the end of the line (or just before the comment) -will still be ignored. +will still be ignored. Apart from those cases, each token's text will +be included verbatim. <tag/<tt/message <var/text .../// <item>