12014-09-03 (version: 1.40.03) 2 - Fix: Corrected typo in RE for postscreen PREGREET & HANGUP fix was lost in merge. 3 Thanks: Michael Orlitzky 4 52014-08-28 (version: 1.40.02) 6 - Fix: Commented out some code which was accidentally left enabled, preventing the 7 script from running. 8 92014-08-01 (version: 1.40.01) 10 - Fix: Correct TLS matching for Postfix 2.11 and later. Thanks: John Wilcock 11 - Fix: Ignore cfg_get_str debug lines. Thanks: Bas Mevissen 12 - Fix: Ignore sacl_check:... lines. Thanks: Jonathan Herbach 13 142012-01-11 (version: 1.40.00) 15 - Change: License is now the MIT/X-Consortium License: 16 http://www.opensource.org/licenses/mit-license.php 17 This allows re-inclusion into the logwatch project. 18 - Fix: Ignore additional debug lines. Thanks: Peter Smrcak 19 - Fix: Corrected typo in RE for postscreen PREGREET & HANGUP. 20 212011-09-26 (version: 1.39.07) 22 - New: Support 2.9's enable_long_queue_ids via command line option 23 --[no]long_queue_ids and config file var $postfix_Enable_Long_Queue_Ids. 24 Default is disabled. There will be issues with existing logs that contain 25 both formats. 26 - Fix: Support postscreen's WHITELIST VETO. 27 - Thanks: Noel Jones 28 292011-09-23 (version: 1.39.06) 30 - New: Support postscreen from postfix 2.8. Updated for minor dnsblog 31 log changes. Note: tlsproxy messages are ignored for now. 32 - Change: Section dnsblog primary sort key is now listing site. 33 - Fix: Some "improper command pipelining" log lines were unmatched 34 (section: smtpprotocolviolation). 35 - Fix: Ignore proxy-reject w/no SMTP reply code. Occurs after a queue file 36 size lmit exceeded warning by smtpd. 37 - New: Postfix 2.8.1 changes FCRDNS warning messages (section: hostnameverification). 38 See: http://article.gmane.org/gmane.mail.postfix.user/218112 39 - Internal: Removed remaining $re_IP in rblerror section, from v1.39.05. 40 - Thanks: Noel Jones, Tonio, Jase Thew, Alex, Michael Orlitzky 41 422010-11-12 (version: 1.39.05) 43 - Fix: Check input value to commify() against undef; required for perl 5.12. 44 Thanks: Michael Orlitzky 45 - Fix: Eliminate use of $re_IP, as it is too complicated, expensive, and did 46 not correctly match all valid IPv6 addresses. Note: one remains in 47 RBL lookup error section, as parsing out IP is nontrivial w/IPv6. 48 - Internal: Update URL to Sourceforge. 49 502010-03-23 (version: 1.39.04) 51 - Fix: Support Postfix 2.8's reject_rhsbl_reverse_client in RejectRBL. 52 Thanks: Noel Jones 53 542010-03-06 (version: 1.39.03) 55 - Fix: Support for reject_rhsbl_helo in RejectRBL section. 56 Thanks: Steve Bytnar 57 582010-03-03 (version: 1.39.02) 59 - Change: Merged section SaslAuthRelay into SaslAuth. The purported SASL 60 sender is now included after an existing SASL_username. 61 622010-03-02 (version: 1.39.01) 63 - New: Allow enabling/disabling the summary section in config file, using 64 var $postfix_Show_Summary and command line option --[no]summary. 65 Thanks: Benedikt Bohm 66 672010-01-11 (version: 1.39.00) 68 - New: Support 2.7 experimental branch logging: 69 + smtpd's proxy-reject: placed in standard reject sections. 70 + smtpd's proxy-accept: ignored. 71 + postfix/postscreen: new section 'postscreen'. 72 Note: memory intensive, so limiter is set to 1, showing only counts 73 of various postscreen result. 74 + postfix/dnsblog: new section 'dnsblog'. 75 Note: memory intensive, so limiter is set to 1, showing only a list 76 of DNSBL'd IPs. Disable this section by setting limiter to 0. 77 + postfix/verify: currently ignored 78 Thanks: Stefan Forster, Noel Jones 79 - New: Support 2.6 access(5) action BCC. New section 'bcced'. 80 - New: New option --[no]unknown to show/suppress output of hostname of 81 'unknown' in formatted ip/hostname pairs. Default: on. 82 - New: Updated postfix-logwatch.conf files to include instructions on how to 83 increase log scanning performance when not using policy services such as 84 policy-spf, etc. See "Performance Note" in the .conf files. 85 - Change/Fix: Warning sections 'ratelimit and 'concurrenclylimit merged into 86 a new, generic 'anvil' section, which includes all of anvil's various limit 87 exceeded messages. If you see errors after updating about these unknown 88 limiters, be sure to replace these two deprecated limiters with the new 89 one to your config file(s). 90 - Change: Use DSN from delivery verification probes as first level 91 key (section: 'deliverable'). 92 - Change: Replace databasegeneration section header 'Database file 93 needs update' with 'Database is older than source file', as per request 94 on the Postfix mailing list. 95 - Fix: Handle more, and restructure, SASL authentication failed messages. 96 Thanks: Stefan 97 - Fix: Ignore some smtpd cache lines; handle postmaster delay notifications. 98 Thanks: Gabriele Beltrame 99 - Fix: Handle more postfwd lines. 100 - Fix: Prevent useless level 3 ':' output in section 'saslauthfail'. 101 Thanks: Armin T�ting 102 - Fix: Corrected some typos in man page. 103 - Fix: Added missing Error section (how was this missed!). 104 - Fix: Handle unmatched milter-{reject,hold,discard} lines that do not 105 include smtpd envelope data. 106 - Fix: reduce memory footprint for Delays reports (~30Mb per 1Mb log file). 107 - Fix: performance increases. 108 1092009-07-14 (version: 1.38.01) 110 - Fix: RE typo caused policydweight lines to be unmatched. 111 - Fix: Reduce to-be-ignored RE list searching by moving most common 112 REs to head of the list. 113 1142009-07-10 (version: 1.38.00pre6) 115 - Fix: Handle Softfail and Temperror in pypolicyd-spf (PolicySPF). 116 postfix/policy-spf. Thanks: Chris Burton. 117 1182009-07-10 (version: 1.38.00pre5) 119 - Fix: Comment out extra OnlyService line in postfix-logwatch.conf* files, 120 leaving as a sample. The duplicate causes logwatch to filter out postgrey, 121 postfwd, and policyd-spf lines. Also include '-' in the RE to capture 122 postfix/policy-spf. Thanks: Malte Koestner, Chris Burton. 123 1242009-07-07 (version: 1.38.00pre4) 125 - New: Error and diagnostic output from non-postfix programs will be moved 126 into the WarningsOther section. 127 - Fix: Added Tarpit whitelisted to postgrey output. 128 - Fix: Handle additional output for pypolicyd-spf, postgrey, and postfix. 129 - Fix: Add policyd-spf to postfix_Syslog_Name and OnlyService. 130 Thanks: Chris Burton 131 - Fix: logic error which inadvertently incremented Notification Sent counter 132 on ignored postfix/bounce lines. 133 - Fix: Add -T to interpreter line (removed inadvertently to use perl debugger). 134 - Change: Remove 'postgrey' from default syslog_name. This only affects users 135 without a configuration file, where it is enabled by default. 136 1372009-07-06 (version: 1.38.00pre3) 138 - New: Handle pypolicyd-spf. Thanks: Chris Burton 139 - New: ConnectionInbound section shows IP/hostname. Disabled by default, 140 for performance reasons. Requested by: Jernej Porenta 141 - Change: MxErrors changed to DNSErrors, generalizing DNS lookup errors. 142 A beneficial side affect is the removal of the numerous DNS lookup 143 informational "warnings" from the top of the Summary section; they 144 can also, of course, be disabled in the Detailed section. 145 - Fix: Handle END-OF-MESSAGE stage in reject code. 146 1472009-07-02 (version: 1.38.00pre2) 148 - Fix: Remove debug print 149 - New: Section SMTP protocol violation (smtpprotocolviolation) 150 - Change: Removed section "toomanyerrors", merging it into new section 151 smtpprotocolviolation. 152 - Fix: Handle "improper command pipelining ..." messages in new section 153 smtpprotocolviolation. 154 - Fix: Ignore more debug lines and miscellaneous canonicalization. 155 1562009-06-29 (version: 1.38.00pre1) 157 - New: Support milter-hold (aka: "quarantine") and milter-discard lines. 158 Stats are located in "hold" and "discarded" sections, respectively. 159 Requested by: Gary Casterline; 160 - Fix: Perl v5.10 introduces tighter taint control in sprintf format 161 strings. Perform strict data checking on $Opts{'ipaddr_width'} to 162 untaint it, as it is used directly as an sprintf() field width specifier. 163 Thanks: Dudi Goldenberg 164 - Fix: Some Policy-SPF lines were unmatched, due to log format change 165 in Mail::SPF v2.006, which changed "identify=mfrom" to "identity=mailfrom". 166 Thanks: Chris Burton 167 - Fix: Resolved several bugs in the Policy-SPF module: some missing return 168 return statements, which for certain unmatched log lines would both add to 169 the Unmatched list and increment a PolicySPF hit counter; a few older 170 log lines would show blank IP addresses. 171 - Fix: Postgrey whitelisted lines that did not include a host IP address 172 were reported as unmatched. 173 - Fix: Relax email address capture in to=, orig_to=, and from= fields in 174 log lines. 175 - Fix: Better diagnostic when limiter level is not specified on 176 the command line using the --limit option. Eg: 177 "--limit rejectbody" v. "--limit rejectbody=10" 178 - Fix: Remove bogus --content_filter option from man page (feature not yet 179 implemented). Thanks: David DeFranco 180 - Fix: Better handle "Delivery temporarily suspended: conversation with xxx timed 181 out..." deferred messages. 182 - Fix: Handle multi-word XYZ in "blocked using XYZ" in RejectRBL. 183 Thanks: Sergey Pylinsky 184 - Fix: Ignore lines from postlog service. 185 - Change: Detail level now included in Detail title 186 - Internal: Support variable hash key lengths, but using the special key 187 sequence of two ASCII bell's ("\a\a"). This removes the existing 188 requirement that dummy keys must be used at the end of the %Counts 189 accumulator hash. 190 - Internal: Test data generation 191 1922008-10-21 (version: 1.37.08) 193 - Fix: Saslauth messages were not being detected if the only field in a 194 smtpd "client=..." line was "sasl_sender=". 195 1962008-10-20 (version: 1.37.07) 197 - New: Support "Temporary lookup failure" temporary rejects. New reject 198 limiter 'XXXrejectlookupfailure', where XXX is any of the set of 199 reject codes in effect. 200 - New: Support smtp_body_checks and smtp_*header_checks. 201 Requested by: Noel Jones 202 - Fix: Previous fix to support reload log line that includes postfix 203 version number broke previous postfix reload log lines. 204 Thanks: Armin T�ting 205 - Fix: Setting recipient_delimiter caused RE failure, due to missing 206 \Q \E quoting. Thanks: Armin T�ting 207 - Fix: BCC action support from 1.37.06 had a "if" vs. "elsif" typo. 208 Thanks: Noel Jones 209 - Fix: Allow postgrey filter to handle absent recipient= field. 210 Thanks: Alexander Kolesnik 211 - Fix: Limiters were not case insensitive on the command line. 212 - Fix: Use of bare reject limiters did not set each reply code variant of 213 the given limiter after using --nodetail, resulting in no output for the 214 given section. 215 - Fix: Change Logwatch's OnlyService variable in the postfix-logwatch.conf 216 file to also capture postfwd and postgrey. Thanks: Alex Schuilenburg 217 - Fix: Ignore more debug lines. 218 2192008-08-22 (version: 1.37.06) 220 - New: Handle message_reject_characters cleanup rejects. New reject 221 limiter 'XXXrejectcontent', where XXX is any of the set of reject 222 reply codes in effect. 223 - New: Support BCC action from 2.6 experimental branch. New limiter 224 'bcced'. 225 - Fix: Ignore "mapping DSN status" lines. 226 - Fix: Support reload log line including postfix version number. 227 Postfix snapshot 2.6-2008081 228 - Thanks: Noel Jones 229 - Fix: Ignore more debug lines. 230 2312008-08-19 (version: 1.37.05) 232 - New: Initial implementation of Postfwd reporting. 233 Requested by: Sahil Tandon 234 - Change: Undeliverable (address verification) section now 235 grouped by DSN, canonicalized host reply, domainpart, localpart, 236 and formatted host/hostip. This dramatically cleans up this 237 section's output for systems that perform many address verifications. 238 - Fix: Postgrey lines were being ignored due to change made to 239 implement Ignore_Service. 240 - Fix: handle "status=undeliverable-but-not-cached" address verification 241 response, which is coerced into a simple "status=undeliverable". 242 If there is any value in distinguishing the two status types, let me 243 known and I'll create a new limiter. Thanks: Gary Casterline 244 - Fix: missed conversion of keyword "next" to "return" in postfix_postsuper 245 routine after inline code was converted into the subroutine. 246 2472008-07-22 (version: 1.37.04) 248 - Fix: recognize "approximately" in TooManyErrors section messages 249 starting introduced in Postfix 2.6 20080621. Thanks: Noel Jones 250 - Fix: Reset to level 0 the inadvertently changed EnvelopeSenders 251 and EnvelopeSenderDomains (in postfix-logwatch.conf). 252 2532008-07-18 (version: 1.37.03) 254 - Change: TimeoutInbound will include byte count if available; 255 default level changed to 1 to reduce noise. 256 - Change: some additional canonicalization is performed on 257 various "host XXX said: yyy" messages in sections like Deferrals. 258 Much of the "said" verbiage from some large mail houses is redundant 259 or excessive, and causes additional memory consumption. If this 260 canonicalization presents problems, I may include an additional level 261 of detail to present the raw message. Feedback welcome. 262 - Fix: Supplemental sections could not be re-enabled after using 263 --nodetail. 264 - Fix: Handle some additional RejectRBL variants, esp. the 265 "day old bread" list (dob.sibl.support-intelligence.net). 266 Thanks: Michael Monnerie 267 - Fix: Present the remote MTAs reply code/DSN, if available, at the 268 beginning of canonicalized "host XXX said: yyy" messages. 269 Thanks: Jorey Bump 270 - Fix: Provide remote MTAs SMTP reply code/DSN if available 271 in various Delay, Deferral, etc. reports. Some additional 272 canonicalization is performed on various flavors of deferral 273 replies. 274 - Fix: recognize "approximately" in lost connection byte count 275 messages starting introduced in Postfix 2.6 20080621. 276 Thanks: Noel Jones 277 - Internal: Ignored lines are now placed into a list, instead of 278 hard coded into the code. In the future, this will allow users 279 to configure ignore patterns without making code modifications. 280 In doing this, I discovered and reported a bug in perl (#56202), 281 but worked around the problem. 282 - Internal: move postsuper, panic, and fatal message processing into 283 their own subroutines. 284 2852008-05-30 (version: 1.37.02) 286 - Change: Some changes in Delays report. Now includes total delay 287 time as reported in delivery agent log entry delay=x. Removed 288 leading numbers in row titles, and cleaned up the title names. 289 Also, reduced fields to 2 decimal places. 290 - New: By IP (permanent) Reject report controlled with ByIpRejects 291 limiter. Disabled by default. 292 - Fix: Two minor fixes to PolicydWeight module: it was not the required 293 importing inc_unmatched, and ignore diagnostic "master: ..." lines. 294 - Fix: Eliminate some extraneous newline output. 295 - Fix: Ignore more debug log lines. 296 2972008-05-09 (version: 1.37.01) 298 - Change: level limiters are no longer unique command line options, 299 but are now parameters to the single option "--level" or "-l". 300 This reduces the number of command line options in the help list, 301 and simplifies the code added to support reject_reply_patterns. 302 For example, the config file level limiter $postfix_Sent = 2, 303 the command line option would be --limit sent=2 or -l sent=2, 304 rather than the previous --sent=2. This also means the --no 305 variants for level limiters are gone (eg. --nosent; instead use 306 -l sent=0). There is no change within the configuration files. 307 Limiters can still be abbreviated so long as they are unambiguous. 308 - Change: Section connectionlostoverload is removed, by being merged 309 into connectionlostinbound. 310 - Change: PrematureEOI is now AttrError, broadened to include errors 311 reading attributes from services. 312 - New: Support RFC 4954 Enhanced status codes (postfix 2.5+). 313 - New: Report "status=deferred (bounce failed)" messages under 314 Summary section "Bounce failed". 315 - New: Support postfix 2.6+ check_reverse_client_hostname_access 316 Includes new reject config variable: RejectUnverifiedClient. 317 - New: option --line_style specifies how to handle lines lengths 318 longer than max_report_width. Options are "wrap", "full", or 319 "truncate" (default). The older --detail >= 11 is equivalent 320 to line_style=full; line_style=truncate or line_style=wrap has 321 higher precedence and will dictate how long lines are handled. 322 Alternative options are --truncate, --wrap, or --full. 323 - New: The beginnings of a Top N config file is provided in 324 postfix-logwatch.conf-topn. Suggestions and improvements welcome. 325 - New: single letter options for some long options; run with 326 --help to see list. More may be added in the future. 327 - New: Option --ignore_services (config var $postfix_Ignore_Services) 328 provides a mechanism to ignore postfix/SERVICE log lines, where 329 SERVICE is a regular expression pattern. 330 - Fix: Support Anonymous TLS in TlsServerConnect (postfix 2.5+). 331 - Fix: Ignore output from "postfix status" command (postfix 2.5+) 332 - Fix: Ignore more debug log lines. 333 - Fix: When postsuper held more than one message in a given call, 334 the Hold count shown in the Summary section indicated how many 335 messages were held, but the Detail section showed how many 336 postsuper calls were made. Thanks: Stefan Jakobs 337 - Fix: Postgrey sender and recipient fields improperly reported 338 - Fix: Allow ":unknown" as an acceptable port in smtpd's "client=..." 339 log lines. Occurs in pre-queue content_filter setup. 340 Thanks: Robert Brooks 341 - Fix: At detail > 10, log lines were truncated to max_report_width. 342 - Fix: Documentation cleanup. Thanks: Chris Pepper 343 - Fix: Relax capture RE for resent-message-id which may contain 344 < or > chars. Thanks: Stefan Jakobs 345 - Fix: Reason for deferral/bounce would sometimes be incorrectly 346 shown as unknown recipient. 347 - Fix: Better handle the trigger subject (SMTP_NAME_*) in discard, 348 filter, hold, redirect, and warn actions (eg. Client host, Sender 349 address, Recipient Address, Client certificate, etc.). 350 - Change: reduce length of some extended status codes for readability. 351 - Change: remove hard-coded "postgrey" from the syslog name pattern 352 matching code, and instead add it to the configuration variable 353 postfix_Syslog_Name. 354 - Internal: converted all Section key names to lowercase to avoid 355 silly case errors due to hash key case differences in Sections, 356 Opts, and Collecting hashes. 357 - Internal: debug output is now controlled by keywords. 358 3592008-05-09 (version: 1.36.13) 360 Final version skipped 361 3622008-01-14 (version: 1.36.13pre7) 363 - New: Support ETRN rejects (option: RejectEtrn). 364 - Fix: Include optional text in L1 output for header/body checks Hold 365 messages. 366 - Fix: Accept "unknown" as an IP in Connection rate limit messages. 367 Thanks: Stefan Jakobs 368 - Fix: Improve MxError captures 369 - Fix: Ignore "sql auxprop plugin ..." messages 370 - Fix: Ignore more debug_peer_level=2 messages 371 - Fix: Correct failure to ignore "connect to subsystem..." debug lines 372 - Fix: Add missing RejectVerify to config file 373 3742007-12-15 (version: 1.36.13pre6) 375 - Fix: in BounceLocal and EnvelopeSenderDomains, set null domain 376 and formatted host to '*unknown'. 377 - Fix: Move postfix_warning before postfix_cleanup, as some cleanup 378 warnings were caught as unmatched. 379 - Fix: An Accepted message is now triggered by smtpd "client=..." 380 and pickup "uid=..." log entries, instead of qmgr's "from=xxx, 381 size=nnn, nrcpt=nnn" log lines. A message may have been accepted 382 during a previous time period, but delivery delays result in 383 multiple qmgr delivery attempts, resulting in over counting 384 Accepted messages. Thanks: Stefan Jakobs 385 - New: Bytes delivered is now broken down by Bytes sent via SMTP, 386 LMTP, and forwarded, to be orthogonal with message counts. 387 - Fix: Resent messages no longer reduce the number of messages 388 accepted - this was a naive attempt at not counting, for example, 389 messages released and re-queued from a content filter's quarantine. 390 3912007-11-14 (version: 1.36.13pre5) 392 - New: Threshold limiting and Top N lists for every level in each 393 Detail section. Every level in each section can now be limited 394 with minimum count thresholds and top N lists. See the updated 395 README file, the comments in the postfix-logwatch.conf file, and 396 the new postfix-logwatch man page. Requested by: Pavel Urban 397 - New: Rejects can now be categorized by reject reply code. A new 398 option/variable "reject_reply_patterns" is a list of reject reply 399 code regular expressions, which are used for categorizing rejects. 400 This feature allows, for example, distinguishing 421 transmission 401 channel closes from 45x errors. (eg. 450 mailbox unavailable, 451 402 local processing errors, 452 insufficient storage). The default 403 list is: "5.. 4.. Warn" which creates three groups of rejects: 404 permanent rejects, temporary failures, and reject warnings (as in 405 warn_if_reject). Requested by: Noel Jones 406 - New: postfix-logwatch man page created (net yet complete) 407 - New: Support for all access(5) actions. See the "Level Limiter 408 Options" section in the postfix-logwatch(1) man page, and "Common 409 access control actions" in postfix-logwatch.conf. 410 - New: Added envelope senders and envelope sender domains reports. 411 These are disabled by default. Enable with level limiter options 412 --envelopesenders 1 and --envelopesenderdomains 1 (or 2 to 413 also see senders listed under domains). See also the 414 postfix-logwatch.conf file. Suggested by: Brendan 415 - Change: Uncomment all variables in the config file. This should 416 help ensure the variables in the config file stay in sync with 417 those used in the source. 418 - Change: Merged sections SenderDelayNotification, DSNDelivered, and 419 DSNUndelivered into NotificationSent, with sub-sections indicating 420 the type of notification. This gives the total number of sent 421 notifications in the Summary section, and the breakdown by type 422 of notification in the Detailed section. 423 - Change: Removed "msgs" prefix from several options: msgsdeferred, 424 msgsdelivered, msgsforwarded, msgsresent, msgssent, and msgssentlmtp 425 are now deferred, delivered, forwarded, resent, sent and sentlmtp. 426 The old options are still usable. 427 - Change: force --help output to 80 chars. 428 - Change: Taint mode is now on by default in standalone mode. It is 429 disabled upon installation in logwatch mode, as logwatch fails with 430 taint mode enabled. 431 - Change: Set the primary key in tlsserverconnect/tlsclientconnect 432 options to type/cipher to reduce excessive level 2 output. 433 - Change: Reported values that cannot be determined or are unavailable 434 are prefixed with an asterisk (Eg. *unknown, *unspecified). 435 - Change: Warn section title 'Warn action logged' changed simply to 436 "Warned", to be consistent with other access/header_ and body_checks. 437 The option is --warned, but --warn is still acceptable. 438 - Fix: Significantly reduce memory footprint when detail < 5. 439 - Fix: Usage and --help now correctly show only detail section 440 level limiter options that are available. Previously, summary- 441 only counts were also display as level limiter options. 442 - Fix: "too many errors after DATA" and "timeout after DATA" may 443 include a byte count, as in "(348 bytes)". Thanks: John Beaver 444 - Fix: Ignore postgrey 'delayed ...' lines 445 - Fix: Allow logwatch --debug option to pass into postfix-logwatch 446 - Fix: configuration file reading code was not properly warning on 447 non-existent files 448 - Fix: "filter" actions were incremented on "redirect" actions 449 - Fix: Give more room to percentiles in delays percentiles table. 450 A 5 day delay is 432000.000 seconds, and the previous table width 451 was not sufficient. 452 - Fix: --show_sect_vars command line option inadvertently required an 453 argument; the name has been shortened to --sect_vars/--nosect_vars 454 and correctly no longer requires an argument. The longer names 455 --[no]show_sect_vars work as well. Thanks: Noel Jones 456 - Fix: Handle some unmatched connect to failures in section 457 ConnectToFailure. Cleanup and consolidate several similar messages; 458 add additional detail at level 3. 459 - Fix: Increment postsuper Hold messages by the number of messages 460 placed on hold. 461 - Fix: Add "non-ESMTP response ..." messages to SmtpConversationError. 462 First level is now the general SMTP error description. 463 - Internal: Converted source to be package-based to allow code sharing 464 with amavis-logwatch. The single-file executable is auto-generated 465 from the packages. 466 - Internal: internal gen_test_log function to create sample log data 467 for testing. Reads '#TD' comments from within postfix-logwatch. 468 4692007-10-16 (version: 1.36.13pre4) 470 - Fix: Handle messages "SSL_connect error to example.com: 0" and 471 "Cannot start TLS: handshake failure" by coercing into warnings 472 Thanks: Rob Sterenborg 473 4742007-10-15 (version: 1.36.13pre3) 475 - Fix: Handle "postmaster" DSNs 476 - Fix: Handle "discarding EHLO keywords:" (ignored) 477 - Internal: create bounce subroutine to handle bounce messages 478 4792007-10-05 (version: 1.36.13pre2) 480 - New: Initial support for postgrey (http://postgrey.schweikert.ch/) 481 Requested by: Sebastian Wolfgarten 482 4832007-10-05 (version: 1.36.13pre1) 484 - New: Support for policy-spf software postfix-policyd-spf-perl 485 Requested by: Nicodemo P. and Rob Sterenborg 486 4872007-10-05 (version: 1.36.12) 488 - New: support postfix 2.5 log changes (20071004, 20071003) 489 - Incompatible Change: Config variable/command line option name change: 490 * WarningHeader changed to Warn 491 * MsgsRedirected changed to Redirected 492 * ConnectionLost split into ConnectionLost{Inbound,Outbound} 493 - Incompatible Change: Distinguish inbound (smtpd) vs. outbound (smtp), 494 which replaces ConnectionsLost with ConnectionsLostInbound and 495 ConnectionsLostOutbound. ConnectionsLostInbound includes number of 496 bytes received if the connection was lost during DATA. Encouraged by 497 2.5 20071003 change in logging. 498 - New: Support for all header_checks(5)/body_checks(5) actions. See 499 also postfix-logwatch.conf for "Common access control actions" 500 - New: Option show_sect_vars shows names of section configuration 501 variables/command line options in titles of detailed report sections. 502 This allows easy correlation of corresponding configuration file 503 variables/command line option for each section. [ Default: 0 ] 504 - Fix: catch postsuper's pluralized form of Delete message"s". 505 - New: handle "cannot load Certificate Authority data" as Misc. warning 506 - Fix: Makefile: no -D option to install in FreeBSD. Use -d instead 507 - Change: ConnectionLostInbound now defaults to level 1 only 508 - Internal: Numerous code cleanups, re-factoring and restructuring 509 - Internal: Test data migrating to include the correct postfix service, as 510 internal code moves towards using the service name as an initial log 511 line match qualifier 512 5132007-09-13 (version: 1.36.11) 514 - Incompatible Change: All TempRejectXXX and RejectWarnXXX options/config vars 515 have been renamed for easier identification in the code, and consistency. 516 Now, all Reject variants look like RejectXXXyyy, where XXX is the 517 given reject name (Helo, RBL, etc), and yyy is the optional reject type 518 of "Warn" (warn_if_reject) or "Temp" (4xx temporary rejects). 519 For example, the previously named RejectRelay, RejectWarnRelay and 520 TempRejectRelay are now named RejectRelay, RejectRelayWarn and RejectRelayTemp. 521 See the usage information or the .conf file to see the list. 522 - Fix: A %Counts accumulator must use the same number of keys consistently. 523 This error caused some totals to be wildly incorrect, and the fatal perl error: 524 "Can't use string ("XXX") as a HASH ref while "strict refs" in use ..." 525 Fortunately, this error only occurred with a specific set of data, which 526 seemed not too common. 527 - Fix: remove Temp and Warn variants of RejectHeader and RejectBody - they 528 don't exist. 529 - Fix: Add Temp variant of RejectMilter 530 - New: Add ProcessLimit section for 2.5 stress messages 531 - New: accommodate postfix patch which also logs HELO name in smtpd's 532 "QID: client=..." log entries. 533 - Thanks: Noel Jones 534 5352007-09-09 (version: 1.36.10) 536 - New: handle "reject: DATA from ... <DATA>: Data command rejected: ..." 537 - New: ignore "fingerprint=20:..." lines 538 - Thanks Farkas Levente 539 5402007-09-01 (version: 1.36.9) 541 - Fix: remove rooted path in md5 file 542 - Fix: Makefile install-logwatch rule was missing a parenthesis 543 - Fix: Makefile updates from Till Mass 544 5452007-08-31 (version: 1.36.8) 546 - Change: Include GPLv2 license 547 - Change: Include version number in tarball file name 548 - Internal: Move CVS log comments to Changes file 549 5502007-08-31 (version: 1.36.7) 551 - Fix: capture older postfix RCPT from RBL reject entries. Thanks 552 Hugo van der Kooij 553 5542007-08-15 (version: 1.36.6) 555 - Changed: for sorting purposes, lowercase localpart of rejected email addresses 556 - Change: Output help and version info on STDOUT for easier pipelines to a pager 557 - New: option --nodetail zeros out all detail levels, to more easily obtain 558 only specified detailed reports (eg: --nodetail --rejecthelo 1) will 559 only show a list of rejected HELOs in the details section. 560 - New: option --nosummary disables the summary section 561 - New: detailed section command line arguments can now be specified with the 562 prefix "no", to set the level to 0 (eg. --nomsgssent is equivalent to 563 --msgssent 0). 564 - Internal: split printReports into printSummaryReport and printDetailReport 565 - Internal: change variable Formats to the more obvious named Sections 566 5672007-08-03 (version: 1.36.5) 568 - Changed: rejected addresses collected by domain, then localpart 569 - New: delay percentiles report. Config vars: show_delays and 570 delays_percentiles; command line --[no]delays 571 - Fix: Yes/True and No/False config values weren't being read properly 572 in standalone 573 5742007-08-01 (version: 1.36.4) 575 - New: option --config_file allows specifying a configuration file via 576 command line. Options in configuration file act as though they were 577 set on the command line in order, with earlier settings being over- 578 ridden by most recent settings. Multiple config_file options may 579 be specified. 580 - Change: Summary title includes syslog_name in standalone mode 581 - Change: Remove some extraneous newlines 582 5832007-07-24 (version: 1.36.3) 584 - Refine anvil connection rate exceeded messages 585 5862007-07-13 (version: 1.36.2) 587 - Support FreeBSD (<facility.priority> precedes hostname in syslog) 588 - Thanks Clemens Fischer 589 5902007-07-10 591 - Ignore "nss_ldap: reconnected to LDAP server ..." 592 - Handle "discard: header/body: messages 593 - Thanks Jay Chandler 594 5952007-07-03 596 - Corrected some minor typos 597 5982007-06-08 599 - Changed titles shown for sender notifications of (non-)delivery 600 and delay 601 - Corrected some incorrect config file variable names. Thanks: Nicolas 602 6032007-06-02 604 - Do not strip <> when address is '<>' in Illegal address syntax 605 6062007-06-01 607 - Changed warning output for smtpd messages: 608 "lost connection after CONNECT from unknown[unknown]". 609 Previous warning erroneously attributed this to pre-queue content 610 filter overloads, but the problem indicates a more general 611 smtpd overload. 612 6132007-05-31 614 - Fix bug which caused config file to be required in standalone mode 615 6162007-05-30 617 - Support delay_reject=no (debian: 426726) 618 - Ignore additional unmatched TLS debug messages 619 - Initial support for redirect messages 620 - Some corrected typos 621 - Thanks Jusin Pryzby 622 6232007-05-25 624 - Experimental: syntax to limit Top N level 1 output lines. Variables 625 that control depth levels in detailed reports can be specified as 626 m.n, where m is the maximum level to output, and n specifies the number 627 of level 1 items output. Eg: $postfix_MsgsSent=2.10, will output 628 the top 10 level 1 items, with each item providing 2 levels of detail. 629 - Protect interpolated recipient addresses in cleanhostreply with \Q \E 630 e Add zero-width assertions and use strict IP RE in bycount sort subroutine 631 to match IP addresses more reliably 632 6332007-05-09 634 - Ignore a few more policydweigh child or cache entries 635 - Escape metacharacters from being interpreted in recipient_delimiter 636 - Never split mailer-daemon, double-bounce, or when recipient_delimiter 637 is a "-" (dash) never split owner- or -request localparts 638 6392007-05-08 640 - Support for running in standalone mode (independent of logwatch) 641 - Renamed script to "postfix-logwatch" to avoid confusion when running 642 in standalone mode. See the README. 643 - Add relay=virtual to "local" class for local vs. remote bounces 644 6452007-05-07 646 - Handle and report postfix/policydweight lines (postfix_PolicydWeight) 647 - Handle and report Host offered STARTTLS lines 648 - Generalize "maildrop: Unable to create a dot-lock at <path>" messages 649 - Corrected typo that prevented fatal errors from being output 650 6512007-04-26 652 - Consolidate similar MX errors 653 - set IP address to 127.0.0.1 when from=local, and reporting both host/hostip 654 - More cleanup (re-factor common code, replace most global variables with lexicals, 655 lowercase non-global variable names, shorten variable names, etc.) 656 - Capture postsuper hold messages 657 6582007-04-25 659 - Support postfix 2.5 TLS message changes (smtpd_tls_loglevel > 0) 660 - Move 4xx temporary rejects into their own section (experimental feature) 661 6622007-04-18 663 - Allow for hold messages that do not contain a recipient (Thanks John Wilcock) 664 6652007-03-26 666 - Lowercase recipient addresses in several Reject sections 667 6682007-03-22 669 - Accept spf.pobox.com URLs in Reject recipient address 670 6712007-03-21 672 - Handle spf lines from older version of postfix-spf, and spf.pobox.com URLs 673 6742007-03-20 675 - Capture and report postfix-spf lines 676 - New config variable postfix_PolicySPF 677 6782007-03-13 679 - Capture and report reject_unknown_reverse_client_hostname. 680 Thanks Michael M. 681 6822007-03-09 683 - Capture and report as config warning: "looking for plugins" NSF error 684 6852007-03-03 686 - fix reject header|body RE to allow "local" as host/ip 687 - really ignore lines that don't match SyslogName; 688 - add inc_unmatched subroutine for easier debug of unmatched lines 689 6902007-02-27 691 - Capture and summarize postfix-script output (starts, stops, refresh, etc.) 692 - Remove redundant chomps 693 6942007-02-26 695 - Fix problem in sort routine where IP addresses were being captured 696 anywhere in an output line for comparison via pack 'C4' - only 697 attempt IP comparison if an IP address is the start of an output line 698 Thanks: Ian 699 - Provide support for syslog_name in Postfix 2.4 via postfix.conf 700 variable postfix_Syslog_Name 701 - Classify PIX workarounds based on type (there are several) 702 - Change summary output criteria to check for any non-zero Totals 703 7042007-02-25 705 - Do not interpolate log lines into printf; they may contain % chars 706 7072007-02-17 708 - Ensure no output occurs when nothing is captured 709 7102007-02-15 711 - Place recipients and senders in their own keys, instead of combined 712 7132007-02-14 714 - Fix countdown bug in Deliveries, as ncrpt does not account for always_bcc 715 7162007-02-14 717 - Make reject and warn_if_reject distinct sections 718 - Track Qids to properly report messages and bytes sent / accepted 719 - Also track messages deferred (each of which may have many deferrals) 720 - Consider reject VRFY a reject and accumulate in reject totals 721 - Move header/body reject code in with the rest of the reject code 722 - Move 'MAIL from' reject code in with the rest of the reject code 723 - Remove unused variable 724 - Print row heading separator lines only when appropriate 725 - Move printing of report headings into printReports 726 - Change Sent header to Sent via SMTP (orthogonal to Sent via LMTP) 727 7282007-02-09 729 - Better processing of remote server "host...said" replies 730 - Made maximum report width configurable in postfix.conf 731 - All lines in report now obey max report width 732 7332007-02-07 734 - Changed all From -> To lines to To <- From. From address is often bogus 735 and To is more interesting to see. 736 7372007-02-06 738 - Added new configuration variable "postfix_Recipient_Delimiter", which 739 can be set to match the postfix variable "recipient_delimiter". 740 When set, allows Delivered and Sent reports to be grouped by 741 email addresses minus their address extension. 742 - Liberalized the RE for capturing VFRY rejects 743 - Reverted change of primary SASL authenticated messages; primary 744 key is once again User, followed by Method. Unknown is reported 745 when these keys are not available. 746 - Created a SASL authenticated relayed messages which hits with 747 sasl_sender is present in smtpd messages 748 - Split orig_to email addresses into a subkey. Allows reports 749 to be grouped by primary "to" address, instead of various aliases. 750 - Move Host/HostIP into their own keys for Bounce Remote section 751 - For Pix Workaround section, format HostIP / Host the same as others 752 - Add 'o' option where missing in REs 753 - Fix configuration variable importing 754 7552007-02-03 756 - Added VFRY reject section 757 - Changed primary key for SASL authentication section to IP/hostname, 758 as any of sasl_{method,sender,user} may be absent 759 - Added RFC 3463 DSN code messages to bounce/deferred sections 760 - More parsing of various "host...said" remote server messages 761 - Add Sent via LMTP section, removing lmtp-delivered mail out of Delivered. 762 Allows users with lmtp-based content filters to avoid double counting 763 (but only for message counts; byte counts are still about 50% too large). 764 Config variable postfix_MsgsSentLmtp controls display 765 7662007-01-28 767 - Added pre-queue content-filter overload section 768 - Reworked Bounce (local/remote) and Deferred sections 769 - Fixed several reversed captures of Host and HostIP 770 - Format Host and HostIP in Numeric hostname section 771 - Thanks: Mike Horwath 772 7732007-01-28 774 - Made Reason the primary key in Deliverable/Undeliverable 'sendmail -bv' tests 775 - Modified re_DSN RE to capture DSNs missing 3 number response code 776 - Enhanced SASL authenticated messages to capture missing log lines 777 - Added milter-reject section 778 - Updated 'Reject server configuration error' RE for older postfix versions 779 - Fix copy/paste error which caused use of incorrect variable in bad size limit 780 - Add Concurrency limit reached section 781 - Add "maildrop" to the list of relay's considered local in Bounce section 782 7832007-01-23 784 - Aggregate recipient/sender address verification lines (Thanks Harald Geiger) 785 - Uppercase message in reject recipient section 786 7872007-01-22 788 - Update REs to allow null sender in sender addresses 789 7902007-01-19 791 - Capture and summarize "triggers FILTER" messages (Thanks Eray Aslan) 792 - Fix overly permissive Server configuration error RE (Thanks Harald Geiger) 793 - Add "Server configuration error" rejects to Reject totals 794 - Add "Insufficient system storage" rejects to Reject totals 795 - Make RejectSize report consistent with others 796 7972007-01-17 798 - Update IP RE to support IPV6 (Thanks Harald Geiger) 799 - Aggregate reject recipient address caused by SPF (Thanks Harald Geiger) 800 8012007-01-16 802 - Made Reject HELO/EHLO report consistent with others: demoted Helo=xxx 803 string (Thanks: Jorey Bump) 804 - Fixed incorrect TotalRejects summation (typo) 805 - "Accepted" / "Rejected" summation is no longer based on "Connection"; 806 now Total = Accepted + Rejected 807 * Client may or may not close connection properly after reject 808 * Multiple rejects for single connection can occur 809 - ConnectToFailure header incorrectly indicated connection was "inbound" 810 - Included Makefile for ease of installation during this testing phase (Thanks: Jorey Bump) 811 8122006-12-16 813 - Add pcre map warnings 814 - Reordered headings to produce more obvious correlation with percentage breakdowns 815 - Second key sort is now the illegal address in illegal address in SMTP command 816 - More optimization of log entry capturing 817 - Added Sent category capturing outbound SMTP connections 818 requires modified /usr/share/logwatch/default.conf/services/postfix.conf or 819 /etc/logwatch/conf/services/postfix.con 820 - Added ability to control max print depth on a per section basis 821 - Renamed Received to Accepted (to indicate accepted for delivery, and better opposite of Reject) 822 NOTE: Accepted shows less than that of pflogsumm's Received, which incorrectly 823 increments rejected messages 824 - Reduce Accepted by Deferred and Resent, which cause double counting 825 - Removed erroneous a-z in RE for capturing QIDs 826 - Added Panic section for postfix panic messages 827 - Fixed bug which failed to increment watchdog timers 828 - Started work on better debug capability 829 8302006-12-13 831 - Removed extra blank line for Detail <= 5 832 - Filter many more debug lines 833 - Catch and group additional warning and fatal messages 834 8352006-12-12 836- Made reject header/body output consistent with each other 837- Sort reject header/body first by recipient address, for tighter groupings - reject reason is typically random 838- Trimmed excess whitespace in reject header/body reasons 839- Added extra line between level 1 headings 840- Group SASL authenticated messages by sasl_username 841- Filter TLS and SASL debug messages (smtpd_tls_loglevel = 2) 842 843Rewrite by Mike Cappella (MrC) 844Revision 1.29 2007/01/27 20:21:46 mrc 845 - Provide more useful information and summaries 846 - Provide increasing detail as requested via --detail 847 - Provide ability to configure per section maximum detail 848 - Optimize and combine the numerous REs 849 - Capture and summarize many more log lines 850 - Pin important errors to top of report 851 - Sort by hits, IP, and lexically 852 - Handle IPv6 addresses 853 - Generalize log line capturing and reporting 854 - Eliminate excessive copy/paste reporting code 855 - Requires updated postfix.conf file 856 - Thanks: Eray Aslan, Jorey Bump, Harald Geiger, Bill Hudacek, 857 Frederic Jacquet, Geert Janssens, Leon Kolchinsky, Rob Myroon 858 859Revision 1.28 2006/12/15 06:24:49 bjorn 860Filtering "sender non-delivery notification", by Ivana Varekova. 861 862Revision 1.27 2006/12/15 05:00:41 bjorn 863Filter all held message logs, by Hugo van der Kooij. 864 865Revision 1.26 2006/10/20 16:51:50 bjorn 866Additional matching of sasl messages, by Willi Mann. 867 868Revision 1.25 2006/08/13 21:25:55 bjorn 869Updates to work with the Postfix 2.3.x series (due to log format changes), 870by Mike Cappella. 871 872Revision 1.24 2006/03/22 17:43:46 bjorn 873Changes by Harald Geiger: 874- ignore additional statistics: messages (Postfix 2.2) 875- replaced several 5xx Codes by [0-9]+ 876 (main reason is to make them match on 4xx if in soft_bounce=yes mode) 877- a more generic "Client host rejected" reporting 878- changed "Messages rejected:" to "Messages rejected from sender:" 879 880Revision 1.23 2005/12/19 15:47:47 bjorn 881Updates from Mike Cappella: 882 - Catches some of the Unknown Users messages from newer versions of postfix 883 - Consolidates a couple of REs 884 - Adds a cumulative total to each of the Unknown users and Header content rejection headers 885 - Adds a Body content rejection section 886 887Revision 1.22 2005/11/22 18:30:47 bjorn 888Detecting 'virtual alias table', by Kevin Old. 889 890Revision 1.21 2005/08/23 23:54:38 mike 891Fixed typo probably from Roland Hermans -mgt 892 893Revision 1.20 2005/07/25 22:26:28 bjorn 894Added "Sender address" to "554 Service unavailable" regexp, by Who Knows 895 896Revision 1.19 2005/04/22 13:48:28 bjorn 897This patch catches (un)deliverable messages and many more, which were 898missing until now on mu new postfix-2.1.*, from Paweł Gołaszewski 899 900Revision 1.18 2005/04/17 23:12:28 bjorn 901Patches from Peter Bieringer and Willi Mann: ignoring more lines and 902some blank spaces 903 904Revision 1.17 2005/02/24 17:08:05 kirk 905Applying consolidated patches from Mike Tremaine 906 907Revision 1.7 2005/02/16 00:43:28 mgt 908Added #vi tag to everything, updated ignore.conf with comments, 909added emerge and netopia to the tree from Laurent -mgt 910 911Revision 1.6 2005/02/13 23:50:42 mgt 912Tons of patches from Pawel and PLD Linux folks...Thanks! -mgt 913 914Revision 1.5 2004/10/06 21:42:53 mgt 915patches from Pawel quien-sabe -mgt 916 917Revision 1.4 2004/07/29 19:33:29 mgt 918Chmod and removed perl call -mgt 919 920Revision 1.3 2004/07/10 01:54:35 mgt 921sync with kirk -mgt 922 923Revision 1.13 2004/06/23 15:01:17 kirk 924- Added more patches from blues@ds.pg.gda.pl 925 926Revision 1.12 2004/06/21 14:59:05 kirk 927Added tons of patches from Pawe? Go?aszewski" <blues@ds.pg.gda.pl> 928Thanks, as always! 929 930Revision 1.11 2004/06/21 13:42:02 kirk 931From: Matthew Wise <matt@oatsystems.com> 932This is more of a suggestion than a true patch submission. On a busy 933postfix server the messages sent by section is really long and not 934helpful. This patch finds and lists the top 10 senders by number of 935messages. 936 937Revision 1.10 2004/06/21 13:41:04 kirk 938Patch from rod@nayfield.com 939 940Revision 1.9.1 2004/02/22 16:44:01 rod 941Added patch from rod@nayfield.com 942 943Revision 1.9 2004/02/03 03:25:02 kirk 944Added patch from quien-sabe@metaorg.com 945 946Revision 1.8 2004/02/03 02:45:26 kirk 947Tons of patches, and new 'oidentd' and 'shaperd' filters from 948Pawe? Go?aszewski" <blues@ds.pg.gda.pl> 949 950Revision 1.7 2003/12/15 18:35:03 kirk 951Tons of patches from blues@ds.pg.gda.pl 952 953Revision 1.6 2003/12/15 18:09:23 kirk 954Added standard vi formatting commands at the bottom of all files. 955Applied many patches from blues@ds.pg.gda.pl 956 957Revision 1.5 2003/12/15 17:45:09 kirk 958Added clamAV update log filter from lars@spinn.dk 959 960Revision 1.4 2003/11/26 14:36:30 kirk 961Applied patch from blues@ds.pg.gda.pl 962 963Revision 1.3 2003/11/18 14:04:05 kirk 964More patches from blues@ds.pg.gda.pl 965 966Revision 1.2 2003/11/18 04:02:21 kirk 967Patch from blues@ds.pg.gda.pl 968 969Revision 1.1 2003/11/03 04:49:18 kirk 970Added postfix filter from Sven Conrad <sconrad@receptec.net> 971 972Revision 1.1 2002/03/29 15:32:14 kirk 973Added some filters found in RH's release 974 975Revision ??? 2000/07/12 Simon Liddington <sjl@zepler.org> 976converted from sendmail to postfix Sven Conrad <scon@gmx.net> 977added unknown users, relay denials 978 979Revision 1.1 2003/03/21 21:10 sven 980Initial revision 981filters all postfix/<process> messages 982