with-authinfo-kludge, with-authinfo-kludge.1: Implementation!
[with-authinfo-kludge] / with-authinfo-kludge.1
index 138c5f8..d5c6532 100644 (file)
@@ -210,7 +210,7 @@ If any are present, they take the place of any configuration file:
 an error is reported if a
 .B \-f
 option was passed.
-A server configuration starts with 
+A server configuration starts with
 an argument consisting of a server name prefixed by a
 .RB ` + '
 character:
@@ -328,6 +328,14 @@ name from the section heading
 and may be equal to the
 .I remote
 address (below) without causing difficulty.
+Note that
+.B with-authinfo-kludge
+will not do anything to encourage the client
+to connect to the right address;
+its caller must arrange to configure the client correctly,
+e.g., by setting the
+.B NNTPSERVER
+environment variable appropriately.
 .TP
 .BI nntpauth= "parameter arguments\fR..."
 Set the AUTHINFO GENERIC authentication parameter and arguments
@@ -352,6 +360,7 @@ set up by the
 .B via
 parameter.
 The default is to use
+.\" FIXME Fuck you openssh
 127.1.0.1:119.
 It is
 .I not
@@ -429,11 +438,6 @@ The user's home directory is determined, as follows.
 If the environment variable
 .B HOME
 is set, then its value is used.
-Otherwise, the current effective uid is looked up
-in the password database
-(using
-.BR getpwuid (3));
-and the home directory taken from the record.
 Let
 .I home
 be the home directory so determined, if any.
@@ -449,6 +453,7 @@ if no home directory was determined.
 Let
 .I config-home
 denote the configuration home directory so determined.
+.\" FIXME XDG_CONFIG_DIRS too now
 .hP 5.
 A `tag' is chosen, as follows.
 If the
@@ -477,7 +482,7 @@ No configuration file could be found,
 so a default configuration is constructed, as follows.
 Let
 .I nntp-server
-be the value of the 
+be the value of the
 .B NNTPSERVER
 environment variable;
 if it is not set, then a fatal error is reported.
@@ -498,6 +503,10 @@ The runtime directory is chosen as follows.
 If the
 .B \-d
 option is present, then its value is used.
+Otherwise, if the configuration file specifies
+a value for the global
+.B rundir
+parameter then that it used.
 .hP 2.
 If the environment variable
 .B XDG_RUNTIME_DIR
@@ -507,24 +516,7 @@ denote its value;
 then
 .IB run /with-authinfo-kludge
 is used as the runtime directory.
-.hP 3.
-The user's name is determined, as follows.
-If the environment variable
-.B USER
-is set, then its value is used.
-Otherwise, if, the environment variable
-.B LOGNAME
-is set, then its value is used.
-Otherwise, the current effective uid is looked up
-in the password database
-(using
-.BR getpwuid (3));
-and the name taken from the record.
-Let
-.I user
-be the user name so determined, if any.
-.hP 4
-If no user name could be determined, then skip this step.
+.hP 3
 If the environment variable
 .B TMPDIR
 is set, then let
@@ -534,28 +526,31 @@ otherwise, let
 .I tmp
 be
 .BR /tmp .
+Let
+.I uid
+be the current effective uid, in decimal,
+without leading zeroes
+(if the superuser is foolish enough to run this program then
+.I uid
+is
+.BR 0 ).
 If
-.IB tmp/ with-authinfo-kludge- user
+.IB tmp/ with-authinfo-kludge- uid
 exists,
 is a directory (and not a symbolic link),
 is owned by the current effective uid,
 and has no permissions for group or others;
 or if it does not exist but can be created with the above properties;
 then it is used as the runtime directory.
-.hP 5.
+.hP 4.
 The user's home directory is determined, as follows.
 If the environment variable
 .B HOME
 is set, then its value is used.
-Otherwise, the current effective uid is looked up
-in the password database
-(using
-.BR getpwuid (3));
-and the home directory taken from the record.
 Let
 .I home
 be the home directory so determined, if any.
-.hP 6.
+.hP 5.
 A `cache home' directory is determined, as follows.
 If the environment variable
 .B XDG_CACHE_HOME
@@ -569,23 +564,26 @@ Let
 denote the cache home directory so determined.
 If the cache home directory does not exist,
 then it is created with mode 0777 (as modified by the umask).
-.hP 7.
+.hP 6.
 Let
 .I hostname
 be the local machine's hostname,
 as reported by
 .BR gethostname (2).
-If
+Then
 .IB cache-home /with-authinfo-kludge. hostname
-does not exist,
+is used as the runtime directory.
+.PP
+If the directory chosen by the above procedure does not exist,
 then it is created as a directory,
 with mode 0700 (and modified by the umask).
-This directory is then used as the runtime directory.
 (If it exists, but is not in fact a directory,
 then later operations will fail.)
 .PP
 The runtime directory contains a number of other directories,
 named
+.\" FIXME junk, new, naming
+.\" session dirs now entirely different
 .IR tag . pid \fR.
 Each such directory corresponds to a running
 (or failed)
@@ -637,10 +635,6 @@ to share the same proxy machinery.
 This is somewhat wasteful.
 Fixing this would necessitate some other way of
 orchestrating the setup and teardown of runtime directories.
-.PP
-Maybe there ought to be a way to set
-a separate runtime directory for each server.
-But, really, I had to draw a line somewhere.
 .
 .\"--------------------------------------------------------------------------
 .SH SEE ALSO