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
-<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>