~ubuntu-branches/ubuntu/raring/postfix/raring

« back to all changes in this revision

Viewing changes to src/oqmgr/qmgr.c

Tags: upstream-2.2.6
ImportĀ upstreamĀ versionĀ 2.2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
/* SYNOPSIS
7
7
/*      \fBqmgr\fR [generic Postfix daemon options]
8
8
/* DESCRIPTION
9
 
/*      The \fBqmgr\fR daemon awaits the arrival of incoming mail
 
9
/*      The \fBqmgr\fR(8) daemon awaits the arrival of incoming mail
10
10
/*      and arranges for its delivery via Postfix delivery processes.
11
11
/*      The actual mail routing strategy is delegated to the
12
12
/*      \fBtrivial-rewrite\fR(8) daemon.
19
19
/* MAIL QUEUES
20
20
/* .ad
21
21
/* .fi
22
 
/*      The \fBqmgr\fR daemon maintains the following queues:
 
22
/*      The \fBqmgr\fR(8) daemon maintains the following queues:
23
23
/* .IP \fBincoming\fR
24
24
/*      Inbound mail from the network, or mail picked up by the
25
 
/*      local \fBpickup\fR agent from the \fBmaildrop\fR directory.
 
25
/*      local \fBpickup\fR(8) agent from the \fBmaildrop\fR directory.
26
26
/* .IP \fBactive\fR
27
27
/*      Messages that the queue manager has opened for delivery. Only
28
28
/*      a limited number of messages is allowed to enter the \fBactive\fR
39
39
/* DELIVERY STATUS REPORTS
40
40
/* .ad
41
41
/* .fi
42
 
/*      The \fBqmgr\fR daemon keeps an eye on per-message delivery status
 
42
/*      The \fBqmgr\fR(8) daemon keeps an eye on per-message delivery status
43
43
/*      reports in the following directories. Each status report file has
44
44
/*      the same name as the corresponding message file:
45
45
/* .IP \fBbounce\fR
53
53
/*      Postfix "\fBsendmail -v\fR" or "\fBsendmail -bv\fR" command.
54
54
/*      These files are maintained by the \fBtrace\fR(8) daemon.
55
55
/* .PP
56
 
/*      The \fBqmgr\fR daemon is responsible for asking the
 
56
/*      The \fBqmgr\fR(8) daemon is responsible for asking the
57
57
/*      \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemons to
58
58
/*      send delivery reports.
59
59
/* STRATEGIES
109
109
/*      servers that should not go away forever. The action is to start
110
110
/*      an incoming queue scan.
111
111
/* .PP
112
 
/*      The \fBqmgr\fR daemon reads an entire buffer worth of triggers.
 
112
/*      The \fBqmgr\fR(8) daemon reads an entire buffer worth of triggers.
113
113
/*      Multiple identical trigger requests are collapsed into one, and
114
114
/*      trigger requests are sorted so that \fBA\fR and \fBF\fR precede
115
115
/*      \fBD\fR and \fBI\fR. Thus, in order to force a deferred queue run,
118
118
/* STANDARDS
119
119
/* .ad
120
120
/* .fi
121
 
/*      None. The \fBqmgr\fR daemon does not interact with the outside world.
 
121
/*      None. The \fBqmgr\fR(8) daemon does not interact with the outside world.
122
122
/* SECURITY
123
123
/* .ad
124
124
/* .fi
125
 
/*      The \fBqmgr\fR daemon is not security sensitive. It reads
 
125
/*      The \fBqmgr\fR(8) daemon is not security sensitive. It reads
126
126
/*      single-character messages from untrusted local users, and thus may
127
 
/*      be susceptible to denial of service attacks. The \fBqmgr\fR daemon
 
127
/*      be susceptible to denial of service attacks. The \fBqmgr\fR(8) daemon
128
128
/*      does not talk to the outside world, and it can be run at fixed low
129
129
/*      privilege in a chrooted environment.
130
130
/* DIAGNOSTICS
131
 
/*      Problems and transactions are logged to the syslog daemon.
 
131
/*      Problems and transactions are logged to the \fBsyslog\fR(8) daemon.
132
132
/*      Corrupted message files are saved to the \fBcorrupt\fR queue
133
133
/*      for further inspection.
134
134
/*
136
136
/*      the postmaster is notified of bounces and of other trouble.
137
137
/* BUGS
138
138
/*      A single queue manager process has to compete for disk access with
139
 
/*      multiple front-end processes such as \fBsmtpd\fR. A sudden burst of
 
139
/*      multiple front-end processes such as \fBcleanup\fR(8). A sudden burst of
140
140
/*      inbound mail can negatively impact outbound delivery rates.
141
141
/* CONFIGURATION PARAMETERS
142
142
/* .ad
143
143
/* .fi
144
 
/*      Changes to \fBmain.cf\fR are not picked up automatically, as qmgr(8)
145
 
/*      processes are persistent. Use the command "\fBpostfix reload\fR" after
 
144
/*      Changes to \fBmain.cf\fR are not picked up automatically,
 
145
/*      as \fBqmgr\fR(8)
 
146
/*      is a persistent process. Use the command "\fBpostfix reload\fR" after
146
147
/*      a configuration change.
147
148
/*
148
149
/*      The text below provides only a parameter summary. See
149
 
/*      postconf(5) for more details including examples.
 
150
/*      \fBpostconf\fR(5) for more details including examples.
150
151
/*
151
152
/*      In the text below, \fItransport\fR is the first field in a
152
153
/*      \fBmaster.cf\fR entry.
249
250
/*      trivial-rewrite(8), address routing
250
251
/*      bounce(8), delivery status reports
251
252
/*      postconf(5), configuration parameters
 
253
/*      master(5), generic daemon options
252
254
/*      master(8), process manager
253
 
/*      syslogd(8) system logging
 
255
/*      syslogd(8), system logging
254
256
/* README FILES
255
257
/* .ad
256
258
/* .fi
491
493
     * Sanity check.
492
494
     */
493
495
    if (var_qmgr_rcpt_limit < var_qmgr_active_limit) {
494
 
        msg_warn("%s is smaller than %s",
495
 
                 VAR_QMGR_RCPT_LIMIT, VAR_QMGR_ACT_LIMIT);
 
496
        msg_warn("%s is smaller than %s - adjusting %s",
 
497
              VAR_QMGR_RCPT_LIMIT, VAR_QMGR_ACT_LIMIT, VAR_QMGR_RCPT_LIMIT);
496
498
        var_qmgr_rcpt_limit = var_qmgr_active_limit;
497
499
    }
 
500
    if (var_dsn_queue_time > var_max_queue_time) {
 
501
        msg_warn("%s is larger than %s - adjusting %s",
 
502
                 VAR_DSN_QUEUE_TIME, VAR_MAX_QUEUE_TIME, VAR_DSN_QUEUE_TIME);
 
503
        var_dsn_queue_time = var_max_queue_time;
 
504
    }
498
505
 
499
506
    /*
500
507
     * This routine runs after the skeleton code has entered the chroot jail.