]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.3-20051104
authorWietse Venema <wietse@porcupine.org>
Fri, 4 Nov 2005 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:31:35 +0000 (06:31 +0000)
43 files changed:
postfix/HISTORY
postfix/RELEASE_NOTES
postfix/html/cleanup.8.html
postfix/html/discard.8.html
postfix/html/error.8.html
postfix/html/lmtp.8.html
postfix/html/local.8.html
postfix/html/oqmgr.8.html
postfix/html/pipe.8.html
postfix/html/postconf.5.html
postfix/html/qmgr.8.html
postfix/html/smtp.8.html
postfix/html/virtual.8.html
postfix/man/man5/postconf.5
postfix/man/man8/cleanup.8
postfix/man/man8/discard.8
postfix/man/man8/error.8
postfix/man/man8/lmtp.8
postfix/man/man8/local.8
postfix/man/man8/oqmgr.8
postfix/man/man8/pipe.8
postfix/man/man8/qmgr.8
postfix/man/man8/smtp.8
postfix/man/man8/virtual.8
postfix/mantools/postlink
postfix/proto/postconf.proto
postfix/src/cleanup/cleanup.c
postfix/src/discard/discard.c
postfix/src/error/error.c
postfix/src/global/Makefile.in
postfix/src/global/log_adhoc.c
postfix/src/global/mail_params.c
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/global/msg_stats_print.c
postfix/src/global/msg_stats_scan.c
postfix/src/lmtp/lmtp.c
postfix/src/local/local.c
postfix/src/oqmgr/qmgr.c
postfix/src/pipe/pipe.c
postfix/src/qmgr/qmgr.c
postfix/src/smtp/smtp.c
postfix/src/virtual/virtual.c

index fc583f8ebf5d350ff6e87f7d6021eb3fd8786d90..b40bd193ef63f97c892c7c4b61575e49a1ef83dd 100644 (file)
@@ -11277,13 +11277,14 @@ Apologies for any names omitted.
        Completion of support for time stamps from different stages
        of message delivery. The information is now logged as
        "delays=a/b/c/d" where a=time before queue manager, b=time
-       in queue manager, c=connection setup time, d=message
-       transmission time. Unlike Victor's example which used time
-       differences, this implementation uses absolute times. The
-       decision of what numbers to subtract actually depends on
-       program history, so we want to do it in one place.  Files:
-       global/log_adhoc.c, smtp/smtp_connect.c, smtp/smtp_proto.c,
-       smtp/smtp_trouble.c, lmtp/lmtp_proto.c, lmtp/lmtp_trouble.c.
+       in queue manager, c=connection setup including HELO and
+       TLS, d=message transmission time. Unlike Victor's example
+       which used time differences, this implementation uses
+       absolute times. The decision of what numbers to subtract
+       actually depends on program history, so we want to do it
+       in one place.  Files: global/log_adhoc.c, smtp/smtp_connect.c,
+       smtp/smtp_proto.c, smtp/smtp_trouble.c, lmtp/lmtp_proto.c,
+       lmtp/lmtp_trouble.c.
 
 20051103
 
@@ -11294,6 +11295,13 @@ Apologies for any names omitted.
        second. Files: *qmgr/qmgr_deliver.c, global/deliver_request.c,
        global/log_adhoc.c.
 
+20051104
+
+       New parameter delay_logging_time_resolution (default: 10000
+       microseconds, or 0.01 second) that controls the detail in
+       the new "delays=a/b/c/d" logging. Specify a power of 10
+       in the range from 1 to 100000. File: global/log_adhoc.c.
+
 Open problems:
 
        Is it safe to cache a connection after it has been used
index fa4d681c0b5e7811a042e6154153b4f668e9533b..cdc3fa4eb1c3e48eea600c97cb414d9268f91088 100644 (file)
@@ -42,7 +42,7 @@ Postfix logfile records.
 detailed logging of delays in various stages of message delivery.
 Postfix logs additional delay information as "delays=a/b/c/d" where
 a=time before queue manager, b=time in queue manager, c=connection
-setup time, d=message transmission time.
+setup time including HELO and TLS, d=message transmission time.
 
 - Logging of the connection reuse count when SMTP connections are
 used for more than one message delivery.  This information is needed
@@ -50,6 +50,18 @@ because Postfix can now reuse connections hundreds of times or more,
 and can help to diagnose interoperability problems with servers
 that suffer from memory leaks or other resource leaks.
 
+At this point the Postfix logging for a recipient looks like this:
+
+    Nov  3 16:04:31 myname postfix/smtp[30840]: 19B6B2900FE:
+    to=<wietse@test.example.com>, orig_to=<wietse@test>,
+    relay=mail.example.com[1.2.3.4], conn_use=2, delay=0,
+    delays=0/0.01/0.05/0.1, dsn=2.0.0, status=sent (250 2.0.0 Ok)
+
+The following two logfile fields may or may not be present:
+
+    orig_to     This is omitted when the address did not change.
+    conn_use    This is omitted when a connection is used once.
+
 Incompatibility with snapshot 20051026
 ======================================
 
index a0b5b8964ea07316a11e1cea003d6f70e52d8a17..11c472408d8fbfc35f49cbb2eece2ea1f2573f98 100644 (file)
@@ -322,6 +322,11 @@ CLEANUP(8)                                                          CLEANUP(8)
               handle  a  request  before  it  is  terminated by a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The time resolution (microseconds) of the  sub-sec-
+              ond  delay  values  that  are logged for subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a> (0h)</b>
               The time after which the sender receives  the  mes-
               sage headers of mail that is still queued.
index 1106eba208004ee66ac205ab424876daa976d0e2..87a1d1f8b41443dbe045931d6fee6c475ceb8790 100644 (file)
@@ -63,6 +63,11 @@ DISCARD(8)                                                          DISCARD(8)
               handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The  time resolution (microseconds) of the sub-sec-
+              ond delay values that  are  logged  for  subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a> (double-bounce)</b>
               The sender address of postmaster notifications that
               are generated by the mail system.
index c70ff5f0196e5f431438da69e596482d337a359e..0e085182ec4a7de0d57563a4e9b497680f1eeec5 100644 (file)
@@ -73,6 +73,11 @@ ERROR(8)                                                              ERROR(8)
               handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The  time resolution (microseconds) of the sub-sec-
+              ond delay values that  are  logged  for  subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a> (double-bounce)</b>
               The sender address of postmaster notifications that
               are generated by the mail system.
index 1802920c34d93853d7368c7610a02a3d8c1d2644..107312ea31b1678b4674fdaa73865c94287033cf 100644 (file)
@@ -217,6 +217,11 @@ LMTP(8)                                                                LMTP(8)
               handle  a  request  before  it  is  terminated by a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The time resolution (microseconds) of the  sub-sec-
+              ond  delay  values  that  are logged for subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> (no)</b>
               Disable DNS lookups in the Postfix  SMTP  and  LMTP
               clients.
index 344e4613b8b9631719d5b2041965ac03ea66c2c8..42cb05ce9e41db44d3e17194d2bc8cf5b74ab7a0 100644 (file)
@@ -521,6 +521,11 @@ LOCAL(8)                                                              LOCAL(8)
               handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The  time resolution (microseconds) of the sub-sec-
+              ond delay values that  are  logged  for  subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#export_environment">export_environment</a> (see 'postconf -d' output)</b>
               The  list  of  environment variables that a Postfix
               process will export to non-Postfix processes.
index c0429054f141862c42a541faf0501f4c6d1ea706..2c8de10eb6fb6564495f0d0a73fdd880f4aba1c7 100644 (file)
@@ -271,9 +271,14 @@ OQMGR(8)                                                              OQMGR(8)
 
        <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
               The  names  of  message  delivery  transports  that
-              should  not  be  delivered to unless someone issues
+              should  not  deliver  mail  unless  someone  issues
               "<b>sendmail -q</b>" or equivalent.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The time resolution (microseconds) of the  sub-sec-
+              ond  delay  values  that  are logged for subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
               Log warnings about problematic  configuration  set-
               tings, and provide helpful suggestions.
index 05599514e16597d8e2cc04e8520a9208fa299f8a..bcb094041dc36a296508f9689eb0ce2d08e051d0 100644 (file)
@@ -368,6 +368,11 @@ PIPE(8)                                                                PIPE(8)
               handle  a  request  before  it  is  terminated by a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The time resolution (microseconds) of the  sub-sec-
+              ond  delay  values  that  are logged for subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#export_environment">export_environment</a> (see 'postconf -d' output)</b>
               The list of environment variables  that  a  Postfix
               process will export to non-Postfix processes.
index 107acd8fb26a2c2b7e87511d97aac9c60c5aeebe..4533c2c5a6772349521ba3daf4ea32d6ccdb90bf 100644 (file)
@@ -1900,6 +1900,34 @@ Example:
 </pre>
 
 
+</DD>
+
+<DT><b><a name="delay_logging_time_resolution">delay_logging_time_resolution</a>
+(default: 10000)</b></DT><DD>
+
+<p> The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
+Specify a power of 10 in the range from 1 to 100000. </p>
+
+<p> The format of the "delays=a/b/c/d" logging is as follows: </p>
+
+<ul>
+
+<li> a = time before the queue manager selected the queue file
+
+<li> b = time in queue manager
+
+<li> c = time in connection setup, including EHLO and TLS
+
+<li> d = time in message transfer
+
+</ul>
+
+<p>  Delay values less than <a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> are logged
+as "0", while delay values less than 10s are logged with at most
+two-digit precision.  </p>
+
+
 </DD>
 
 <DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
index 5ed0e0424dd062583d35dd1fa69793d10b9412cd..70a51b8d8c08933882065b386a6c499c40b7b47f 100644 (file)
@@ -326,9 +326,14 @@ QMGR(8)                                                                QMGR(8)
 
        <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
               The  names  of  message  delivery  transports  that
-              should  not  be  delivered to unless someone issues
+              should  not  deliver  mail  unless  someone  issues
               "<b>sendmail -q</b>" or equivalent.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The time resolution (microseconds) of the  sub-sec-
+              ond  delay  values  that  are logged for subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
               Log warnings about problematic  configuration  set-
               tings, and provide helpful suggestions.
index b96588b21cb8254ec203b032c950db4f9714be54..76f5c65419031d6c8eb65dbd4df7db084b83ca76 100644 (file)
@@ -418,6 +418,11 @@ SMTP(8)                                                                SMTP(8)
               handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The  time resolution (microseconds) of the sub-sec-
+              ond delay values that  are  logged  for  subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> (no)</b>
               Disable  DNS  lookups  in the Postfix SMTP and LMTP
               clients.
index c2831d778bc0e7e35a459054fea41c28c9f95e06..535d63fc31a627ef45dbf144ab392be6e8ac475c 100644 (file)
@@ -238,6 +238,11 @@ VIRTUAL(8)                                                          VIRTUAL(8)
               handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
+       <b><a href="postconf.5.html#delay_logging_time_resolution">delay_logging_time_resolution</a> (10000)</b>
+              The  time resolution (microseconds) of the sub-sec-
+              ond delay values that  are  logged  for  subsequent
+              message delivery stages.
+
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
               The time limit for sending or receiving information
               over an internal communication channel.
index b1395b898645dd986d5420362043757de14a0428..5768d998b742aa52ef7c66be2ba9545d7840db5c 100644 (file)
@@ -1034,6 +1034,24 @@ defer_transports = smtp
 .fi
 .ad
 .ft R
+.SH delay_logging_time_resolution (default: 10000)
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
+Specify a power of 10 in the range from 1 to 100000.
+.PP
+The format of the "delays=a/b/c/d" logging is as follows:
+.IP \(bu
+a = time before the queue manager selected the queue file
+.IP \(bu
+b = time in queue manager
+.IP \(bu
+c = time in connection setup, including EHLO and TLS
+.IP \(bu
+d = time in message transfer
+.PP
+Delay values less than delay_logging_time_resolution are logged
+as "0", while delay values less than 10s are logged with at most
+two-digit precision.
 .SH delay_notice_recipient (default: postmaster)
 The recipient of postmaster notifications with the message headers
 of mail that cannot be delivered within $delay_warning_time time
index d86c2cd856443b6433180feaaf5daf544955336e..3ba92cf0f7e58dc670780dd68b98616fdf48af6c 100644 (file)
@@ -270,6 +270,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBdelay_warning_time (0h)\fR"
 The time after which the sender receives the message headers of
 mail that is still queued.
index 1ede41979d1979c1f3912f7645af1e0241404e25..aa0cfca19a3c1aa67e24a65424f98bb988f1af2f 100644 (file)
@@ -64,6 +64,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBdouble_bounce_sender (double-bounce)\fR"
 The sender address of postmaster notifications that are generated
 by the mail system.
index 62804888a8a8db87e7fc4e703da79a0cc58b02b3..a6304414503001482da23775b5cea152f0b5e54e 100644 (file)
@@ -71,6 +71,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBdouble_bounce_sender (double-bounce)\fR"
 The sender address of postmaster notifications that are generated
 by the mail system.
index 8f220203905182055ecf2c42b6d3b9195e593dd6..a967cd08fc044e4dbd9ed037d713b0a38d337578 100644 (file)
@@ -200,6 +200,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBdisable_dns_lookups (no)\fR"
 Disable DNS lookups in the Postfix SMTP and LMTP clients.
 .IP "\fBipc_timeout (3600s)\fR"
index c5fb993bd076c9f60fea6b4d4e9455840041a869..562098ffc40baceb45707be264d0488a5338613f 100644 (file)
@@ -511,6 +511,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBexport_environment (see 'postconf -d' output)\fR"
 The list of environment variables that a Postfix process will export
 to non-Postfix processes.
index b7f7c0ce40b4ec1a946d161ac5bbcc178686adb3..62a715c3d9a7e16d7636498ed95785c38ea19ed2 100644 (file)
@@ -253,8 +253,11 @@ configuration files.
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
 .IP "\fBdefer_transports (empty)\fR"
-The names of message delivery transports that should not be delivered
-to unless someone issues "\fBsendmail -q\fR" or equivalent.
+The names of message delivery transports that should not deliver mail
+unless someone issues "\fBsendmail -q\fR" or equivalent.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBhelpful_warnings (yes)\fR"
 Log warnings about problematic configuration settings, and provide
 helpful suggestions.
index 9e4dbc660d46ec206827f82f8ede260c6fb745cf..4661ff376cd3a79e47054a092723bcca10833053 100644 (file)
@@ -320,6 +320,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBexport_environment (see 'postconf -d' output)\fR"
 The list of environment variables that a Postfix process will export
 to non-Postfix processes.
index f187bdb33e1563bc490020f35fe65df3092620eb..150f0391307fa8ad983e2c2cbeb23466f6246023 100644 (file)
@@ -292,8 +292,11 @@ configuration files.
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
 .IP "\fBdefer_transports (empty)\fR"
-The names of message delivery transports that should not be delivered
-to unless someone issues "\fBsendmail -q\fR" or equivalent.
+The names of message delivery transports that should not deliver mail
+unless someone issues "\fBsendmail -q\fR" or equivalent.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBhelpful_warnings (yes)\fR"
 Log warnings about problematic configuration settings, and provide
 helpful suggestions.
index 6ad4bc4115762a73731c208aa49954390b0ef694..d4691ded2cfad4f583d4538a92b5e2348f2e5841 100644 (file)
@@ -340,6 +340,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBdisable_dns_lookups (no)\fR"
 Disable DNS lookups in the Postfix SMTP and LMTP clients.
 .IP "\fBfallback_relay (empty)\fR"
index 37c68c7e0cc2c91c885717869c42e38df426744a..4bf9f9b8b9f3d2f5a356745e06330a805fbbd98a 100644 (file)
@@ -245,6 +245,9 @@ configuration files.
 .IP "\fBdaemon_timeout (18000s)\fR"
 How much time a Postfix daemon process may take to handle a
 request before it is terminated by a built-in watchdog timer.
+.IP "\fBdelay_logging_time_resolution (10000)\fR"
+The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages.
 .IP "\fBipc_timeout (3600s)\fR"
 The time limit for sending or receiving information over an internal
 communication channel.
index ca87611f31bc337d7fb2149400556713e4cfa6ff..11960f7a4a51b26af6396d779bc6d6fb1d0a9437 100755 (executable)
@@ -139,6 +139,7 @@ while (<>) {
     s;\bdefer_code\b;<a href="postconf.5.html#defer_code">$&</a>;g;
     s;\bdefer_service_name\b;<a href="postconf.5.html#defer_service_name">$&</a>;g;
     s;\bdefer_transports\b;<a href="postconf.5.html#defer_transports">$&</a>;g;
+    s;\bdelay_logging_time_resolution\b;<a href="postconf.5.html#delay_logging_time_resolution">$&</a>;g;
     s;\bdelay_notice_recip[-</bB>]*\n* *[<bB>]*ient\b;<a href="postconf.5.html#delay_notice_recipient">$&</a>;g;
     s;\bdelay_warning_time\b;<a href="postconf.5.html#delay_warning_time">$&</a>;g;
     s;\bdeliver_lock_attempts\b;<a href="postconf.5.html#deliver_lock_attempts">$&</a>;g;
index 00b60b9b88f8c5e956cc062e2686ebe1cb7ef83f..e5169dbba45f5db662af38d842636f269855b4eb 100644 (file)
@@ -8649,3 +8649,27 @@ the name matches the client IP address. A client name is set to
 "unknown" when it cannot be looked up or verified, or when name
 lookup is disabled.  Turning off name lookup reduces delays due to
 DNS lookup and increases the maximal inbound delivery rate. </p>
+
+%PARAM delay_logging_time_resolution 10000
+
+<p> The time resolution (microseconds) of the sub-second delay
+values that are logged for subsequent message delivery stages. 
+Specify a power of 10 in the range from 1 to 100000. </p>
+
+<p> The format of the "delays=a/b/c/d" logging is as follows: </p>
+
+<ul>
+
+<li> a = time before the queue manager selected the queue file
+
+<li> b = time in queue manager
+
+<li> c = time in connection setup, including EHLO and TLS
+
+<li> d = time in message transfer
+
+</ul>
+
+<p>  Delay values less than delay_logging_time_resolution are logged
+as "0", while delay values less than 10s are logged with at most
+two-digit precision.  </p>
index 48a1a5c3a2f62bf65501c78810581ecd7a171dde..3c5a98bc3d4fc1f038baf35ea8bfced710206b3e 100644 (file)
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBdelay_warning_time (0h)\fR"
 /*     The time after which the sender receives the message headers of
 /*     mail that is still queued.
index b2feeaeb2fd5787897367285fa139b09cfb4c61f..ecd01a25324ae20fd5405d06c6e4e6362cc26c81 100644 (file)
@@ -50,6 +50,9 @@
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBdouble_bounce_sender (double-bounce)\fR"
 /*     The sender address of postmaster notifications that are generated
 /*     by the mail system.
index 11343129c6552df78384124dcdadc483fd5f6c3c..dbf7111e4b3d2b5d97d54a1dbf8de5ec4154589c 100644 (file)
@@ -57,6 +57,9 @@
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBdouble_bounce_sender (double-bounce)\fR"
 /*     The sender address of postmaster notifications that are generated
 /*     by the mail system.
index 27dda27a01ada9ae2c9d319de3b4a237df4fff53..a03f2a0141b28a8236c67d4e7f2ae4707e34a9ed 100644 (file)
@@ -882,6 +882,7 @@ log_adhoc.o: dsn.h
 log_adhoc.o: dsn_buf.h
 log_adhoc.o: log_adhoc.c
 log_adhoc.o: log_adhoc.h
+log_adhoc.o: mail_params.h
 log_adhoc.o: msg_stats.h
 log_adhoc.o: recipient_list.h
 mail_addr.o: ../../include/stringops.h
index ebb1ce193b64dadfa6a2fe3b354309338e4ce7ff..7eb9d3648317507855990572902b66361d9f7d12 100644 (file)
@@ -67,6 +67,7 @@
 /* Global library. */
 
 #include <log_adhoc.h>
+#include <mail_params.h>
 
 /* log_adhoc - ad-hoc logging */
 
@@ -163,13 +164,19 @@ void    log_adhoc(const char *id, MSG_STATS *stats, RECIPIENT *recipient,
     if (stats->reuse_count > 0)
        vstring_sprintf_append(buf, ", conn_use=%d", stats->reuse_count + 1);
 
+#define MILLION                1000000
+#define DMILLION       ((double) MILLION)
+
 #define PRETTY_FORMAT(b, x) \
     do { \
-       if ((x).tv_sec > 0 || (x).tv_usec < 10000) { \
-           vstring_sprintf_append((b), "/%ld", (long) (x).tv_sec); \
+       if ((x).tv_sec > 9 \
+           || ((x).tv_sec == 0 && (x).tv_usec < var_delay_resolution)) { \
+           vstring_sprintf_append((b), "/%ld", \
+               (long) (x).tv_sec + ((x).tv_usec > (MILLION / 2))); \
        } else { \
-           vstring_sprintf_append((b), "/%.1g", \
-                   (x).tv_sec + (x).tv_usec / 1000000.0); \
+           vstring_sprintf_append((b), "/%.2g", \
+               (x).tv_sec + ((x).tv_usec / var_delay_resolution) \
+                   * (var_delay_resolution / DMILLION)); \
        } \
     } while (0)
 
index 8f8873f42d992db765f9ca1240e7ce366cf51ca8..bd7729badb74793ebc9b24c0dfbca5e13154a7e1 100644 (file)
 /*     int     var_strict_encoding;
 /*     int     var_verify_neg_cache;
 /*     int     var_oldlog_compat;
+/*     int     var_delay_resolution;
 /*
 /*     void    mail_params_init()
 /*
@@ -298,6 +299,7 @@ int     var_strict_8bit_body;
 int     var_strict_encoding;
 int     var_verify_neg_cache;
 int     var_oldlog_compat;
+int     var_delay_resolution;
 
 const char null_format_string[1] = "";
 
@@ -561,6 +563,7 @@ void    mail_params_init()
        VAR_SMTP_TLS_LOGLEVEL, DEF_SMTP_TLS_LOGLEVEL, &var_smtp_tls_loglevel, 0, 0,
        VAR_TLS_DAEMON_RAND_BYTES, DEF_TLS_DAEMON_RAND_BYTES, &var_tls_daemon_rand_bytes, 1, 0,
 #endif
+       VAR_DELAY_RESOLUTION, DEF_DELAY_RESOLUTION, &var_delay_resolution, MIN_DELAY_RESOLUTION, MAX_DELAY_RESOLUTION,
        0,
     };
     static CONFIG_TIME_TABLE time_defaults[] = {
index da793018013593f4712eabdf41bfaa118c81a2ed..bb895ea20ce4792c91326ae0aafc1b42148a2ee2 100644 (file)
@@ -2388,6 +2388,15 @@ extern char *var_msg_strip_chars;
 #define DEF_FROZEN_DELIVERED           1
 extern bool var_frozen_delivered;
 
+ /*
+  * Delay logging time resolution.
+  */
+#define VAR_DELAY_RESOLUTION           "delay_logging_time_resolution"
+#define MAX_DELAY_RESOLUTION           100000
+#define DEF_DELAY_RESOLUTION           10000
+#define MIN_DELAY_RESOLUTION           1
+extern int var_delay_resolution;
+
 /* LICENSE
 /* .ad
 /* .fi
index 274e921fd437ad4d584c5cbfc2cd159e63b0a584..16ea26f21eab3b3bde5f427a4891e24694a2434b 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20051103"
+#define MAIL_RELEASE_DATE      "20051104"
 #define MAIL_VERSION_NUMBER    "2.3"
 
 #ifdef SNAPSHOT
index cffc2f1d49d2612f397d24f5152a4d4b6a14a35c..5765e3e3305c7c704431a718b877ab3a7270d482 100644 (file)
@@ -4,7 +4,7 @@
 /* SUMMARY
 /*     write MSG_STATS structure to stream
 /* SYNOPSIS
-/*     #include <msg_stats_print.h>
+/*     #include <msg_stats.h>
 /*
 /*     int     msg_stats_print(print_fn, stream, flags, ptr)
 /*     ATTR_PRINT_MASTER_FN print_fn;
 /*     int     flags;
 /*     void    *ptr;
 /* DESCRIPTION
-/*     msg_stats_print() writes a MSG_STATS structure to the named stream using
-/*     the specified attribute print routine. msg_stats_print() is meant
-/*     to be passed as a call-back to attr_print(), thusly:
+/*     msg_stats_print() writes an MSG_STATS structure to the named
+/*     stream using the specified attribute print routine.
+/*     msg_stats_print() is meant to be passed as a call-back to
+/*     attr_print(), thusly:
 /*
 /*     ... ATTR_PRINT_FUNC, msg_stats_print, (void *) stats, ...
 /* DIAGNOSTICS
index bc7d3c4fb18993646431968bd7112388e045a34a..cff23903295119523acf9e3ef14afa6c35b7326a 100644 (file)
@@ -12,9 +12,9 @@
 /*     int     flags;
 /*     void    *ptr;
 /* DESCRIPTION
-/*     msg_stats_scan() reads a MSG_STATS from the named stream using the
-/*     specified attribute scan routine. msg_stats_scan() is meant
-/*     to be passed as a call-back to attr_scan(), thusly:
+/*     msg_stats_scan() reads an MSG_STATS from the named stream
+/*     using the specified attribute scan routine. msg_stats_scan()
+/*     is meant to be passed as a call-back to attr_scan(), thusly:
 /*
 /*     ... ATTR_SCAN_FUNC, msg_stats_scan, (void *) &stats, ...
 /* DIAGNOSTICS
index f095c8a6df10890da042be5e056069cfd9661f42..c18ab77154f8a5a6c2f0eccd7d1e22dc6c20f7e7 100644 (file)
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBdisable_dns_lookups (no)\fR"
 /*     Disable DNS lookups in the Postfix SMTP and LMTP clients.
 /* .IP "\fBipc_timeout (3600s)\fR"
index d505469a19d173a4b91df86fd94dcdaceca71181..e3b8373d7587df686756a2b7df1658d3c6a60ffa 100644 (file)
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBexport_environment (see 'postconf -d' output)\fR"
 /*     The list of environment variables that a Postfix process will export
 /*     to non-Postfix processes.
index 5fc49ffbc7b617b7dbe8f3839a64b0494b7cf0a0..5e16f7e79435d471d3f139308b77d30f1f4c4965 100644 (file)
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
 /* .IP "\fBdefer_transports (empty)\fR"
-/*     The names of message delivery transports that should not be delivered
-/*     to unless someone issues "\fBsendmail -q\fR" or equivalent.
+/*     The names of message delivery transports that should not deliver mail
+/*     unless someone issues "\fBsendmail -q\fR" or equivalent.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBhelpful_warnings (yes)\fR"
 /*     Log warnings about problematic configuration settings, and provide
 /*     helpful suggestions.
index 921f6e40e9cd4f60c0a05f89196088c12ff4711b..8ea5e16954382a68abf7cf8b2b35ac93270ce951 100644 (file)
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBexport_environment (see 'postconf -d' output)\fR"
 /*     The list of environment variables that a Postfix process will export
 /*     to non-Postfix processes.
index 02907c60447f89b1c96f6c07e59f591bbb8b8ee4..e3efb58d9d757dff97e913249b016e91fb233fd6 100644 (file)
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
 /* .IP "\fBdefer_transports (empty)\fR"
-/*     The names of message delivery transports that should not be delivered
-/*     to unless someone issues "\fBsendmail -q\fR" or equivalent.
+/*     The names of message delivery transports that should not deliver mail
+/*     unless someone issues "\fBsendmail -q\fR" or equivalent.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBhelpful_warnings (yes)\fR"
 /*     Log warnings about problematic configuration settings, and provide
 /*     helpful suggestions.
index bf124e6ce56e99e63b407ad52db624f426b86a7b..377d9cf13cd4160529340ed22f7324bbc6f2ed92 100644 (file)
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBdisable_dns_lookups (no)\fR"
 /*     Disable DNS lookups in the Postfix SMTP and LMTP clients.
 /* .IP "\fBfallback_relay (empty)\fR"
index 89ca83351a36c0b4c892788a07c7c29914a53e9f..928a910064cadda6cc3e9dcd23cfc70240566667 100644 (file)
 /* .IP "\fBdaemon_timeout (18000s)\fR"
 /*     How much time a Postfix daemon process may take to handle a
 /*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBdelay_logging_time_resolution (10000)\fR"
+/*     The time resolution (microseconds) of the sub-second delay
+/*     values that are logged for subsequent message delivery stages.
 /* .IP "\fBipc_timeout (3600s)\fR"
 /*     The time limit for sending or receiving information over an internal
 /*     communication channel.