/* when changing defaults, remember to update the manpage */
static const char *sitename, *remote_host;
-static const char *feedfile, *path_cli, *path_cli_dir;
+static const char *feedfile, *path_run, *path_cli, *path_cli_dir;
static int quiet_multiple=0;
static int become_daemon=1, try_filemon=1;
static int try_stream=1;
{0,"no-filemon", 0, &try_filemon, op_setint, 0 },
{'C',"inndconf", "F", &inndconffile, op_string },
{'P',"port", "PORT", &port, op_integer },
+{0,"chdir", "DIR", &path_run, op_string },
{0,"cli", "DIR/|PATH", &path_cli, op_string },
{0,"help", 0, 0, help },
if (max_bad_data_ratio < 0 || max_bad_data_ratio > 100)
badusage("bad input data ratio must be between 0..100");
max_bad_data_ratio *= 0.01;
-
+
+ if (!path_run)
+ path_run= innconf->pathrun;
+
if (!feedfile) {
feedfile= xasprintf("%s/%s",innconf->pathoutgoing,sitename);
} else if (!feedfile[0]) {
}
if (!path_cli) {
- path_cli_dir= xasprintf("%s/innduct", innconf->pathrun);
+ path_cli_dir= "innduct";
} else if (!path_cli[0] || !strcmp(path_cli,"none")) {
path_cli= 0; /* ok, don't then */
} else if (path_ends_slash(path_cli)) {
/* set things up */
+ r= chdir(path_run);
+ if (r) sysdie("could not chdir to pathrun %s", path_run);
+
path_lock= xasprintf("%s_lock", feedfile);
path_flushing= xasprintf("%s_flushing", feedfile);
path_defer= xasprintf("%s_defer", feedfile);
instead of the default
.BR inn.conf .
.TP
+.BI \-\-port= PORT
+Connect to port
+.I PORT
+at the remote site rather than to the NNTP port (119).
+.TP
+.BI \-\-chdir= pathrun
+Change directory to
+.IR pathrun
+at startup. The default is
+.I pathrun
+from inn.conf.
+.TP
.BR \-\-cli= \fICLI-DIR\fR / |\fICLI-PATH\fR| none
Listen for control command line connections on
.IB CLI-DIR / site
or
.I CLI-PATH
(if it doesn't). See CONTROLLING INNDUCT, below.
-This option may be essential, if
-.I pathrun
-or
-.I site
-is too long, as there is a fairly short limit on the paths to AF_UNIX
+Note that there is a fairly short limit on the paths to AF_UNIX
sockets. If specified as
.IR CLI-DIR \fB/\fR,
the directory will be created with mode 700 if necessary.
The default is
-.IB pathrun /innduct/
-which means to create that directory and listen on
+.B innduct/
+which means to create that directory in
+.I pathrun
+and listen on
.RB \fIpathrun\fR /innduct/ \fIsite\fR.
.TP
-.BI \-\-port= PORT
-Connect to port
-.I PORT
-at the remote site rather than to the NNTP port (119).
-.TP
.BI \-\-help
Just print a brief usage message and list of the options to stdout.
.SH TUNING OPTIONS
.LP
innduct listens on an AF_UNIX socket, and provides a command-line
interface which can be used to trigger various events and for
-debugging. innduct listens on
-.IB pathrun /innduct/ site
+debugging. innduct listens (by default on
+.IR pathrun \fB/innduct/\fR site )
and when connected reads and writes lines (with unix line endings).
The cli can most easily be accessed with a program like
.I netcat-openbsd
not mess with the feedfile and other associated files, other than as
explained here:
.IX Header "FILES"
+.IP \fIpathrun\fR
+.IX Item "default directory"
+Default current working directory for innduct, and also default
+parent directory for the command line socket.
.IP \fIpathoutgoing\fR/\fIsite\fR
.IX Item "default feedfile"
Default