Skip to content

slowq start.8

Manvendra Bhangui edited this page Feb 25, 2024 · 5 revisions

NAME

slowq-start - turn on mail delivery

SYNOPSIS

slowq-start [ defaultdelivery [ logger arg ... ] ]

DESCRIPTION

slowq-start forks and executes qmail-lspawn(8), qmail-rspawn(8), and qmail-clean(8) as childs, for a queue defined by the environment variable QUEUEDIR. The queue can be created by queue-fix(8). Messages are injected in the queue by any qmail-queue client. See qmail-queue-clients(7). slowq-start then execs slowq-send(8). slowq-start sets up communication channels using pipes between slowq-send and the other four daemons. These five daemons cooperate to deliver messages from the queue and are executed with the proper uids and gids to achieve a security partition. The uids and gids are obtained from the passwd(5) database using standard glibc getpwent(3), getgrent(3) calls which are inherently unreliable. You can switch to internal qgetpwent(3), qgetgrent(3) functions by setting the environment variable USE_QPWGR. The uids and gids with which these give daemons are invoked are as follows. If USE_SETGROUPS environment variable is set, slowq-start sets up additional groups.

daemon UNIX user UNIX group
slowq-send qmails qmail
qmail-clean qmailq qmail + supplementary groups for qmailq
qmail-lspawn root qmail
qmail-rspawn qmailr qmail + supplementary groups for qmailr
logger qmaill nofiles + supplementary groups for qmaill

slowq-start borrows most of it's code from qmail-start.

slowq-start arranges for slowq-send's activity record to be sent to slowq-start's output. See qmail-log(5) for the format of the activity record. slowq-start doesn't print anything other than errors on descriptor 2 before it execs slowq-send.

If defaultdelivery is supplied, slowq-start passes it to qmail-lspawn.

The default indimail installation, creates a supervised service in /service/slowq. The output goes to /var/log/svc/slowq/current. The default mailbox type is picked up from the defaultdelivery control file. The table below outlines the choices for defaultdelivery control file

Mailbox Name Location defaultdelivery Comments
Format
_
mbox Mailbox $HOME ./Mailbox most common, works with
maildir Maildir $HOME ./Maildir/ more reliable, less
mbox username /var/spool/mail See INSTALL.vsm traditional mailbox
_

If logger is supplied, slowq-start invokes logger with the given arguments, and feeds slowq-send's activity record through logger.

Environment variables given to slowq-start or qscheduler will eventually be passed on to qmail-local, so make sure to clean up the environment if you run slowq-start manually:

   # env - PATH="PREFIX/sbin:$PATH"


   slowq-start ./Mailbox splogger qmail &


   (all on one line)

Resource limits, controlling ttys, et al. are also passed from slowq-start to qmail-local.

Note that slowq-send normally juggles several simultaneous deliveries. To reduce slowq-send's impact on other programs, you can run slowq-start with a low priority.

Supplementary Groups

If you set the environment variable USE_SETGROUPS, qmail-start can set supplementary groups (if defined in /etc/group) for slowq-send (for qmails user), qmail-rspawn (for qmailr user), qmail-clean (qmailq user) and any logger specified on command line (qmaill user). See group(5) to learn how to set supplementary groups.

SEE ALSO

logger(1) splogger(1) nice(1) qmail-log(5), qmail-local(8), qmail-clean(8), qmail-lspawn(8), qmail-rspawn(8), qmail-start(8), qmail-send(8), slowq-send(8), todo-proc(8), qmail-multi(8), initsvc(1), svscan(8), supervise(8), getpwent(3) getgrent(3) qgetpwent(3), qgetgrent(3), passwd(5) group(5) IndiMail(7)

Clone this wiki locally