chiark / gitweb /
@@ -7,7 +7,7 @@
[userv.git] / spec.sgml
index 463611eca3ef35a77e44223a4add4f1ee4c08502..d3abc7d61491890a5cbd06df359c601ec6ae205b 100644 (file)
--- a/spec.sgml
+++ b/spec.sgml
@@ -3,7 +3,7 @@
 <book>
 <title>User service daemon and client specification
 <author>Ian Jackson <email>ian@davenant.greenend.org.uk
 <book>
 <title>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
 
 <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
 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
 
 <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.
 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>
 
 <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
 
 <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).
 
 <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
 <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)
 (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>
 
 <tag/<tt/message <var/text ...///
 <item>