.I adverbial modifier
which runs another command
(typically a newsreader)
-in an environment in which at can,
+in an environment in which it can,
transparently to it,
make connections to certain NNTP servers
which usually require
authentication before they'll permit clients to read or post.
This is useful because support for
.B AUTHINFO GENERIC
-has never been especially widely supported by newsreaders
+has never been especially widely implemented by newsreaders
and now seems to be being withdrawn from those newsreaders
which used to support it.
.PP
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:
.PP
See below for details about the configuration file.
.PP
-To hedge against the unlikely event that the desired
+To hedge against the
.IR command 's
-name actually begins with
+name containing an
+.RB ` = '
+or, less plausibly, beginning with
.RB ` + ',
an argument consisting of a
.RB ` + '
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
.B via
parameter.
The default is to use
+.\" FIXME Fuck you openssh
127.1.0.1:119.
It is
.I not
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.
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
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.
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
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
.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
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)
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