* todo
* - inotify not working ?
* - some per-conn info thing for control
- * - option for realsockdir
* - manpage: document control master stuff
*
* debugging rune:
uid_t self= geteuid();
if (!S_ISDIR(stab.st_mode) ||
stab.st_uid != self ||
- stab.st_mode & 0077) {
+ stab.st_mode & 0007) {
warn("no control socket, because real socket directory"
" is somehow wrong (ISDIR=%d, uid=%lu (exp.%lu), mode %lo)",
!!S_ISDIR(stab.st_mode),
{0,"no-filemon", 0, &try_filemon, op_setint, 0 },
{'C',"inndconf", "F", &inndconffile, op_string },
{'P',"port", "PORT", &port, op_integer },
+{0,"ctrl-sock-dir", 0, &realsockdir, op_string },
{0,"help", 0, 0, help },
{0,"max-connections", "N", &max_connections, op_integer },
instead of the default
.BR inn.conf .
.TP
+.BI \-\-ctrl-sock-dir= DIR
+Bind the real control socket to a unique filename in
+.IR DIR .
+A symlink will be made pointing to the actual file used, named
+.IB feedfile _control
+in the same directory as
+.IR feedfile ,
+but since
+.IR feedfile 's
+path may be too long for an AF_UNIX socket path, innduct always
+creates the sockets in this dedicated directory which is expected to
+have a short path. If
+.I DIR
+does not exist it will be created with mode 0700; if it does
+exist it must not be a symlink and must be owned by the user running
+innduct and have no access for "other". If the control socket cannot
+be set up (for this or any other reason), a warning is logged, but
+such situations are not fatal for innduct's startup. The default is
+.BR /tmp/innduct.control .
+.TP
.BI \-\-port= PORT
Connect to port
.I PORT