]> git.proxmox.com Git - pmg-log-tracker.git/blob - README
bump version to 2.5.0
[pmg-log-tracker.git] / README
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.
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.