]>
Commit | Line | Data |
---|---|---|
457d8335 ML |
1 | The pmg-log-tracker extracts information out of the syslog to match all entries |
2 | related to a single mail. It does so by using the PID of 'smtpd' entries in the | |
3 | log as key for the SEntry structs. The QID, an ID consisting of at least 2 all | |
4 | upper case hex digits, is used for both QEntry structs and FEntry structs. | |
5 | ||
6 | As a rule of thumb, SEntrys are used wherever the services 'postscreen' and | |
7 | 'smtpd' are involved. QEntrys on the other hand are only used when a queue is | |
8 | involved (e.g. after-queue filtering passing the postscreen checks, | |
9 | before-queue filtering when the mail is 'accepted'). FEntrys are used whenever | |
10 | the filter (pmg-smtp-filter) is involved. | |
11 | ||
12 | The typical flow of a mail (after-queue): | |
13 | ||
14 | 1. postscreen (NOQUEUE -> mail finished) | |
15 | 2. smtpd (pid matching) | |
16 | 3. cleanup -> qmgr (mail in queue, QID matching) | |
17 | 4. pmg-smtp-filter (rule system, accept/block, long (Q)ID matching) | |
18 | 5. lmtp/smtp/local/error (QID matching, filter ID matching in lmtp) | |
19 | 6. qmgr ('removed') | |
20 | 7. smtpd ('disconnected from') | |
21 | ||
22 | Both 6 and 7 are required before the mail can be printed completely. | |
f41b809a ML |
23 | 6 and 7 can be logged in arbitrary order. |
24 | ||
25 | The typical flow of a mail (before-queue): | |
26 | ||
27 | 1. postscreen (NOQUEUE -> mail finished) | |
28 | 2. smtpd 1 (pid matching) | |
29 | 3. pmg-smtp-filter (rule system, accept/block, long (Q)ID matching) | |
30 | - on accept match the QID | |
31 | 4. smtpd 2 (pid matching) | |
32 | 5. (optional, only on 'accept') cleanup -> qmgr (mail in queue, QID matching) | |
33 | 6. (optional, only on 'accept') smtp (QID matching) | |
34 | 7. (optional, only on 'accept') qmgr ('removed') | |
35 | 8. smtpd 2 ('disconnect from') | |
36 | 9. smtpd 1 (proxy-accept/proxy-reject, filter (Q)ID matching) | |
37 | 10. smtpd 1 ('disconnect from') | |
38 | ||
39 | 7, 8 and 10 are required before the mail can be printed completely. | |
40 | 7, 8 and 10 can be logged in arbitrary order. |