]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.10-20120924
authorWietse Venema <wietse@porcupine.org>
Mon, 24 Sep 2012 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:38:17 +0000 (06:38 +0000)
54 files changed:
postfix/HISTORY
postfix/README_FILES/POSTSCREEN_README
postfix/WISHLIST
postfix/conf/master.cf
postfix/html/POSTSCREEN_README.html
postfix/html/mailq.1.html
postfix/html/master.5.html
postfix/html/newaliases.1.html
postfix/html/oqmgr.8.html
postfix/html/postconf.5.html
postfix/html/qmgr.8.html
postfix/html/sendmail.1.html
postfix/makedefs
postfix/man/man1/sendmail.1
postfix/man/man5/master.5
postfix/man/man5/postconf.5
postfix/man/man8/oqmgr.8
postfix/man/man8/qmgr.8
postfix/proto/POSTSCREEN_README.html
postfix/proto/master
postfix/proto/postconf.proto
postfix/src/cleanup/Makefile.in
postfix/src/global/Makefile.in
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/local/Makefile.in
postfix/src/oqmgr/Makefile.in
postfix/src/oqmgr/qmgr.c
postfix/src/pipe/Makefile.in
postfix/src/postalias/Makefile.in
postfix/src/postconf/Makefile.in
postfix/src/postmap/Makefile.in
postfix/src/postscreen/Makefile.in
postfix/src/proxymap/Makefile.in
postfix/src/qmgr/Makefile.in
postfix/src/qmgr/qmgr.c
postfix/src/qmqpd/Makefile.in
postfix/src/sendmail/sendmail.c
postfix/src/smtp/Makefile.in
postfix/src/smtpd/Makefile.in
postfix/src/smtpstone/Makefile.in
postfix/src/spawn/Makefile.in
postfix/src/tls/Makefile.in
postfix/src/tls/tls_scache.c
postfix/src/tlsmgr/Makefile.in
postfix/src/trivial-rewrite/Makefile.in
postfix/src/util/Makefile.in
postfix/src/util/dict.h
postfix/src/util/dict_alloc.c
postfix/src/util/dict_open.c
postfix/src/util/dict_test.c
postfix/src/util/sys_defs.h
postfix/src/verify/Makefile.in
postfix/src/virtual/Makefile.in

index 0f30ecef885b4127d919e118985766f5b0def13f..c26b330539ca0283d5dc5d539e0efcc3af82538b 100644 (file)
@@ -17941,3 +17941,40 @@ Apologies for any names omitted.
        Cleanup (for change 20120824): the DSN RET attribute should
        not be stored once per recipient. It is a message property
        just like DSN ENVID.  File: sendmail/sendmail.c.
+
+20120911
+
+       Documentation: more explicit enumeration of what happens
+       when setting a per-destination recipient limit value to 1.
+       File: proto/postconf.proto.
+
+20120918
+
+       Documentation: clarified the bounce/queue_life-time parameter
+       descriptions. File: proto/postconf.proto.
+
+20120920
+
+       Documentation: the postscreen_whitelist_interfaces parameter
+       syntax was defined only by example. File: proto/postconf.proto.
+
+20120923
+
+       Infrastructure: cleaned up the support for database
+       lock-on-open. This is needed for databases that are not
+       multi-updater safe.  Files: util/dict_alloc.c, util/dict.c,
+       util/dict_open.c, util/dict.h.  tls/tls_scache.c.
+
+20120924
+
+       Documentation: some people are read-challenged distribute
+       their own incorrect understanding of master.cf syntax.
+       File: proto/master.
+
+       Cleanup: don't emulate UNIX-domain sockets over FIFOs on
+       Solaris systems less than 10 years old. This allows us to
+       globally s/fifo/unix/ in master.cf.  Files: makedefs,
+       util/sys_defs.h.
+
+       Laptop-friendliness: avoid disk spin-up on idle systems by
+       s/fifo/unix/ in master.cf.  Files: conf/master.cf.
index 0d2c1695b30c64129f4bb02ae309dd052b601256..4931e1adcfc8ac39dfbed40954748e5e4f69cde0 100644 (file)
@@ -93,11 +93,11 @@ focused on.
 
 G\bGe\ben\bne\ber\bra\bal\bl o\bop\bpe\ber\bra\bat\bti\bio\bon\bn
 
-The postscreen(8) triage process involves a number of tests, in the order as
-described below. Some tests introduce a delay of a few seconds. postscreen(8)
-maintains a temporary whitelist for clients that pass its tests; by allowing
-whitelisted clients to skip tests, postscreen(8) minimizes its impact on
-legitimate email traffic.
+For each connection from an SMTP client, postscreen(8) performs a number of
+tests in the order as described below. Some tests introduce a delay of a few
+seconds. postscreen(8) maintains a temporary whitelist for clients that pass
+its tests; by allowing whitelisted clients to skip tests, postscreen(8)
+minimizes its impact on legitimate email traffic.
 
 By default, postscreen(8) hands off all connections to a Postfix SMTP server
 process after logging its findings. This mode is useful for non-destructive
index d7841a01ae0770313de4cec2e678e48296fe4b46..077258562f17c45502019b559baea51ea98b5f7c 100644 (file)
@@ -9,6 +9,32 @@ Wish list:
        Don't forget Apple's code donation for fetching mail from
        IMAP server.
 
+       Make "rename" the default when postmapping a DB file
+       (later: use copy+rename for postmap -i, postmap -d).
+
+       On most systems, switching the qmgr and pickup services
+       from "fifo" to "unix" endpoints can avoid disk spin-up due
+       to mtime changes.  However, Postfix on Solaris emulates
+       UNIX-domain sockets by sending a file handle through a FIFO.
+       Either we need to a) find out if a Solaris FIFO is a "unix"
+       or "fifo" endpoint (parsing master.cf is not an option for
+       chrooted daemons), or b) silently implement a Solaris "fifo"
+       endpoint as if master.cf says "unix", so that all Solaris
+       FIFOs are emulated UNIX-domain endpoints. Or, we bite the
+       bullet and stop emulating UNIX-domain onver FIFOs.
+
+       Service-name parameters aren't documented in daemon manpages.
+
+       When faking up the DSN ORCPT, don't send bare usernames
+       from local command-line submission.
+
+       lmtp_assume_final is broken. A 2XX response does not imply
+       final delivery. The Sieve language implements accept-then-bounce.
+
+       postscreen event-driven plug-in interface to send out a
+       query in parallel with the Pregreet and DNSBL tests, using
+       a simplified version of the policy delegation protocol.
+
        Parallelized queue preprocessing: rip out the queue manager
        code to read queue files and resolve recipients, and run
        it in parallel processes. The queue manager then processes
@@ -18,13 +44,12 @@ Wish list:
        compared to hundreds of mail receiving or sending processes
        (especially if there is a way to scan the queue in parallel).
 
-       mem_pool module for frequently-allocated objects
-       such as postscreen VSTRINGS and STATE objects.
-       Operations: create, put, get, maybe destroy.
-       Call-backs: init, reset, and maybe destroy.
-
-       Make "rename" the default when postmapping a DB file
-       (later: use copy+rename for postmap -i, postmap -d).
+       Memory pools for same-type memory objects.  This can be
+       used to either increase memory locality for frequently-allocated
+       objects (MRU allocation) or to make use-after-free bugs
+       more detectable (use LRU allocation and wipe the object
+       immediately after free().  Finally, same-type memory pools
+       prevent object type errors with use-after-free bugs.
 
        "no-cache" option for selected postscreen tests?
 
@@ -43,20 +68,6 @@ Wish list:
        Replace master(8) SIGHUP by very simple socket protocol to
        allow reload of a specific service.
 
-       Make the "trigger" service endpoint type configurable.  On
-       non-Solaris systems, switching from fifo to unix can avoid
-       disk spin-up due to mtime changes (Postfix on Solaris
-       emulates UNIX-domain sockets by sending a file handle through
-       a FIFO).
-
-       Service-name parameters aren't documented in daemon manpages.
-
-       When faking up the DSN ORCPT, don't send bare usernames
-       from local command-line submission.
-
-       lmtp_assume_final is broken. A 2XX response does not imply
-       final delivery. The Sieve language implements accept-then-bounce.
-
        postscreen: in the dummy SMTP engine, log the protocol state
        at time of violation (like smtpd, set state->where initially
        to CONNECT, then update it with the name of the last "known"
index 849f1599b5f3a2d64fbd9fc9421672e16f849274..acc67d726822cc5913d110850a69ba31c633eab9 100644 (file)
@@ -34,10 +34,10 @@ smtp      inet  n       -       n       -       -       smtpd
 #  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
 #  -o milter_macro_daemon_name=ORIGINATING
 #628       inet  n       -       n       -       -       qmqpd
-pickup    fifo  n       -       n       60      1       pickup
+pickup    unix  n       -       n       60      1       pickup
 cleanup   unix  n       -       n       -       0       cleanup
-qmgr      fifo  n       -       n       300     1       qmgr
-#qmgr     fifo  n       -       n       300     1       oqmgr
+qmgr      unix  n       -       n       300     1       qmgr
+#qmgr     unix  n       -       n       300     1       oqmgr
 tlsmgr    unix  -       -       n       1000?   1       tlsmgr
 rewrite   unix  -       -       n       -       -       trivial-rewrite
 bounce    unix  -       -       n       -       0       bounce
index 20533e0b2e8bbb888ba0261c10088e87b6669a01..06b8dce5009bec519bec30c81cc50784e222299e 100644 (file)
@@ -132,7 +132,8 @@ and that is the problem that <a href="postscreen.8.html">postscreen(8)</a> is fo
 
 <h2> <a name="general"> General operation </a> </h2>
 
-<p> The <a href="postscreen.8.html">postscreen(8)</a> triage process involves a number of tests,
+<p> For each connection from an SMTP client, <a href="postscreen.8.html">postscreen(8)</a> performs
+a number of tests
 in the order as described below.  Some tests introduce a delay of
 a few seconds.  <a href="postscreen.8.html">postscreen(8)</a> maintains a temporary whitelist for
 clients that pass its tests; by allowing whitelisted clients to
index 32de6bf2d17cda7cc3edc862c75fea0c9f158346..3fa1ae37f6c7f764e2b23742f80e45fb9a109560 100644 (file)
@@ -219,52 +219,51 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-R</b> <i>return</i>
               Delivery  status  notification  control.    Specify
-              "hdrs"  to  return  only  the  header  if a message
+              "hdrs"  to  return  only  the header when a message
               bounces, "full" to return a full copy (the  default
               behavior).
 
-              The  <b>-R</b>  option specifies an upper bound; for exam-
-              ple, Postfix will return only the  header,  when  a
-              full  copy  would exceed the <a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> set-
-              ting.
+              The  <b>-R</b>  option  specifies  an upper bound; Postfix
+              will return only the header, when a full copy would
+              exceed the <a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> setting.
 
               This option is ignored before Postfix version 2.10.
 
-       <b>-q</b>     Attempt  to deliver all queued mail. This is imple-
+       <b>-q</b>     Attempt to deliver all queued mail. This is  imple-
               mented by executing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
               Warning:  flushing  undeliverable  mail  frequently
-              will  result  in  poor  delivery performance of all
+              will result in poor  delivery  performance  of  all
               other mail.
 
        <b>-q</b><i>interval</i> (ignored)
-              The  interval   between   queue   runs.   Use   the
+              The   interval   between   queue   runs.   Use  the
               <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> configuration parameter instead.
 
        <b>-qI</b><i>queueid</i>
               Schedule immediate delivery of mail with the speci-
-              fied queue ID.  This option is implemented by  exe-
-              cuting  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command, and is available
+              fied  queue ID.  This option is implemented by exe-
+              cuting the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command, and  is  available
               with Postfix version 2.4 and later.
 
        <b>-qR</b><i>site</i>
-              Schedule immediate delivery of  all  mail  that  is
+              Schedule  immediate  delivery  of  all mail that is
               queued for the named <i>site</i>. This option accepts only
-              <i>site</i> names that are eligible for the  "fast  flush"
-              service,   and  is  implemented  by  executing  the
+              <i>site</i>  names  that are eligible for the "fast flush"
+              service,  and  is  implemented  by  executing   the
               <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flush.8.html"><b>flush</b>(8)</a> for more infor-
               mation about the "fast flush" service.
 
        <b>-qS</b><i>site</i>
-              This  command  is  not  implemented. Use the slower
+              This command is not  implemented.  Use  the  slower
               "<b>sendmail -q</b>" command instead.
 
-       <b>-t</b>     Extract recipients from message headers. These  are
-              added  to  any  recipients specified on the command
+       <b>-t</b>     Extract  recipients from message headers. These are
+              added to any recipients specified  on  the  command
               line.
 
-              With Postfix versions prior  to  2.1,  this  option
-              requires  that no recipient addresses are specified
+              With  Postfix  versions  prior  to 2.1, this option
+              requires that no recipient addresses are  specified
               on the command line.
 
        <b>-U</b> (ignored)
@@ -277,41 +276,41 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               This feature is available in Postfix 2.3 and later.
 
        <b>-XV</b> (Postfix 2.2 and earlier: <b>-V</b>)
-              Variable Envelope Return Path.  Given  an  envelope
-              sender  address  of the form <i>owner-listname</i>@<i>origin</i>,
-              each recipient <i>user</i>@<i>domain</i>  receives  mail  with  a
+              Variable  Envelope  Return  Path. Given an envelope
+              sender address of the  form  <i>owner-listname</i>@<i>origin</i>,
+              each  recipient  <i>user</i>@<i>domain</i>  receives  mail with a
               personalized envelope sender address.
 
-              By   default,   the  personalized  envelope  sender
-              address is  <i>owner-listname</i><b>+</b><i>user</i><b>=</b><i>domain</i>@<i>origin</i>.  The
-              default  <b>+</b>  and  <b>=</b> characters are configurable with
-              the <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration  parame-
+              By  default,  the  personalized   envelope   sender
+              address  is  <i>owner-listname</i><b>+</b><i>user</i><b>=</b><i>domain</i>@<i>origin</i>. The
+              default <b>+</b> and <b>=</b> characters  are  configurable  with
+              the  <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration parame-
               ter.
 
        <b>-XV</b><i>xy</i> (Postfix 2.2 and earlier: <b>-V</b><i>xy</i>)
-              As  <b>-XV</b>,  but  uses  <i>x</i>  and <i>y</i> as the VERP delimiter
-              characters, instead  of  the  characters  specified
-              with   the   <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration
+              As <b>-XV</b>, but uses <i>x</i> and  <i>y</i>  as  the  VERP  delimiter
+              characters,  instead  of  the  characters specified
+              with  the   <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>   configuration
               parameter.
 
-       <b>-v</b>     Send an email report of the first delivery  attempt
-              (Postfix  versions  2.1  and  later). Mail delivery
-              always happens in the background. When multiple  <b>-v</b>
+       <b>-v</b>     Send  an email report of the first delivery attempt
+              (Postfix versions 2.1  and  later).  Mail  delivery
+              always  happens in the background. When multiple <b>-v</b>
               options  are  given,  enable  verbose  logging  for
               debugging purposes.
 
        <b>-X</b> <i>log</i><b>_</b><i>file</i> (ignored)
-              Log mailer traffic.  Use  the  <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a></b>  and
-              <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a></b>  configuration parameters instead.
+              Log  mailer  traffic.  Use  the <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a></b> and
+              <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a></b> configuration parameters  instead.
 
 <b>SECURITY</b>
-       By design, this program is not  set-user  (or  group)  id.
-       However,  it  must  handle  data  from untrusted, possibly
-       remote, users.  Thus, the usual  precautions  need  to  be
+       By  design,  this  program  is not set-user (or group) id.
+       However, it must  handle  data  from  untrusted,  possibly
+       remote,  users.   Thus,  the  usual precautions need to be
        taken against malicious inputs.
 
 <b>DIAGNOSTICS</b>
-       Problems  are  logged  to  <b>syslogd</b>(8)  and to the standard
+       Problems are logged to  <b>syslogd</b>(8)  and  to  the  standard
        error stream.
 
 <b>ENVIRONMENT</b>
@@ -323,29 +322,29 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>MAIL_DEBUG</b> (value does not matter)
               Enable debugging with an external command, as spec-
-              ified   with   the  <b><a href="postconf.5.html#debugger_command">debugger_command</a></b>  configuration
+              ified  with  the   <b><a href="postconf.5.html#debugger_command">debugger_command</a></b>   configuration
               parameter.
 
-       <b>NAME</b>   The sender full name. This is used only  with  mes-
-              sages  that  have no <b>From:</b> message header. See also
+       <b>NAME</b>   The  sender  full name. This is used only with mes-
+              sages that have no <b>From:</b> message header.  See  also
               the <b>-F</b> option above.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are  especially  relevant
+       The  following  <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
        to this program.  The text below provides only a parameter
-       summary. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including  exam-
+       summary.  See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including exam-
        ples.
 
 <b>COMPATIBILITY CONTROLS</b>
        Available with Postfix 2.9 and later:
 
        <b><a href="postconf.5.html#sendmail_fix_line_endings">sendmail_fix_line_endings</a> (always)</b>
-              Controls  how the Postfix sendmail command converts
-              email message line endings from &lt;CR&gt;&lt;LF&gt; into  UNIX
+              Controls how the Postfix sendmail command  converts
+              email  message line endings from &lt;CR&gt;&lt;LF&gt; into UNIX
               format (&lt;LF&gt;).
 
 <b>TROUBLE SHOOTING CONTROLS</b>
-       The  <a href="DEBUG_README.html">DEBUG_README</a>  file  gives  examples of how to trouble
+       The <a href="DEBUG_README.html">DEBUG_README</a> file gives examples  of  how  to  trouble
        shoot a Postfix system.
 
        <b><a href="postconf.5.html#debugger_command">debugger_command</a> (empty)</b>
@@ -353,29 +352,29 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               mon program is invoked with the -D option.
 
        <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b>
-              The  increment  in  verbose  logging  level  when a
-              remote client or server matches a  pattern  in  the
+              The increment  in  verbose  logging  level  when  a
+              remote  client  or  server matches a pattern in the
               <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.
 
        <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b>
-              Optional  list  of remote client or server hostname
-              or network address patterns that cause the  verbose
-              logging  level  to increase by the amount specified
+              Optional list of remote client or  server  hostname
+              or  network address patterns that cause the verbose
+              logging level to increase by the  amount  specified
               in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
 
 <b>ACCESS CONTROLS</b>
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#authorized_flush_users">authorized_flush_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users  who  are  authorized  to  flush  the
+              List  of  users  who  are  authorized  to flush the
               queue.
 
        <b><a href="postconf.5.html#authorized_mailq_users">authorized_mailq_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
               List of users who are authorized to view the queue.
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users who are  authorized  to  submit  mail
-              with  the  <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command (and with the privi-
+              List  of  users  who  are authorized to submit mail
+              with the <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command (and with  the  privi-
               leged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper command).
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -384,7 +383,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               sent in a non-delivery notification.
 
        <b><a href="postconf.5.html#fork_attempts">fork_attempts</a> (5)</b>
-              The  maximal  number  of attempts to fork() a child
+              The maximal number of attempts to  fork()  a  child
               process.
 
        <b><a href="postconf.5.html#fork_delay">fork_delay</a> (1s)</b>
@@ -392,11 +391,11 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               process.
 
        <b><a href="postconf.5.html#hopcount_limit">hopcount_limit</a> (50)</b>
-              The  maximal  number  of Received:  message headers
+              The maximal number of  Received:   message  headers
               that is allowed in the primary message headers.
 
        <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
-              The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the  queue
+              The  time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
               manager; prior to Postfix 2.4 the default value was
               1000s.
 
@@ -406,37 +405,37 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
               Optional list of destinations that are eligible for
-              per-destination logfiles with mail that  is  queued
+              per-destination  logfiles  with mail that is queued
               to those destinations.
 
 <b>VERP CONTROLS</b>
        The <a href="VERP_README.html">VERP_README</a> file describes configuration and operation
-       details of Postfix support for  variable  envelope  return
+       details  of  Postfix  support for variable envelope return
        path addresses.
 
        <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a> (+=)</b>
               The two default VERP delimiter characters.
 
        <b><a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> (-=+)</b>
-              The  characters  Postfix  accepts as VERP delimiter
-              characters on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command  line
+              The characters Postfix accepts  as  VERP  delimiter
+              characters  on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command line
               and in SMTP commands.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#alias_database">alias_database</a> (see 'postconf -d' output)</b>
-              The  alias databases for <a href="local.8.html"><b>local</b>(8)</a> delivery that are
+              The alias databases for <a href="local.8.html"><b>local</b>(8)</a> delivery that  are
               updated with "<b>newaliases</b>" or with "<b>sendmail -bi</b>".
 
        <b><a href="postconf.5.html#command_directory">command_directory</a> (see 'postconf -d' output)</b>
-              The location of  all  postfix  administrative  com-
+              The  location  of  all  postfix administrative com-
               mands.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
-              The directory with  Postfix  support  programs  and
+              The  directory  with  Postfix  support programs and
               daemon programs.
 
        <b><a href="postconf.5.html#default_database_type">default_database_type</a> (see 'postconf -d' output)</b>
@@ -444,16 +443,16 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               <a href="postalias.1.html"><b>postalias</b>(1)</a> and <a href="postmap.1.html"><b>postmap</b>(1)</a> commands.
 
        <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a> (0h)</b>
-              The time after which the sender receives  the  mes-
+              The  time  after which the sender receives the mes-
               sage headers of mail that is still queued.
 
        <b><a href="postconf.5.html#enable_errors_to">enable_errors_to</a> (no)</b>
-              Report  mail  delivery errors to the address speci-
-              fied  with  the  non-standard  Errors-To:   message
-              header,  instead  of  the  envelope  sender address
-              (this feature is removed with Postfix version  2.2,
-              is  turned off by default with Postfix version 2.1,
-              and is always turned on  with  older  Postfix  ver-
+              Report mail delivery errors to the  address  speci-
+              fied   with  the  non-standard  Errors-To:  message
+              header, instead  of  the  envelope  sender  address
+              (this  feature is removed with Postfix version 2.2,
+              is turned off by default with Postfix version  2.1,
+              and  is  always  turned  on with older Postfix ver-
               sions).
 
        <b><a href="postconf.5.html#mail_owner">mail_owner</a> (postfix)</b>
@@ -461,21 +460,21 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               and most Postfix daemon processes.
 
        <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
-              The location of the Postfix top-level queue  direc-
+              The  location of the Postfix top-level queue direc-
               tory.
 
        <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> (empty)</b>
-              Don't  rewrite  message headers from remote clients
+              Don't rewrite message headers from  remote  clients
               at all when this parameter is empty; otherwise, re-
-              write  message  headers  and  append  the specified
+              write message  headers  and  append  the  specified
               domain name to incomplete addresses.
 
        <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
-              The mail system  name  that  is  prepended  to  the
-              process  name  in  syslog  records, so that "smtpd"
+              The  mail  system  name  that  is  prepended to the
+              process name in syslog  records,  so  that  "smtpd"
               becomes, for example, "postfix/smtpd".
 
 <b>FILES</b>
@@ -500,7 +499,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <a href="VERP_README.html">VERP_README</a>, Postfix VERP howto
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 923a479a777d0ce464fb3c05c86e3e91200624a6..b8a0bc3ed49e86e93b0b502a63b7269794c53717 100644 (file)
@@ -34,6 +34,14 @@ MASTER(5)                                                            MASTER(5)
 <b>SYNTAX</b>
        The general format of the <a href="master.5.html">master.cf</a> file is as follows:
 
+       <b>o</b>      Empty lines and whitespace-only lines are  ignored,
+              as  are  lines whose first non-whitespace character
+              is a `#'.
+
+       <b>o</b>      A logical line starts with non-whitespace  text.  A
+              line  that starts with whitespace continues a logi-
+              cal line.
+
        <b>o</b>      Each logical line defines a single Postfix service.
               Each  service is identified by its name and type as
               described below.  When multiple lines  specify  the
@@ -41,14 +49,6 @@ MASTER(5)                                                            MASTER(5)
               remembered.  Otherwise, the order of <a href="master.5.html">master.cf</a> ser-
               vice definitions does not matter.
 
-       <b>o</b>      Empty  lines and whitespace-only lines are ignored,
-              as are lines whose first  non-whitespace  character
-              is a `#'.
-
-       <b>o</b>      A  logical  line starts with non-whitespace text. A
-              line that starts with whitespace continues a  logi-
-              cal line.
-
        Each  logical  line  consists of eight fields separated by
        whitespace.  These are described below  in  the  order  as
        they appear in the <a href="master.5.html">master.cf</a> file.
index 32de6bf2d17cda7cc3edc862c75fea0c9f158346..3fa1ae37f6c7f764e2b23742f80e45fb9a109560 100644 (file)
@@ -219,52 +219,51 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-R</b> <i>return</i>
               Delivery  status  notification  control.    Specify
-              "hdrs"  to  return  only  the  header  if a message
+              "hdrs"  to  return  only  the header when a message
               bounces, "full" to return a full copy (the  default
               behavior).
 
-              The  <b>-R</b>  option specifies an upper bound; for exam-
-              ple, Postfix will return only the  header,  when  a
-              full  copy  would exceed the <a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> set-
-              ting.
+              The  <b>-R</b>  option  specifies  an upper bound; Postfix
+              will return only the header, when a full copy would
+              exceed the <a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> setting.
 
               This option is ignored before Postfix version 2.10.
 
-       <b>-q</b>     Attempt  to deliver all queued mail. This is imple-
+       <b>-q</b>     Attempt to deliver all queued mail. This is  imple-
               mented by executing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
               Warning:  flushing  undeliverable  mail  frequently
-              will  result  in  poor  delivery performance of all
+              will result in poor  delivery  performance  of  all
               other mail.
 
        <b>-q</b><i>interval</i> (ignored)
-              The  interval   between   queue   runs.   Use   the
+              The   interval   between   queue   runs.   Use  the
               <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> configuration parameter instead.
 
        <b>-qI</b><i>queueid</i>
               Schedule immediate delivery of mail with the speci-
-              fied queue ID.  This option is implemented by  exe-
-              cuting  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command, and is available
+              fied  queue ID.  This option is implemented by exe-
+              cuting the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command, and  is  available
               with Postfix version 2.4 and later.
 
        <b>-qR</b><i>site</i>
-              Schedule immediate delivery of  all  mail  that  is
+              Schedule  immediate  delivery  of  all mail that is
               queued for the named <i>site</i>. This option accepts only
-              <i>site</i> names that are eligible for the  "fast  flush"
-              service,   and  is  implemented  by  executing  the
+              <i>site</i>  names  that are eligible for the "fast flush"
+              service,  and  is  implemented  by  executing   the
               <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flush.8.html"><b>flush</b>(8)</a> for more infor-
               mation about the "fast flush" service.
 
        <b>-qS</b><i>site</i>
-              This  command  is  not  implemented. Use the slower
+              This command is not  implemented.  Use  the  slower
               "<b>sendmail -q</b>" command instead.
 
-       <b>-t</b>     Extract recipients from message headers. These  are
-              added  to  any  recipients specified on the command
+       <b>-t</b>     Extract  recipients from message headers. These are
+              added to any recipients specified  on  the  command
               line.
 
-              With Postfix versions prior  to  2.1,  this  option
-              requires  that no recipient addresses are specified
+              With  Postfix  versions  prior  to 2.1, this option
+              requires that no recipient addresses are  specified
               on the command line.
 
        <b>-U</b> (ignored)
@@ -277,41 +276,41 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               This feature is available in Postfix 2.3 and later.
 
        <b>-XV</b> (Postfix 2.2 and earlier: <b>-V</b>)
-              Variable Envelope Return Path.  Given  an  envelope
-              sender  address  of the form <i>owner-listname</i>@<i>origin</i>,
-              each recipient <i>user</i>@<i>domain</i>  receives  mail  with  a
+              Variable  Envelope  Return  Path. Given an envelope
+              sender address of the  form  <i>owner-listname</i>@<i>origin</i>,
+              each  recipient  <i>user</i>@<i>domain</i>  receives  mail with a
               personalized envelope sender address.
 
-              By   default,   the  personalized  envelope  sender
-              address is  <i>owner-listname</i><b>+</b><i>user</i><b>=</b><i>domain</i>@<i>origin</i>.  The
-              default  <b>+</b>  and  <b>=</b> characters are configurable with
-              the <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration  parame-
+              By  default,  the  personalized   envelope   sender
+              address  is  <i>owner-listname</i><b>+</b><i>user</i><b>=</b><i>domain</i>@<i>origin</i>. The
+              default <b>+</b> and <b>=</b> characters  are  configurable  with
+              the  <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration parame-
               ter.
 
        <b>-XV</b><i>xy</i> (Postfix 2.2 and earlier: <b>-V</b><i>xy</i>)
-              As  <b>-XV</b>,  but  uses  <i>x</i>  and <i>y</i> as the VERP delimiter
-              characters, instead  of  the  characters  specified
-              with   the   <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration
+              As <b>-XV</b>, but uses <i>x</i> and  <i>y</i>  as  the  VERP  delimiter
+              characters,  instead  of  the  characters specified
+              with  the   <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>   configuration
               parameter.
 
-       <b>-v</b>     Send an email report of the first delivery  attempt
-              (Postfix  versions  2.1  and  later). Mail delivery
-              always happens in the background. When multiple  <b>-v</b>
+       <b>-v</b>     Send  an email report of the first delivery attempt
+              (Postfix versions 2.1  and  later).  Mail  delivery
+              always  happens in the background. When multiple <b>-v</b>
               options  are  given,  enable  verbose  logging  for
               debugging purposes.
 
        <b>-X</b> <i>log</i><b>_</b><i>file</i> (ignored)
-              Log mailer traffic.  Use  the  <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a></b>  and
-              <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a></b>  configuration parameters instead.
+              Log  mailer  traffic.  Use  the <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a></b> and
+              <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a></b> configuration parameters  instead.
 
 <b>SECURITY</b>
-       By design, this program is not  set-user  (or  group)  id.
-       However,  it  must  handle  data  from untrusted, possibly
-       remote, users.  Thus, the usual  precautions  need  to  be
+       By  design,  this  program  is not set-user (or group) id.
+       However, it must  handle  data  from  untrusted,  possibly
+       remote,  users.   Thus,  the  usual precautions need to be
        taken against malicious inputs.
 
 <b>DIAGNOSTICS</b>
-       Problems  are  logged  to  <b>syslogd</b>(8)  and to the standard
+       Problems are logged to  <b>syslogd</b>(8)  and  to  the  standard
        error stream.
 
 <b>ENVIRONMENT</b>
@@ -323,29 +322,29 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>MAIL_DEBUG</b> (value does not matter)
               Enable debugging with an external command, as spec-
-              ified   with   the  <b><a href="postconf.5.html#debugger_command">debugger_command</a></b>  configuration
+              ified  with  the   <b><a href="postconf.5.html#debugger_command">debugger_command</a></b>   configuration
               parameter.
 
-       <b>NAME</b>   The sender full name. This is used only  with  mes-
-              sages  that  have no <b>From:</b> message header. See also
+       <b>NAME</b>   The  sender  full name. This is used only with mes-
+              sages that have no <b>From:</b> message header.  See  also
               the <b>-F</b> option above.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are  especially  relevant
+       The  following  <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
        to this program.  The text below provides only a parameter
-       summary. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including  exam-
+       summary.  See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including exam-
        ples.
 
 <b>COMPATIBILITY CONTROLS</b>
        Available with Postfix 2.9 and later:
 
        <b><a href="postconf.5.html#sendmail_fix_line_endings">sendmail_fix_line_endings</a> (always)</b>
-              Controls  how the Postfix sendmail command converts
-              email message line endings from &lt;CR&gt;&lt;LF&gt; into  UNIX
+              Controls how the Postfix sendmail command  converts
+              email  message line endings from &lt;CR&gt;&lt;LF&gt; into UNIX
               format (&lt;LF&gt;).
 
 <b>TROUBLE SHOOTING CONTROLS</b>
-       The  <a href="DEBUG_README.html">DEBUG_README</a>  file  gives  examples of how to trouble
+       The <a href="DEBUG_README.html">DEBUG_README</a> file gives examples  of  how  to  trouble
        shoot a Postfix system.
 
        <b><a href="postconf.5.html#debugger_command">debugger_command</a> (empty)</b>
@@ -353,29 +352,29 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               mon program is invoked with the -D option.
 
        <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b>
-              The  increment  in  verbose  logging  level  when a
-              remote client or server matches a  pattern  in  the
+              The increment  in  verbose  logging  level  when  a
+              remote  client  or  server matches a pattern in the
               <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.
 
        <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b>
-              Optional  list  of remote client or server hostname
-              or network address patterns that cause the  verbose
-              logging  level  to increase by the amount specified
+              Optional list of remote client or  server  hostname
+              or  network address patterns that cause the verbose
+              logging level to increase by the  amount  specified
               in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
 
 <b>ACCESS CONTROLS</b>
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#authorized_flush_users">authorized_flush_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users  who  are  authorized  to  flush  the
+              List  of  users  who  are  authorized  to flush the
               queue.
 
        <b><a href="postconf.5.html#authorized_mailq_users">authorized_mailq_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
               List of users who are authorized to view the queue.
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users who are  authorized  to  submit  mail
-              with  the  <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command (and with the privi-
+              List  of  users  who  are authorized to submit mail
+              with the <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command (and with  the  privi-
               leged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper command).
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -384,7 +383,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               sent in a non-delivery notification.
 
        <b><a href="postconf.5.html#fork_attempts">fork_attempts</a> (5)</b>
-              The  maximal  number  of attempts to fork() a child
+              The maximal number of attempts to  fork()  a  child
               process.
 
        <b><a href="postconf.5.html#fork_delay">fork_delay</a> (1s)</b>
@@ -392,11 +391,11 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               process.
 
        <b><a href="postconf.5.html#hopcount_limit">hopcount_limit</a> (50)</b>
-              The  maximal  number  of Received:  message headers
+              The maximal number of  Received:   message  headers
               that is allowed in the primary message headers.
 
        <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
-              The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the  queue
+              The  time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
               manager; prior to Postfix 2.4 the default value was
               1000s.
 
@@ -406,37 +405,37 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
               Optional list of destinations that are eligible for
-              per-destination logfiles with mail that  is  queued
+              per-destination  logfiles  with mail that is queued
               to those destinations.
 
 <b>VERP CONTROLS</b>
        The <a href="VERP_README.html">VERP_README</a> file describes configuration and operation
-       details of Postfix support for  variable  envelope  return
+       details  of  Postfix  support for variable envelope return
        path addresses.
 
        <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a> (+=)</b>
               The two default VERP delimiter characters.
 
        <b><a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> (-=+)</b>
-              The  characters  Postfix  accepts as VERP delimiter
-              characters on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command  line
+              The characters Postfix accepts  as  VERP  delimiter
+              characters  on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command line
               and in SMTP commands.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#alias_database">alias_database</a> (see 'postconf -d' output)</b>
-              The  alias databases for <a href="local.8.html"><b>local</b>(8)</a> delivery that are
+              The alias databases for <a href="local.8.html"><b>local</b>(8)</a> delivery that  are
               updated with "<b>newaliases</b>" or with "<b>sendmail -bi</b>".
 
        <b><a href="postconf.5.html#command_directory">command_directory</a> (see 'postconf -d' output)</b>
-              The location of  all  postfix  administrative  com-
+              The  location  of  all  postfix administrative com-
               mands.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
-              The directory with  Postfix  support  programs  and
+              The  directory  with  Postfix  support programs and
               daemon programs.
 
        <b><a href="postconf.5.html#default_database_type">default_database_type</a> (see 'postconf -d' output)</b>
@@ -444,16 +443,16 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               <a href="postalias.1.html"><b>postalias</b>(1)</a> and <a href="postmap.1.html"><b>postmap</b>(1)</a> commands.
 
        <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a> (0h)</b>
-              The time after which the sender receives  the  mes-
+              The  time  after which the sender receives the mes-
               sage headers of mail that is still queued.
 
        <b><a href="postconf.5.html#enable_errors_to">enable_errors_to</a> (no)</b>
-              Report  mail  delivery errors to the address speci-
-              fied  with  the  non-standard  Errors-To:   message
-              header,  instead  of  the  envelope  sender address
-              (this feature is removed with Postfix version  2.2,
-              is  turned off by default with Postfix version 2.1,
-              and is always turned on  with  older  Postfix  ver-
+              Report mail delivery errors to the  address  speci-
+              fied   with  the  non-standard  Errors-To:  message
+              header, instead  of  the  envelope  sender  address
+              (this  feature is removed with Postfix version 2.2,
+              is turned off by default with Postfix version  2.1,
+              and  is  always  turned  on with older Postfix ver-
               sions).
 
        <b><a href="postconf.5.html#mail_owner">mail_owner</a> (postfix)</b>
@@ -461,21 +460,21 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               and most Postfix daemon processes.
 
        <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
-              The location of the Postfix top-level queue  direc-
+              The  location of the Postfix top-level queue direc-
               tory.
 
        <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> (empty)</b>
-              Don't  rewrite  message headers from remote clients
+              Don't rewrite message headers from  remote  clients
               at all when this parameter is empty; otherwise, re-
-              write  message  headers  and  append  the specified
+              write message  headers  and  append  the  specified
               domain name to incomplete addresses.
 
        <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
-              The mail system  name  that  is  prepended  to  the
-              process  name  in  syslog  records, so that "smtpd"
+              The  mail  system  name  that  is  prepended to the
+              process name in syslog  records,  so  that  "smtpd"
               becomes, for example, "postfix/smtpd".
 
 <b>FILES</b>
@@ -500,7 +499,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <a href="VERP_README.html">VERP_README</a>, Postfix VERP howto
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 43116cae01ecbdeaa1a03f25ad415cb064cbd5f5..4defc807bf66205d62e81d46091266dc1d8d1ebe 100644 (file)
@@ -213,8 +213,8 @@ OQMGR(8)                                                              OQMGR(8)
        <b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b>
               The  maximal number of recipients held in memory by
               the Postfix queue manager, and the maximal size  of
-              the size of the short-term, in-memory "dead" desti-
-              nation status cache.
+              the short-term, in-memory "dead" destination status
+              cache.
 
 <b>DELIVERY CONCURRENCY CONTROLS</b>
        <b><a href="postconf.5.html#qmgr_fudge_factor">qmgr_fudge_factor</a> (100)</b>
@@ -316,9 +316,9 @@ OQMGR(8)                                                              OQMGR(8)
        <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
               The  default  amount  of  delay  that  is  inserted
               between  individual deliveries to the same destina-
-              tion; with per-destination recipient limit &gt;  1,  a
-              destination  is a domain, otherwise it is a recipi-
-              ent.
+              tion; the resulting behavior depends on  the  value
+              of   the  corresponding  per-destination  recipient
+              limit.
 
        <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a>         $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_rate_delay">tion_rate_delay</a></b>
index 69804ac420d8ea70e85b57ee66406be7bca34a8f..52a5f474934e3d8446625d96e93bcc02ec6c54a4 100644 (file)
@@ -1204,9 +1204,10 @@ enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> par
 (default: 5d)</b></DT><DD>
 
 <p>
-The maximal time a bounce message is queued before it is considered
-undeliverable.  By default, this is the same as the queue life time
-for regular mail.
+Consider a bounce message as undeliverable, when delivery fails
+with a temporary error, and the time in the queue has reached the
+<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit.  By default, this limit is the same
+as for regular mail.
 </p>
 
 <p>
@@ -2019,10 +2020,25 @@ is the <a href="master.5.html">master.cf</a> name of the message delivery transp
 (default: 0s)</b></DT><DD>
 
 <p> The default amount of delay that is inserted between individual
-deliveries to the same destination; with per-destination recipient
-limit &gt; 1, a destination is a domain, otherwise it is a recipient.
+deliveries to the same destination; the resulting behavior depends
+on the value of the corresponding per-destination recipient limit.
 </p>
 
+<ul>
+
+<li> <p> With a corresponding per-destination recipient limit &gt;
+1, the rate delay specifies the time between deliveries to the
+<i>same domain</i>.  Different domains are delivered in parallel,
+subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
+
+<li> <p> With a corresponding per-destination recipient limit equal
+to 1, the rate delay specifies the time between deliveries to the
+<i>same recipient</i>. Different recipients are delivered in
+parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
+</p>
+
+</ul>
+
 <p> To enable the delay, specify a non-zero time value (an integral
 value plus an optional one-letter suffix that specifies the time
 unit). </p>
@@ -2059,9 +2075,29 @@ This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>
 <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
 </p>
 
-<p> Setting this parameter to a value of 1 changes the meaning of
-the corresponding per-destination concurrency limit from concurrency
-per domain into concurrency per recipient.  </p>
+<p> Setting this parameter to a value of 1 affects email deliveries
+as follows:</p>
+
+<ul>
+
+<li> <p> It changes the meaning of the corresponding per-destination
+concurrency limit, from concurrency of deliveries to the <i>same
+domain</i> into concurrency of deliveries to the <i>same recipient</i>.
+Different recipients are delivered in parallel, subject to the
+process limits specified in <a href="master.5.html">master.cf</a>. </p>
+
+<li> <p> It changes the meaning of the corresponding per-destination
+rate delay, from the delay between deliveries to the <i>same
+domain</i> into the delay between deliveries to the <i>same
+recipient</i>.  Again, different recipients are delivered in parallel,
+subject to the process limits specified in <a href="master.5.html">master.cf</a>.  </p>
+
+<li> <p> It changes the meaning of other corresponding per-destination
+settings in a similar manner, from settings for delivery to the
+<i>same domain</i> into settings for delivery to the <i>same
+recipient</i>.
+
+</ul>
 
 <p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
 transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
@@ -5849,8 +5885,9 @@ The default time unit is s (seconds).
 (default: 5d)</b></DT><DD>
 
 <p>
-The maximal time a message is queued before it is sent back as
-undeliverable.
+Consider a message as undeliverable, when delivery fails with a
+temporary error, and the time in the queue has reached the
+<a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
 </p>
 
 <p>
@@ -7717,6 +7754,26 @@ that connect only to backup MX addresses will never become whitelisted,
 and will never be allowed to talk to a Postfix SMTP server process.
 </p>
 
+<p> Specify a list of network addresses or network/netmask patterns,
+separated by commas and/or whitespace. The netmask specifies the
+number of bits in the network part of a host address. Continue long
+lines by starting the next line with whitespace. </p>
+
+<p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns.  A
+"/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
+lookup table is matched when a table entry matches a lookup string
+(the lookup result is ignored). </p>
+
+<p> The list is matched left to right, and the search stops on the
+first match. Specify "!pattern" to exclude an address or network
+block from the list.  </p>
+
+<p> Note: IP version 6 address information must be specified inside
+[] in the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> value, and in files
+specified with "/file/name".  IP version 6 addresses contain the
+":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
+pattern. </p>
+
 <p> Example: </p>
 
 <pre>
@@ -7999,7 +8056,7 @@ The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">
 (default: 20000)</b></DT><DD>
 
 <p> The maximal number of recipients held in memory by the Postfix
-queue manager, and the maximal size of the size of the short-term,
+queue manager, and the maximal size of the short-term,
 in-memory "dead" destination status cache.  </p>
 
 
@@ -9643,6 +9700,11 @@ By default, mail is returned to the sender when a destination is
 not found, and delivery is deferred when a destination is unreachable.
 </p>
 
+<p> With bulk email deliveries, it can be beneficial to run the
+fallback relay MTA on the same host, so that it can reuse the sender
+IP address.  This speeds up deliveries that are delayed by IP-based
+reputation systems (greylist, etc.). </p>
+
 <p> The fallback relays must be SMTP destinations. Specify a domain,
 host, host:port, [host]:port, [address] or [address]:port; the form
 [host] turns off MX lookups.  If you specify multiple SMTP
@@ -12565,7 +12627,7 @@ feature: </p>
 <pre>
     # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
     # to send bounced mail to the postmaster (with message body removed).
-    /^(RCPT\s+TO:.*?)\bNOTIFY=\S+\b(.*)/ $1 NOTIFY=NEVER $2
+    /^(RCPT\s+TO:&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
     /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
 </pre>
 
index 06aa2f69266bfa847776695c1fbfbfa1fdc89b55..157961cb473c110effe2a874e68f5dbc3b642e4d 100644 (file)
@@ -219,8 +219,8 @@ QMGR(8)                                                                QMGR(8)
        <b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b>
               The maximal number of recipients held in memory  by
               the  Postfix queue manager, and the maximal size of
-              the size of the short-term, in-memory "dead" desti-
-              nation status cache.
+              the short-term, in-memory "dead" destination status
+              cache.
 
        <b><a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a> (10)</b>
               The  minimal number of in-memory recipients for any
@@ -388,9 +388,9 @@ QMGR(8)                                                                QMGR(8)
        <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
               The  default  amount  of  delay  that  is  inserted
               between  individual deliveries to the same destina-
-              tion; with per-destination recipient limit &gt;  1,  a
-              destination  is a domain, otherwise it is a recipi-
-              ent.
+              tion; the resulting behavior depends on  the  value
+              of   the  corresponding  per-destination  recipient
+              limit.
 
        <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a>         $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_rate_delay">tion_rate_delay</a></b>
index 32de6bf2d17cda7cc3edc862c75fea0c9f158346..3fa1ae37f6c7f764e2b23742f80e45fb9a109560 100644 (file)
@@ -219,52 +219,51 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-R</b> <i>return</i>
               Delivery  status  notification  control.    Specify
-              "hdrs"  to  return  only  the  header  if a message
+              "hdrs"  to  return  only  the header when a message
               bounces, "full" to return a full copy (the  default
               behavior).
 
-              The  <b>-R</b>  option specifies an upper bound; for exam-
-              ple, Postfix will return only the  header,  when  a
-              full  copy  would exceed the <a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> set-
-              ting.
+              The  <b>-R</b>  option  specifies  an upper bound; Postfix
+              will return only the header, when a full copy would
+              exceed the <a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> setting.
 
               This option is ignored before Postfix version 2.10.
 
-       <b>-q</b>     Attempt  to deliver all queued mail. This is imple-
+       <b>-q</b>     Attempt to deliver all queued mail. This is  imple-
               mented by executing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
               Warning:  flushing  undeliverable  mail  frequently
-              will  result  in  poor  delivery performance of all
+              will result in poor  delivery  performance  of  all
               other mail.
 
        <b>-q</b><i>interval</i> (ignored)
-              The  interval   between   queue   runs.   Use   the
+              The   interval   between   queue   runs.   Use  the
               <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> configuration parameter instead.
 
        <b>-qI</b><i>queueid</i>
               Schedule immediate delivery of mail with the speci-
-              fied queue ID.  This option is implemented by  exe-
-              cuting  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command, and is available
+              fied  queue ID.  This option is implemented by exe-
+              cuting the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command, and  is  available
               with Postfix version 2.4 and later.
 
        <b>-qR</b><i>site</i>
-              Schedule immediate delivery of  all  mail  that  is
+              Schedule  immediate  delivery  of  all mail that is
               queued for the named <i>site</i>. This option accepts only
-              <i>site</i> names that are eligible for the  "fast  flush"
-              service,   and  is  implemented  by  executing  the
+              <i>site</i>  names  that are eligible for the "fast flush"
+              service,  and  is  implemented  by  executing   the
               <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flush.8.html"><b>flush</b>(8)</a> for more infor-
               mation about the "fast flush" service.
 
        <b>-qS</b><i>site</i>
-              This  command  is  not  implemented. Use the slower
+              This command is not  implemented.  Use  the  slower
               "<b>sendmail -q</b>" command instead.
 
-       <b>-t</b>     Extract recipients from message headers. These  are
-              added  to  any  recipients specified on the command
+       <b>-t</b>     Extract  recipients from message headers. These are
+              added to any recipients specified  on  the  command
               line.
 
-              With Postfix versions prior  to  2.1,  this  option
-              requires  that no recipient addresses are specified
+              With  Postfix  versions  prior  to 2.1, this option
+              requires that no recipient addresses are  specified
               on the command line.
 
        <b>-U</b> (ignored)
@@ -277,41 +276,41 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               This feature is available in Postfix 2.3 and later.
 
        <b>-XV</b> (Postfix 2.2 and earlier: <b>-V</b>)
-              Variable Envelope Return Path.  Given  an  envelope
-              sender  address  of the form <i>owner-listname</i>@<i>origin</i>,
-              each recipient <i>user</i>@<i>domain</i>  receives  mail  with  a
+              Variable  Envelope  Return  Path. Given an envelope
+              sender address of the  form  <i>owner-listname</i>@<i>origin</i>,
+              each  recipient  <i>user</i>@<i>domain</i>  receives  mail with a
               personalized envelope sender address.
 
-              By   default,   the  personalized  envelope  sender
-              address is  <i>owner-listname</i><b>+</b><i>user</i><b>=</b><i>domain</i>@<i>origin</i>.  The
-              default  <b>+</b>  and  <b>=</b> characters are configurable with
-              the <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration  parame-
+              By  default,  the  personalized   envelope   sender
+              address  is  <i>owner-listname</i><b>+</b><i>user</i><b>=</b><i>domain</i>@<i>origin</i>. The
+              default <b>+</b> and <b>=</b> characters  are  configurable  with
+              the  <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration parame-
               ter.
 
        <b>-XV</b><i>xy</i> (Postfix 2.2 and earlier: <b>-V</b><i>xy</i>)
-              As  <b>-XV</b>,  but  uses  <i>x</i>  and <i>y</i> as the VERP delimiter
-              characters, instead  of  the  characters  specified
-              with   the   <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>  configuration
+              As <b>-XV</b>, but uses <i>x</i> and  <i>y</i>  as  the  VERP  delimiter
+              characters,  instead  of  the  characters specified
+              with  the   <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a></b>   configuration
               parameter.
 
-       <b>-v</b>     Send an email report of the first delivery  attempt
-              (Postfix  versions  2.1  and  later). Mail delivery
-              always happens in the background. When multiple  <b>-v</b>
+       <b>-v</b>     Send  an email report of the first delivery attempt
+              (Postfix versions 2.1  and  later).  Mail  delivery
+              always  happens in the background. When multiple <b>-v</b>
               options  are  given,  enable  verbose  logging  for
               debugging purposes.
 
        <b>-X</b> <i>log</i><b>_</b><i>file</i> (ignored)
-              Log mailer traffic.  Use  the  <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a></b>  and
-              <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a></b>  configuration parameters instead.
+              Log  mailer  traffic.  Use  the <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a></b> and
+              <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a></b> configuration parameters  instead.
 
 <b>SECURITY</b>
-       By design, this program is not  set-user  (or  group)  id.
-       However,  it  must  handle  data  from untrusted, possibly
-       remote, users.  Thus, the usual  precautions  need  to  be
+       By  design,  this  program  is not set-user (or group) id.
+       However, it must  handle  data  from  untrusted,  possibly
+       remote,  users.   Thus,  the  usual precautions need to be
        taken against malicious inputs.
 
 <b>DIAGNOSTICS</b>
-       Problems  are  logged  to  <b>syslogd</b>(8)  and to the standard
+       Problems are logged to  <b>syslogd</b>(8)  and  to  the  standard
        error stream.
 
 <b>ENVIRONMENT</b>
@@ -323,29 +322,29 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>MAIL_DEBUG</b> (value does not matter)
               Enable debugging with an external command, as spec-
-              ified   with   the  <b><a href="postconf.5.html#debugger_command">debugger_command</a></b>  configuration
+              ified  with  the   <b><a href="postconf.5.html#debugger_command">debugger_command</a></b>   configuration
               parameter.
 
-       <b>NAME</b>   The sender full name. This is used only  with  mes-
-              sages  that  have no <b>From:</b> message header. See also
+       <b>NAME</b>   The  sender  full name. This is used only with mes-
+              sages that have no <b>From:</b> message header.  See  also
               the <b>-F</b> option above.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are  especially  relevant
+       The  following  <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
        to this program.  The text below provides only a parameter
-       summary. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including  exam-
+       summary.  See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including exam-
        ples.
 
 <b>COMPATIBILITY CONTROLS</b>
        Available with Postfix 2.9 and later:
 
        <b><a href="postconf.5.html#sendmail_fix_line_endings">sendmail_fix_line_endings</a> (always)</b>
-              Controls  how the Postfix sendmail command converts
-              email message line endings from &lt;CR&gt;&lt;LF&gt; into  UNIX
+              Controls how the Postfix sendmail command  converts
+              email  message line endings from &lt;CR&gt;&lt;LF&gt; into UNIX
               format (&lt;LF&gt;).
 
 <b>TROUBLE SHOOTING CONTROLS</b>
-       The  <a href="DEBUG_README.html">DEBUG_README</a>  file  gives  examples of how to trouble
+       The <a href="DEBUG_README.html">DEBUG_README</a> file gives examples  of  how  to  trouble
        shoot a Postfix system.
 
        <b><a href="postconf.5.html#debugger_command">debugger_command</a> (empty)</b>
@@ -353,29 +352,29 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               mon program is invoked with the -D option.
 
        <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b>
-              The  increment  in  verbose  logging  level  when a
-              remote client or server matches a  pattern  in  the
+              The increment  in  verbose  logging  level  when  a
+              remote  client  or  server matches a pattern in the
               <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.
 
        <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b>
-              Optional  list  of remote client or server hostname
-              or network address patterns that cause the  verbose
-              logging  level  to increase by the amount specified
+              Optional list of remote client or  server  hostname
+              or  network address patterns that cause the verbose
+              logging level to increase by the  amount  specified
               in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
 
 <b>ACCESS CONTROLS</b>
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#authorized_flush_users">authorized_flush_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users  who  are  authorized  to  flush  the
+              List  of  users  who  are  authorized  to flush the
               queue.
 
        <b><a href="postconf.5.html#authorized_mailq_users">authorized_mailq_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
               List of users who are authorized to view the queue.
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users who are  authorized  to  submit  mail
-              with  the  <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command (and with the privi-
+              List  of  users  who  are authorized to submit mail
+              with the <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command (and with  the  privi-
               leged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper command).
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -384,7 +383,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               sent in a non-delivery notification.
 
        <b><a href="postconf.5.html#fork_attempts">fork_attempts</a> (5)</b>
-              The  maximal  number  of attempts to fork() a child
+              The maximal number of attempts to  fork()  a  child
               process.
 
        <b><a href="postconf.5.html#fork_delay">fork_delay</a> (1s)</b>
@@ -392,11 +391,11 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               process.
 
        <b><a href="postconf.5.html#hopcount_limit">hopcount_limit</a> (50)</b>
-              The  maximal  number  of Received:  message headers
+              The maximal number of  Received:   message  headers
               that is allowed in the primary message headers.
 
        <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
-              The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the  queue
+              The  time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
               manager; prior to Postfix 2.4 the default value was
               1000s.
 
@@ -406,37 +405,37 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
               Optional list of destinations that are eligible for
-              per-destination logfiles with mail that  is  queued
+              per-destination  logfiles  with mail that is queued
               to those destinations.
 
 <b>VERP CONTROLS</b>
        The <a href="VERP_README.html">VERP_README</a> file describes configuration and operation
-       details of Postfix support for  variable  envelope  return
+       details  of  Postfix  support for variable envelope return
        path addresses.
 
        <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a> (+=)</b>
               The two default VERP delimiter characters.
 
        <b><a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> (-=+)</b>
-              The  characters  Postfix  accepts as VERP delimiter
-              characters on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command  line
+              The characters Postfix accepts  as  VERP  delimiter
+              characters  on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command line
               and in SMTP commands.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#alias_database">alias_database</a> (see 'postconf -d' output)</b>
-              The  alias databases for <a href="local.8.html"><b>local</b>(8)</a> delivery that are
+              The alias databases for <a href="local.8.html"><b>local</b>(8)</a> delivery that  are
               updated with "<b>newaliases</b>" or with "<b>sendmail -bi</b>".
 
        <b><a href="postconf.5.html#command_directory">command_directory</a> (see 'postconf -d' output)</b>
-              The location of  all  postfix  administrative  com-
+              The  location  of  all  postfix administrative com-
               mands.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
-              The directory with  Postfix  support  programs  and
+              The  directory  with  Postfix  support programs and
               daemon programs.
 
        <b><a href="postconf.5.html#default_database_type">default_database_type</a> (see 'postconf -d' output)</b>
@@ -444,16 +443,16 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               <a href="postalias.1.html"><b>postalias</b>(1)</a> and <a href="postmap.1.html"><b>postmap</b>(1)</a> commands.
 
        <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a> (0h)</b>
-              The time after which the sender receives  the  mes-
+              The  time  after which the sender receives the mes-
               sage headers of mail that is still queued.
 
        <b><a href="postconf.5.html#enable_errors_to">enable_errors_to</a> (no)</b>
-              Report  mail  delivery errors to the address speci-
-              fied  with  the  non-standard  Errors-To:   message
-              header,  instead  of  the  envelope  sender address
-              (this feature is removed with Postfix version  2.2,
-              is  turned off by default with Postfix version 2.1,
-              and is always turned on  with  older  Postfix  ver-
+              Report mail delivery errors to the  address  speci-
+              fied   with  the  non-standard  Errors-To:  message
+              header, instead  of  the  envelope  sender  address
+              (this  feature is removed with Postfix version 2.2,
+              is turned off by default with Postfix version  2.1,
+              and  is  always  turned  on with older Postfix ver-
               sions).
 
        <b><a href="postconf.5.html#mail_owner">mail_owner</a> (postfix)</b>
@@ -461,21 +460,21 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               and most Postfix daemon processes.
 
        <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
-              The location of the Postfix top-level queue  direc-
+              The  location of the Postfix top-level queue direc-
               tory.
 
        <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> (empty)</b>
-              Don't  rewrite  message headers from remote clients
+              Don't rewrite message headers from  remote  clients
               at all when this parameter is empty; otherwise, re-
-              write  message  headers  and  append  the specified
+              write message  headers  and  append  the  specified
               domain name to incomplete addresses.
 
        <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
-              The mail system  name  that  is  prepended  to  the
-              process  name  in  syslog  records, so that "smtpd"
+              The  mail  system  name  that  is  prepended to the
+              process name in syslog  records,  so  that  "smtpd"
               becomes, for example, "postfix/smtpd".
 
 <b>FILES</b>
@@ -500,7 +499,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <a href="VERP_README.html">VERP_README</a>, Postfix VERP howto
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index d9149b4e5af0bd94fcf6f379ef32773f8103279e..050c878783d2468732140f4164a803688c92900a 100644 (file)
@@ -204,8 +204,9 @@ case "$SYSTEM.$RELEASE" in
                    5.[0-7]|5.[0-7].*) CCARGS="$CCARGS -DNO_IPV6 -DNO_DEVPOLL";;
                esac
                # Solaris 9 added closefrom(), futimesat() and /dev/*random
+               # and appears to have solid UNIX-domain sockets.
                case $RELEASE in
-                   5.[0-8]|5.[0-8].*) CCARGS="$CCARGS -DNO_CLOSEFROM -DNO_DEV_URANDOM -DNO_FUTIMESAT";;
+                   5.[0-8]|5.[0-8].*) CCARGS="$CCARGS -DNO_CLOSEFROM -DNO_DEV_URANDOM -DNO_FUTIMESAT -DSTREAM_CONNECTIONS";;
                esac
                # Work around broken str*casecmp(). Do it all here instead
                # of having half the solution in the sys_defs.h file.
index 9d16aa23a4681b9c1b377423b5636cce09a49da2..f7ad3116a46cb21c7ebc8ae164834476d3c2945a 100644 (file)
@@ -181,12 +181,12 @@ delivery problems are sent to. With Postfix versions before 2.1, the
 \fBErrors-To:\fR message header overrides the error return address.
 .IP "\fB-R \fIreturn\fR"
 Delivery status notification control.  Specify "hdrs" to
-return only the header if a message bounces, "full" to
+return only the header when a message bounces, "full" to
 return a full copy (the default behavior).
 
-The \fB-R\fR option specifies an upper bound; for example,
-Postfix will return only the header, when a full copy would
-exceed the bounce_size_limit setting.
+The \fB-R\fR option specifies an upper bound; Postfix will
+return only the header, when a full copy would exceed the
+bounce_size_limit setting.
 
 This option is ignored before Postfix version 2.10.
 .IP \fB-q\fR
index 977b013cd8af22ddedd94c4a837224f49c3502d9..272eb21da410fa7df660e2a583d5369b07bbedfb 100644 (file)
@@ -35,17 +35,17 @@ to reload the configuration.
 .fi
 The general format of the master.cf file is as follows:
 .IP \(bu
-Each logical line defines a single Postfix service.
-Each service is identified by its name and type as described
-below.  When multiple lines specify the same service name
-and type, only the last one is remembered.  Otherwise, the
-order of master.cf service definitions does not matter.
-.IP \(bu
 Empty lines and whitespace-only lines are ignored, as are
 lines whose first non-whitespace character is a `#'.
 .IP \(bu
 A logical line starts with non-whitespace text. A line that
 starts with whitespace continues a logical line.
+.IP \(bu
+Each logical line defines a single Postfix service.
+Each service is identified by its name and type as described
+below.  When multiple lines specify the same service name
+and type, only the last one is remembered.  Otherwise, the
+order of master.cf service definitions does not matter.
 .PP
 Each logical line consists of eight fields separated by
 whitespace.  These are described below in the order as they
index 76f1c736acf1b14a63627d3be53d6288fa7eebf3..67797c874766e74af8f31f94043eeba43c6f8e4e 100644 (file)
@@ -683,9 +683,10 @@ of mail that Postfix did not deliver and of SMTP conversation
 transcripts of mail that Postfix did not receive.  This feature is
 enabled with the notify_classes parameter.
 .SH bounce_queue_lifetime (default: 5d)
-The maximal time a bounce message is queued before it is considered
-undeliverable.  By default, this is the same as the queue life time
-for regular mail.
+Consider a bounce message as undeliverable, when delivery fails
+with a temporary error, and the time in the queue has reached the
+bounce_queue_lifetime limit.  By default, this limit is the same
+as for regular mail.
 .PP
 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
 The default time unit is d (days).
@@ -1177,8 +1178,18 @@ is the master.cf name of the message delivery transport.
 This feature is available in Postfix 2.5 and later.
 .SH default_destination_rate_delay (default: 0s)
 The default amount of delay that is inserted between individual
-deliveries to the same destination; with per-destination recipient
-limit > 1, a destination is a domain, otherwise it is a recipient.
+deliveries to the same destination; the resulting behavior depends
+on the value of the corresponding per-destination recipient limit.
+.IP \(bu
+With a corresponding per-destination recipient limit >
+1, the rate delay specifies the time between deliveries to the
+\fIsame domain\fR.  Different domains are delivered in parallel,
+subject to the process limits specified in master.cf.
+.IP \(bu
+With a corresponding per-destination recipient limit equal
+to 1, the rate delay specifies the time between deliveries to the
+\fIsame recipient\fR. Different recipients are delivered in
+parallel, subject to the process limits specified in master.cf.
 .PP
 To enable the delay, specify a non-zero time value (an integral
 value plus an optional one-letter suffix that specifies the time
@@ -1206,9 +1217,25 @@ The default maximal number of recipients per message delivery.
 This is the default limit for delivery via the \fBlmtp\fR(8), \fBpipe\fR(8),
 \fBsmtp\fR(8) and \fBvirtual\fR(8) delivery agents.
 .PP
-Setting this parameter to a value of 1 changes the meaning of
-the corresponding per-destination concurrency limit from concurrency
-per domain into concurrency per recipient.
+Setting this parameter to a value of 1 affects email deliveries
+as follows:
+.IP \(bu
+It changes the meaning of the corresponding per-destination
+concurrency limit, from concurrency of deliveries to the \fIsame
+domain\fR into concurrency of deliveries to the \fIsame recipient\fR.
+Different recipients are delivered in parallel, subject to the
+process limits specified in master.cf.
+.IP \(bu
+It changes the meaning of the corresponding per-destination
+rate delay, from the delay between deliveries to the \fIsame
+domain\fR into the delay between deliveries to the \fIsame
+recipient\fR.  Again, different recipients are delivered in parallel,
+subject to the process limits specified in master.cf.
+.IP \(bu
+It changes the meaning of other corresponding per-destination
+settings in a similar manner, from settings for delivery to the
+\fIsame domain\fR into settings for delivery to the \fIsame
+recipient\fR.
 .PP
 Use \fItransport\fR_destination_recipient_limit to specify a
 transport-specific override, where \fItransport\fR is the master.cf
@@ -3292,8 +3319,9 @@ to $minimal_backoff_time. See also $queue_run_delay.
 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
 The default time unit is s (seconds).
 .SH maximal_queue_lifetime (default: 5d)
-The maximal time a message is queued before it is sent back as
-undeliverable.
+Consider a message as undeliverable, when delivery fails with a
+temporary error, and the time in the queue has reached the
+maximal_queue_lifetime limit.
 .PP
 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
 The default time unit is d (days).
@@ -4475,6 +4503,26 @@ can talk to a Postfix SMTP server on any address. Thus, clients
 that connect only to backup MX addresses will never become whitelisted,
 and will never be allowed to talk to a Postfix SMTP server process.
 .PP
+Specify a list of network addresses or network/netmask patterns,
+separated by commas and/or whitespace. The netmask specifies the
+number of bits in the network part of a host address. Continue long
+lines by starting the next line with whitespace.
+.PP
+You can also specify "/file/name" or "type:table" patterns.  A
+"/file/name" pattern is replaced by its contents; a "type:table"
+lookup table is matched when a table entry matches a lookup string
+(the lookup result is ignored).
+.PP
+The list is matched left to right, and the search stops on the
+first match. Specify "!pattern" to exclude an address or network
+block from the list.
+.PP
+Note: IP version 6 address information must be specified inside
+[] in the postscreen_whitelist_interfaces value, and in files
+specified with "/file/name".  IP version 6 addresses contain the
+":" character, and would otherwise be confused with a "type:table"
+pattern.
+.PP
 Example:
 .PP
 .nf
@@ -4626,7 +4674,7 @@ This feature is available in Postfix 2.8 and later.
 The maximal number of messages in the active queue.
 .SH qmgr_message_recipient_limit (default: 20000)
 The maximal number of recipients held in memory by the Postfix
-queue manager, and the maximal size of the size of the short-term,
+queue manager, and the maximal size of the short-term,
 in-memory "dead" destination status cache.
 .SH qmgr_message_recipient_minimum (default: 10)
 The minimal number of in-memory recipients for any message. This
@@ -5643,6 +5691,11 @@ parameter is called fallback_relay.
 By default, mail is returned to the sender when a destination is
 not found, and delivery is deferred when a destination is unreachable.
 .PP
+With bulk email deliveries, it can be beneficial to run the
+fallback relay MTA on the same host, so that it can reuse the sender
+IP address.  This speeds up deliveries that are delayed by IP-based
+reputation systems (greylist, etc.).
+.PP
 The fallback relays must be SMTP destinations. Specify a domain,
 host, host:port, [host]:port, [address] or [address]:port; the form
 [host] turns off MX lookups.  If you specify multiple SMTP
@@ -7912,7 +7965,7 @@ feature:
 .ft C
     # Bounce-never mail sink. Use notify_classes=bounce,resource,software
     # to send bounced mail to the postmaster (with message body removed).
-    /^(RCPT\es+TO:.*?)\ebNOTIFY=\eS+\eb(.*)/ $1 NOTIFY=NEVER $2
+    /^(RCPT\es+TO:<.*>.*)\es+NOTIFY=\eS+(.*)/ $1 NOTIFY=NEVER$2
     /^(RCPT\es+TO:.*)/                    $1 NOTIFY=NEVER
 .fi
 .ad
index 6019d2bacd7eb876a86739d0ad7c5ba08a94306b..bfd7f03d437e83f4af28586cc2de30adf28fbfd6 100644 (file)
@@ -201,7 +201,7 @@ clogging up the Postfix active queue.
 The maximal number of messages in the active queue.
 .IP "\fBqmgr_message_recipient_limit (20000)\fR"
 The maximal number of recipients held in memory by the Postfix
-queue manager, and the maximal size of the size of the short-term,
+queue manager, and the maximal size of the short-term,
 in-memory "dead" destination status cache.
 .SH "DELIVERY CONCURRENCY CONTROLS"
 .na
@@ -283,8 +283,8 @@ undeliverable.
 Available in Postfix version 2.5 and later:
 .IP "\fBdefault_destination_rate_delay (0s)\fR"
 The default amount of delay that is inserted between individual
-deliveries to the same destination; with per-destination recipient
-limit > 1, a destination is a domain, otherwise it is a recipient.
+deliveries to the same destination; the resulting behavior depends
+on the value of the corresponding per-destination recipient limit.
 .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay
 Idem, for delivery via the named message \fItransport\fR.
 .SH "SAFETY CONTROLS"
index 550a91a203b6d251f40fe4db162610b96496caaa..3aa92ff5d8b267c7bb311ba646097b5cb4bb333c 100644 (file)
@@ -205,7 +205,7 @@ clogging up the Postfix active queue.
 The maximal number of messages in the active queue.
 .IP "\fBqmgr_message_recipient_limit (20000)\fR"
 The maximal number of recipients held in memory by the Postfix
-queue manager, and the maximal size of the size of the short-term,
+queue manager, and the maximal size of the short-term,
 in-memory "dead" destination status cache.
 .IP "\fBqmgr_message_recipient_minimum (10)\fR"
 The minimal number of in-memory recipients for any message.
@@ -331,8 +331,8 @@ undeliverable.
 Available in Postfix version 2.5 and later:
 .IP "\fBdefault_destination_rate_delay (0s)\fR"
 The default amount of delay that is inserted between individual
-deliveries to the same destination; with per-destination recipient
-limit > 1, a destination is a domain, otherwise it is a recipient.
+deliveries to the same destination; the resulting behavior depends
+on the value of the corresponding per-destination recipient limit.
 .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay
 Idem, for delivery via the named message \fItransport\fR.
 .SH "SAFETY CONTROLS"
index c99cc08b11b12605d76f9993eddf09d243a26c86..b4aa01f216c2e80e6fcdb45fe2a014c77ca5881a 100644 (file)
@@ -132,7 +132,8 @@ and that is the problem that postscreen(8) is focused on.  </p>
 
 <h2> <a name="general"> General operation </a> </h2>
 
-<p> The postscreen(8) triage process involves a number of tests,
+<p> For each connection from an SMTP client, postscreen(8) performs
+a number of tests
 in the order as described below.  Some tests introduce a delay of
 a few seconds.  postscreen(8) maintains a temporary whitelist for
 clients that pass its tests; by allowing whitelisted clients to
index 82b183bcf38b9fd03f695ef2d70c85f55c0a3d84..9fda10188477381fa004f603ea550d41dc274dcc 100644 (file)
 # .fi
 #      The general format of the master.cf file is as follows:
 # .IP \(bu
-#      Each logical line defines a single Postfix service.
-#      Each service is identified by its name and type as described
-#      below.  When multiple lines specify the same service name
-#      and type, only the last one is remembered.  Otherwise, the
-#      order of master.cf service definitions does not matter.
-# .IP \(bu
 #      Empty lines and whitespace-only lines are ignored, as are
 #      lines whose first non-whitespace character is a `#'.
 # .IP \(bu
 #      A logical line starts with non-whitespace text. A line that
 #      starts with whitespace continues a logical line.
+# .IP \(bu
+#      Each logical line defines a single Postfix service.
+#      Each service is identified by its name and type as described
+#      below.  When multiple lines specify the same service name
+#      and type, only the last one is remembered.  Otherwise, the
+#      order of master.cf service definitions does not matter.
 # .PP
 #      Each logical line consists of eight fields separated by
 #      whitespace.  These are described below in the order as they
index df84dc128876259c72371eec62ff5b9f35769051..90f1be40257e342f4791385b237d909f24fddc77 100644 (file)
@@ -731,9 +731,10 @@ This feature is available in Postfix 2.0 and later.
 %PARAM bounce_queue_lifetime 5d
 
 <p>
-The maximal time a bounce message is queued before it is considered
-undeliverable.  By default, this is the same as the queue life time
-for regular mail.
+Consider a bounce message as undeliverable, when delivery fails
+with a temporary error, and the time in the queue has reached the
+bounce_queue_lifetime limit.  By default, this limit is the same
+as for regular mail.
 </p>
 
 <p>
@@ -1010,9 +1011,29 @@ This is the default limit for delivery via the lmtp(8), pipe(8),
 smtp(8) and virtual(8) delivery agents.
 </p>
 
-<p> Setting this parameter to a value of 1 changes the meaning of
-the corresponding per-destination concurrency limit from concurrency
-per domain into concurrency per recipient.  </p>
+<p> Setting this parameter to a value of 1 affects email deliveries
+as follows:</p>
+
+<ul>
+
+<li> <p> It changes the meaning of the corresponding per-destination
+concurrency limit, from concurrency of deliveries to the <i>same
+domain</i> into concurrency of deliveries to the <i>same recipient</i>.
+Different recipients are delivered in parallel, subject to the
+process limits specified in master.cf. </p>
+
+<li> <p> It changes the meaning of the corresponding per-destination
+rate delay, from the delay between deliveries to the <i>same
+domain</i> into the delay between deliveries to the <i>same
+recipient</i>.  Again, different recipients are delivered in parallel,
+subject to the process limits specified in master.cf.  </p>
+
+<li> <p> It changes the meaning of other corresponding per-destination
+settings in a similar manner, from settings for delivery to the
+<i>same domain</i> into settings for delivery to the <i>same
+recipient</i>.
+
+</ul>
 
 <p> Use <i>transport</i>_destination_recipient_limit to specify a
 transport-specific override, where <i>transport</i> is the master.cf
@@ -1410,6 +1431,11 @@ By default, mail is returned to the sender when a destination is
 not found, and delivery is deferred when a destination is unreachable.
 </p>
 
+<p> With bulk email deliveries, it can be beneficial to run the
+fallback relay MTA on the same host, so that it can reuse the sender
+IP address.  This speeds up deliveries that are delayed by IP-based
+reputation systems (greylist, etc.). </p>
+
 <p> The fallback relays must be SMTP destinations. Specify a domain,
 host, host:port, [host]:port, [address] or [address]:port; the form
 [host] turns off MX lookups.  If you specify multiple SMTP
@@ -2784,8 +2810,9 @@ The default time unit is s (seconds).
 %PARAM maximal_queue_lifetime 5d
 
 <p>
-The maximal time a message is queued before it is sent back as
-undeliverable.
+Consider a message as undeliverable, when delivery fails with a
+temporary error, and the time in the queue has reached the
+maximal_queue_lifetime limit. 
 </p>
 
 <p>
@@ -3180,7 +3207,7 @@ The maximal number of messages in the active queue.
 %PARAM qmgr_message_recipient_limit 20000
 
 <p> The maximal number of recipients held in memory by the Postfix
-queue manager, and the maximal size of the size of the short-term,
+queue manager, and the maximal size of the short-term,
 in-memory "dead" destination status cache.  </p>
 
 %PARAM qmgr_message_recipient_minimum 10
@@ -12398,10 +12425,25 @@ this case: "_recipient_refill_delay").  </p>
 %PARAM default_destination_rate_delay 0s
 
 <p> The default amount of delay that is inserted between individual
-deliveries to the same destination; with per-destination recipient
-limit &gt; 1, a destination is a domain, otherwise it is a recipient.
+deliveries to the same destination; the resulting behavior depends
+on the value of the corresponding per-destination recipient limit.
+</p>
+
+<ul>
+
+<li> <p> With a corresponding per-destination recipient limit &gt;
+1, the rate delay specifies the time between deliveries to the
+<i>same domain</i>.  Different domains are delivered in parallel,
+subject to the process limits specified in master.cf. </p>
+
+<li> <p> With a corresponding per-destination recipient limit equal
+to 1, the rate delay specifies the time between deliveries to the
+<i>same recipient</i>. Different recipients are delivered in
+parallel, subject to the process limits specified in master.cf.
 </p>
 
+</ul>
+
 <p> To enable the delay, specify a non-zero time value (an integral
 value plus an optional one-letter suffix that specifies the time
 unit). </p>
@@ -13287,7 +13329,7 @@ feature: </p>
 <pre>
     # Bounce-never mail sink. Use notify_classes=bounce,resource,software 
     # to send bounced mail to the postmaster (with message body removed).
-    /^(RCPT\s+TO:.*?)\bNOTIFY=\S+\b(.*)/ $1 NOTIFY=NEVER $2
+    /^(RCPT\s+TO:&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
     /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
 </pre>
 
@@ -14395,6 +14437,26 @@ that connect only to backup MX addresses will never become whitelisted,
 and will never be allowed to talk to a Postfix SMTP server process.
 </p>
 
+<p> Specify a list of network addresses or network/netmask patterns,
+separated by commas and/or whitespace. The netmask specifies the
+number of bits in the network part of a host address. Continue long
+lines by starting the next line with whitespace. </p>
+
+<p> You can also specify "/file/name" or "type:table" patterns.  A
+"/file/name" pattern is replaced by its contents; a "type:table"
+lookup table is matched when a table entry matches a lookup string
+(the lookup result is ignored). </p>
+
+<p> The list is matched left to right, and the search stops on the
+first match. Specify "!pattern" to exclude an address or network
+block from the list.  </p>
+
+<p> Note: IP version 6 address information must be specified inside
+[] in the postscreen_whitelist_interfaces value, and in files
+specified with "/file/name".  IP version 6 addresses contain the
+":" character, and would otherwise be confused with a "type:table"
+pattern. </p>
+
 <p> Example: </p>
 
 <pre>
index 2bc9da5489bc8c7812c93368f5a21e1148a1d94b..28afe9df65c668f57a764ed658ef481d27aabeee 100644 (file)
@@ -543,6 +543,7 @@ cleanup.o: ../../include/match_list.h
 cleanup.o: ../../include/milter.h
 cleanup.o: ../../include/mime_state.h
 cleanup.o: ../../include/msg.h
+cleanup.o: ../../include/myflock.h
 cleanup.o: ../../include/mymalloc.h
 cleanup.o: ../../include/nvtable.h
 cleanup.o: ../../include/rec_type.h
@@ -579,6 +580,7 @@ cleanup_addr.o: ../../include/match_list.h
 cleanup_addr.o: ../../include/milter.h
 cleanup_addr.o: ../../include/mime_state.h
 cleanup_addr.o: ../../include/msg.h
+cleanup_addr.o: ../../include/myflock.h
 cleanup_addr.o: ../../include/mymalloc.h
 cleanup_addr.o: ../../include/nvtable.h
 cleanup_addr.o: ../../include/rec_type.h
@@ -618,6 +620,7 @@ cleanup_api.o: ../../include/milter.h
 cleanup_api.o: ../../include/mime_state.h
 cleanup_api.o: ../../include/msg.h
 cleanup_api.o: ../../include/msg_stats.h
+cleanup_api.o: ../../include/myflock.h
 cleanup_api.o: ../../include/mymalloc.h
 cleanup_api.o: ../../include/nvtable.h
 cleanup_api.o: ../../include/rec_type.h
@@ -647,6 +650,7 @@ cleanup_body_edit.o: ../../include/match_list.h
 cleanup_body_edit.o: ../../include/milter.h
 cleanup_body_edit.o: ../../include/mime_state.h
 cleanup_body_edit.o: ../../include/msg.h
+cleanup_body_edit.o: ../../include/myflock.h
 cleanup_body_edit.o: ../../include/mymalloc.h
 cleanup_body_edit.o: ../../include/nvtable.h
 cleanup_body_edit.o: ../../include/rec_type.h
@@ -686,6 +690,7 @@ cleanup_bounce.o: ../../include/milter.h
 cleanup_bounce.o: ../../include/mime_state.h
 cleanup_bounce.o: ../../include/msg.h
 cleanup_bounce.o: ../../include/msg_stats.h
+cleanup_bounce.o: ../../include/myflock.h
 cleanup_bounce.o: ../../include/mymalloc.h
 cleanup_bounce.o: ../../include/nvtable.h
 cleanup_bounce.o: ../../include/rec_attr_map.h
@@ -721,6 +726,7 @@ cleanup_envelope.o: ../../include/match_list.h
 cleanup_envelope.o: ../../include/milter.h
 cleanup_envelope.o: ../../include/mime_state.h
 cleanup_envelope.o: ../../include/msg.h
+cleanup_envelope.o: ../../include/myflock.h
 cleanup_envelope.o: ../../include/mymalloc.h
 cleanup_envelope.o: ../../include/nvtable.h
 cleanup_envelope.o: ../../include/qmgr_user.h
@@ -758,6 +764,7 @@ cleanup_extracted.o: ../../include/match_list.h
 cleanup_extracted.o: ../../include/milter.h
 cleanup_extracted.o: ../../include/mime_state.h
 cleanup_extracted.o: ../../include/msg.h
+cleanup_extracted.o: ../../include/myflock.h
 cleanup_extracted.o: ../../include/mymalloc.h
 cleanup_extracted.o: ../../include/nvtable.h
 cleanup_extracted.o: ../../include/qmgr_user.h
@@ -790,6 +797,7 @@ cleanup_final.o: ../../include/match_list.h
 cleanup_final.o: ../../include/milter.h
 cleanup_final.o: ../../include/mime_state.h
 cleanup_final.o: ../../include/msg.h
+cleanup_final.o: ../../include/myflock.h
 cleanup_final.o: ../../include/mymalloc.h
 cleanup_final.o: ../../include/nvtable.h
 cleanup_final.o: ../../include/rec_type.h
@@ -824,6 +832,7 @@ cleanup_init.o: ../../include/match_list.h
 cleanup_init.o: ../../include/milter.h
 cleanup_init.o: ../../include/mime_state.h
 cleanup_init.o: ../../include/msg.h
+cleanup_init.o: ../../include/myflock.h
 cleanup_init.o: ../../include/mymalloc.h
 cleanup_init.o: ../../include/name_mask.h
 cleanup_init.o: ../../include/nvtable.h
@@ -854,6 +863,7 @@ cleanup_map11.o: ../../include/match_list.h
 cleanup_map11.o: ../../include/milter.h
 cleanup_map11.o: ../../include/mime_state.h
 cleanup_map11.o: ../../include/msg.h
+cleanup_map11.o: ../../include/myflock.h
 cleanup_map11.o: ../../include/mymalloc.h
 cleanup_map11.o: ../../include/nvtable.h
 cleanup_map11.o: ../../include/quote_822_local.h
@@ -885,6 +895,7 @@ cleanup_map1n.o: ../../include/match_list.h
 cleanup_map1n.o: ../../include/milter.h
 cleanup_map1n.o: ../../include/mime_state.h
 cleanup_map1n.o: ../../include/msg.h
+cleanup_map1n.o: ../../include/myflock.h
 cleanup_map1n.o: ../../include/mymalloc.h
 cleanup_map1n.o: ../../include/nvtable.h
 cleanup_map1n.o: ../../include/quote_822_local.h
@@ -915,6 +926,7 @@ cleanup_masquerade.o: ../../include/match_list.h
 cleanup_masquerade.o: ../../include/milter.h
 cleanup_masquerade.o: ../../include/mime_state.h
 cleanup_masquerade.o: ../../include/msg.h
+cleanup_masquerade.o: ../../include/myflock.h
 cleanup_masquerade.o: ../../include/mymalloc.h
 cleanup_masquerade.o: ../../include/nvtable.h
 cleanup_masquerade.o: ../../include/quote_822_local.h
@@ -955,6 +967,7 @@ cleanup_message.o: ../../include/match_list.h
 cleanup_message.o: ../../include/milter.h
 cleanup_message.o: ../../include/mime_state.h
 cleanup_message.o: ../../include/msg.h
+cleanup_message.o: ../../include/myflock.h
 cleanup_message.o: ../../include/mymalloc.h
 cleanup_message.o: ../../include/nvtable.h
 cleanup_message.o: ../../include/quote_822_local.h
@@ -994,6 +1007,7 @@ cleanup_milter.o: ../../include/match_list.h
 cleanup_milter.o: ../../include/milter.h
 cleanup_milter.o: ../../include/mime_state.h
 cleanup_milter.o: ../../include/msg.h
+cleanup_milter.o: ../../include/myflock.h
 cleanup_milter.o: ../../include/mymalloc.h
 cleanup_milter.o: ../../include/nvtable.h
 cleanup_milter.o: ../../include/off_cvt.h
@@ -1030,6 +1044,7 @@ cleanup_out.o: ../../include/match_list.h
 cleanup_out.o: ../../include/milter.h
 cleanup_out.o: ../../include/mime_state.h
 cleanup_out.o: ../../include/msg.h
+cleanup_out.o: ../../include/myflock.h
 cleanup_out.o: ../../include/mymalloc.h
 cleanup_out.o: ../../include/nvtable.h
 cleanup_out.o: ../../include/rec_type.h
@@ -1070,6 +1085,7 @@ cleanup_out_recipient.o: ../../include/milter.h
 cleanup_out_recipient.o: ../../include/mime_state.h
 cleanup_out_recipient.o: ../../include/msg.h
 cleanup_out_recipient.o: ../../include/msg_stats.h
+cleanup_out_recipient.o: ../../include/myflock.h
 cleanup_out_recipient.o: ../../include/mymalloc.h
 cleanup_out_recipient.o: ../../include/nvtable.h
 cleanup_out_recipient.o: ../../include/rec_type.h
@@ -1100,6 +1116,7 @@ cleanup_region.o: ../../include/match_list.h
 cleanup_region.o: ../../include/milter.h
 cleanup_region.o: ../../include/mime_state.h
 cleanup_region.o: ../../include/msg.h
+cleanup_region.o: ../../include/myflock.h
 cleanup_region.o: ../../include/mymalloc.h
 cleanup_region.o: ../../include/nvtable.h
 cleanup_region.o: ../../include/resolve_clnt.h
@@ -1130,6 +1147,7 @@ cleanup_rewrite.o: ../../include/match_list.h
 cleanup_rewrite.o: ../../include/milter.h
 cleanup_rewrite.o: ../../include/mime_state.h
 cleanup_rewrite.o: ../../include/msg.h
+cleanup_rewrite.o: ../../include/myflock.h
 cleanup_rewrite.o: ../../include/mymalloc.h
 cleanup_rewrite.o: ../../include/nvtable.h
 cleanup_rewrite.o: ../../include/quote_822_local.h
@@ -1162,6 +1180,7 @@ cleanup_state.o: ../../include/maps.h
 cleanup_state.o: ../../include/match_list.h
 cleanup_state.o: ../../include/milter.h
 cleanup_state.o: ../../include/mime_state.h
+cleanup_state.o: ../../include/myflock.h
 cleanup_state.o: ../../include/mymalloc.h
 cleanup_state.o: ../../include/nvtable.h
 cleanup_state.o: ../../include/resolve_clnt.h
index 8e11da58ddf11aed01d58d66da601371917aea0d..664d7726f5af5bb0fbafe050c002211efbf076a1 100644 (file)
@@ -698,6 +698,7 @@ canon_addr.o: rewrite_clnt.h
 cfg_parser.o: ../../include/argv.h
 cfg_parser.o: ../../include/dict.h
 cfg_parser.o: ../../include/msg.h
+cfg_parser.o: ../../include/myflock.h
 cfg_parser.o: ../../include/mymalloc.h
 cfg_parser.o: ../../include/sys_defs.h
 cfg_parser.o: ../../include/vbuf.h
@@ -740,6 +741,7 @@ data_redirect.o: ../../include/dict_cdb.h
 data_redirect.o: ../../include/dict_db.h
 data_redirect.o: ../../include/dict_dbm.h
 data_redirect.o: ../../include/msg.h
+data_redirect.o: ../../include/myflock.h
 data_redirect.o: ../../include/name_code.h
 data_redirect.o: ../../include/split_at.h
 data_redirect.o: ../../include/stringops.h
@@ -756,6 +758,7 @@ db_common.o: ../../include/argv.h
 db_common.o: ../../include/dict.h
 db_common.o: ../../include/match_list.h
 db_common.o: ../../include/msg.h
+db_common.o: ../../include/myflock.h
 db_common.o: ../../include/mymalloc.h
 db_common.o: ../../include/sys_defs.h
 db_common.o: ../../include/vbuf.h
@@ -886,6 +889,7 @@ dict_ldap.o: ../../include/binhash.h
 dict_ldap.o: ../../include/dict.h
 dict_ldap.o: ../../include/match_list.h
 dict_ldap.o: ../../include/msg.h
+dict_ldap.o: ../../include/myflock.h
 dict_ldap.o: ../../include/mymalloc.h
 dict_ldap.o: ../../include/name_code.h
 dict_ldap.o: ../../include/stringops.h
@@ -904,6 +908,7 @@ dict_memcache.o: ../../include/auto_clnt.h
 dict_memcache.o: ../../include/dict.h
 dict_memcache.o: ../../include/match_list.h
 dict_memcache.o: ../../include/msg.h
+dict_memcache.o: ../../include/myflock.h
 dict_memcache.o: ../../include/mymalloc.h
 dict_memcache.o: ../../include/stringops.h
 dict_memcache.o: ../../include/sys_defs.h
@@ -922,6 +927,7 @@ dict_mysql.o: ../../include/events.h
 dict_mysql.o: ../../include/find_inet.h
 dict_mysql.o: ../../include/match_list.h
 dict_mysql.o: ../../include/msg.h
+dict_mysql.o: ../../include/myflock.h
 dict_mysql.o: ../../include/mymalloc.h
 dict_mysql.o: ../../include/myrand.h
 dict_mysql.o: ../../include/split_at.h
@@ -941,6 +947,7 @@ dict_pgsql.o: ../../include/events.h
 dict_pgsql.o: ../../include/find_inet.h
 dict_pgsql.o: ../../include/match_list.h
 dict_pgsql.o: ../../include/msg.h
+dict_pgsql.o: ../../include/myflock.h
 dict_pgsql.o: ../../include/mymalloc.h
 dict_pgsql.o: ../../include/myrand.h
 dict_pgsql.o: ../../include/split_at.h
@@ -959,6 +966,7 @@ dict_proxy.o: ../../include/attr.h
 dict_proxy.o: ../../include/dict.h
 dict_proxy.o: ../../include/iostuff.h
 dict_proxy.o: ../../include/msg.h
+dict_proxy.o: ../../include/myflock.h
 dict_proxy.o: ../../include/mymalloc.h
 dict_proxy.o: ../../include/stringops.h
 dict_proxy.o: ../../include/sys_defs.h
@@ -974,6 +982,7 @@ dict_sqlite.o: ../../include/argv.h
 dict_sqlite.o: ../../include/dict.h
 dict_sqlite.o: ../../include/match_list.h
 dict_sqlite.o: ../../include/msg.h
+dict_sqlite.o: ../../include/myflock.h
 dict_sqlite.o: ../../include/mymalloc.h
 dict_sqlite.o: ../../include/stringops.h
 dict_sqlite.o: ../../include/sys_defs.h
@@ -1101,8 +1110,10 @@ fold_addr.o: ../../include/vbuf.h
 fold_addr.o: ../../include/vstring.h
 fold_addr.o: fold_addr.c
 fold_addr.o: fold_addr.h
+haproxy_srvr.o: ../../include/inet_proto.h
 haproxy_srvr.o: ../../include/msg.h
 haproxy_srvr.o: ../../include/myaddrinfo.h
+haproxy_srvr.o: ../../include/mymalloc.h
 haproxy_srvr.o: ../../include/stringops.h
 haproxy_srvr.o: ../../include/sys_defs.h
 haproxy_srvr.o: ../../include/valid_hostname.h
@@ -1113,6 +1124,7 @@ haproxy_srvr.o: haproxy_srvr.h
 header_body_checks.o: ../../include/argv.h
 header_body_checks.o: ../../include/dict.h
 header_body_checks.o: ../../include/msg.h
+header_body_checks.o: ../../include/myflock.h
 header_body_checks.o: ../../include/mymalloc.h
 header_body_checks.o: ../../include/sys_defs.h
 header_body_checks.o: ../../include/vbuf.h
@@ -1196,6 +1208,7 @@ mail_addr_crunch.o: tok822.h
 mail_addr_find.o: ../../include/argv.h
 mail_addr_find.o: ../../include/dict.h
 mail_addr_find.o: ../../include/msg.h
+mail_addr_find.o: ../../include/myflock.h
 mail_addr_find.o: ../../include/mymalloc.h
 mail_addr_find.o: ../../include/stringops.h
 mail_addr_find.o: ../../include/sys_defs.h
@@ -1211,6 +1224,7 @@ mail_addr_find.o: strip_addr.h
 mail_addr_map.o: ../../include/argv.h
 mail_addr_map.o: ../../include/dict.h
 mail_addr_map.o: ../../include/msg.h
+mail_addr_map.o: ../../include/myflock.h
 mail_addr_map.o: ../../include/mymalloc.h
 mail_addr_map.o: ../../include/sys_defs.h
 mail_addr_map.o: ../../include/vbuf.h
@@ -1238,6 +1252,7 @@ mail_command_server.o: mail_proto.h
 mail_conf.o: ../../include/argv.h
 mail_conf.o: ../../include/dict.h
 mail_conf.o: ../../include/msg.h
+mail_conf.o: ../../include/myflock.h
 mail_conf.o: ../../include/mymalloc.h
 mail_conf.o: ../../include/readlline.h
 mail_conf.o: ../../include/safe.h
@@ -1252,6 +1267,7 @@ mail_conf.o: mail_params.h
 mail_conf_bool.o: ../../include/argv.h
 mail_conf_bool.o: ../../include/dict.h
 mail_conf_bool.o: ../../include/msg.h
+mail_conf_bool.o: ../../include/myflock.h
 mail_conf_bool.o: ../../include/sys_defs.h
 mail_conf_bool.o: ../../include/vbuf.h
 mail_conf_bool.o: ../../include/vstream.h
@@ -1261,6 +1277,7 @@ mail_conf_bool.o: mail_conf_bool.c
 mail_conf_int.o: ../../include/argv.h
 mail_conf_int.o: ../../include/dict.h
 mail_conf_int.o: ../../include/msg.h
+mail_conf_int.o: ../../include/myflock.h
 mail_conf_int.o: ../../include/mymalloc.h
 mail_conf_int.o: ../../include/stringops.h
 mail_conf_int.o: ../../include/sys_defs.h
@@ -1272,6 +1289,7 @@ mail_conf_int.o: mail_conf_int.c
 mail_conf_long.o: ../../include/argv.h
 mail_conf_long.o: ../../include/dict.h
 mail_conf_long.o: ../../include/msg.h
+mail_conf_long.o: ../../include/myflock.h
 mail_conf_long.o: ../../include/mymalloc.h
 mail_conf_long.o: ../../include/stringops.h
 mail_conf_long.o: ../../include/sys_defs.h
@@ -1283,6 +1301,7 @@ mail_conf_long.o: mail_conf_long.c
 mail_conf_nbool.o: ../../include/argv.h
 mail_conf_nbool.o: ../../include/dict.h
 mail_conf_nbool.o: ../../include/msg.h
+mail_conf_nbool.o: ../../include/myflock.h
 mail_conf_nbool.o: ../../include/sys_defs.h
 mail_conf_nbool.o: ../../include/vbuf.h
 mail_conf_nbool.o: ../../include/vstream.h
@@ -1292,6 +1311,7 @@ mail_conf_nbool.o: mail_conf_nbool.c
 mail_conf_nint.o: ../../include/argv.h
 mail_conf_nint.o: ../../include/dict.h
 mail_conf_nint.o: ../../include/msg.h
+mail_conf_nint.o: ../../include/myflock.h
 mail_conf_nint.o: ../../include/mymalloc.h
 mail_conf_nint.o: ../../include/stringops.h
 mail_conf_nint.o: ../../include/sys_defs.h
@@ -1316,6 +1336,7 @@ mail_conf_str.o: mail_conf_str.c
 mail_conf_time.o: ../../include/argv.h
 mail_conf_time.o: ../../include/dict.h
 mail_conf_time.o: ../../include/msg.h
+mail_conf_time.o: ../../include/myflock.h
 mail_conf_time.o: ../../include/mymalloc.h
 mail_conf_time.o: ../../include/stringops.h
 mail_conf_time.o: ../../include/sys_defs.h
@@ -1372,6 +1393,7 @@ mail_date.o: mail_date.h
 mail_dict.o: ../../include/argv.h
 mail_dict.o: ../../include/dict.h
 mail_dict.o: ../../include/msg.h
+mail_dict.o: ../../include/myflock.h
 mail_dict.o: ../../include/sys_defs.h
 mail_dict.o: ../../include/vbuf.h
 mail_dict.o: ../../include/vstream.h
@@ -1419,6 +1441,7 @@ mail_params.o: ../../include/iostuff.h
 mail_params.o: ../../include/msg.h
 mail_params.o: ../../include/msg_syslog.h
 mail_params.o: ../../include/myaddrinfo.h
+mail_params.o: ../../include/myflock.h
 mail_params.o: ../../include/mymalloc.h
 mail_params.o: ../../include/safe.h
 mail_params.o: ../../include/safe_open.h
@@ -1528,6 +1551,7 @@ mail_version.o: mail_version.h
 maps.o: ../../include/argv.h
 maps.o: ../../include/dict.h
 maps.o: ../../include/msg.h
+maps.o: ../../include/myflock.h
 maps.o: ../../include/mymalloc.h
 maps.o: ../../include/split_at.h
 maps.o: ../../include/stringops.h
@@ -1619,6 +1643,7 @@ mime_state.o: rec_type.h
 mkmap_cdb.o: ../../include/argv.h
 mkmap_cdb.o: ../../include/dict.h
 mkmap_cdb.o: ../../include/dict_cdb.h
+mkmap_cdb.o: ../../include/myflock.h
 mkmap_cdb.o: ../../include/mymalloc.h
 mkmap_cdb.o: ../../include/sys_defs.h
 mkmap_cdb.o: ../../include/vbuf.h
@@ -1657,6 +1682,7 @@ mkmap_dbm.o: mkmap_dbm.c
 mkmap_fail.o: ../../include/argv.h
 mkmap_fail.o: ../../include/dict.h
 mkmap_fail.o: ../../include/dict_fail.h
+mkmap_fail.o: ../../include/myflock.h
 mkmap_fail.o: ../../include/mymalloc.h
 mkmap_fail.o: ../../include/sys_defs.h
 mkmap_fail.o: ../../include/vbuf.h
@@ -1672,6 +1698,7 @@ mkmap_open.o: ../../include/dict_dbm.h
 mkmap_open.o: ../../include/dict_fail.h
 mkmap_open.o: ../../include/dict_sdbm.h
 mkmap_open.o: ../../include/msg.h
+mkmap_open.o: ../../include/myflock.h
 mkmap_open.o: ../../include/mymalloc.h
 mkmap_open.o: ../../include/sigdelay.h
 mkmap_open.o: ../../include/sys_defs.h
@@ -1683,6 +1710,7 @@ mkmap_open.o: mkmap.h
 mkmap_open.o: mkmap_open.c
 mkmap_proxy.o: ../../include/argv.h
 mkmap_proxy.o: ../../include/dict.h
+mkmap_proxy.o: ../../include/myflock.h
 mkmap_proxy.o: ../../include/mymalloc.h
 mkmap_proxy.o: ../../include/sys_defs.h
 mkmap_proxy.o: ../../include/vbuf.h
@@ -1928,6 +1956,7 @@ resolve_local.o: ../../include/inet_addr_list.h
 resolve_local.o: ../../include/match_list.h
 resolve_local.o: ../../include/msg.h
 resolve_local.o: ../../include/myaddrinfo.h
+resolve_local.o: ../../include/myflock.h
 resolve_local.o: ../../include/mymalloc.h
 resolve_local.o: ../../include/sys_defs.h
 resolve_local.o: ../../include/valid_hostname.h
@@ -2030,6 +2059,7 @@ server_acl.o: ../../include/argv.h
 server_acl.o: ../../include/dict.h
 server_acl.o: ../../include/match_list.h
 server_acl.o: ../../include/msg.h
+server_acl.o: ../../include/myflock.h
 server_acl.o: ../../include/mymalloc.h
 server_acl.o: ../../include/stringops.h
 server_acl.o: ../../include/sys_defs.h
@@ -2170,6 +2200,7 @@ user_acl.o: ../../include/argv.h
 user_acl.o: ../../include/dict.h
 user_acl.o: ../../include/dict_static.h
 user_acl.o: ../../include/match_list.h
+user_acl.o: ../../include/myflock.h
 user_acl.o: ../../include/sys_defs.h
 user_acl.o: ../../include/vbuf.h
 user_acl.o: ../../include/vstream.h
index 8913eed9ce572671b5909eb05a64f545d8575c6c..5a3d2f899f899f00269d73f542ee6159ea67680d 100644 (file)
@@ -3378,14 +3378,6 @@ extern char *var_psc_barlf_action;
 #define DEF_PSC_BARLF_TTL      "30d"
 extern int var_psc_barlf_ttl;
 
-#define VAR_PSC_WLIST_NETS     "postscreen_whitelist_networks"
-#define DEF_PSC_WLIST_NETS     "$" VAR_MYNETWORKS
-extern char *var_psc_wlist_nets;
-
-#define VAR_PSC_BLIST_NETS     "postscreen_blacklist_networks"
-#define DEF_PSC_BLIST_NETS     ""
-extern char *var_psc_blist_nets;
-
 #define VAR_PSC_BLIST_ACTION   "postscreen_blacklist_action"
 #define DEF_PSC_BLIST_ACTION   "ignore"
 extern char *var_psc_blist_nets;
index ac51d149a78c82971c95d156b2395ec362530dab..91d8a26d07ab517cde0324041d716385ff0d5c24 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      "20120908"
+#define MAIL_RELEASE_DATE      "20120924"
 #define MAIL_VERSION_NUMBER    "2.10"
 
 #ifdef SNAPSHOT
index 92868a373120b0ea5aad02aa6e45006bc2b33eae..e11bc7540d6fad549596929e09f4b4660d7d74ac 100644 (file)
@@ -83,6 +83,7 @@ alias.o: ../../include/maps.h
 alias.o: ../../include/mbox_conf.h
 alias.o: ../../include/msg.h
 alias.o: ../../include/msg_stats.h
+alias.o: ../../include/myflock.h
 alias.o: ../../include/mymalloc.h
 alias.o: ../../include/mypwd.h
 alias.o: ../../include/recipient_list.h
@@ -97,6 +98,7 @@ alias.o: ../../include/vstream.h
 alias.o: ../../include/vstring.h
 alias.o: alias.c
 alias.o: local.h
+biff_notify.o: ../../include/iostuff.h
 biff_notify.o: ../../include/msg.h
 biff_notify.o: ../../include/sys_defs.h
 biff_notify.o: biff_notify.c
@@ -119,6 +121,7 @@ bounce_workaround.o: ../../include/maps.h
 bounce_workaround.o: ../../include/mbox_conf.h
 bounce_workaround.o: ../../include/msg.h
 bounce_workaround.o: ../../include/msg_stats.h
+bounce_workaround.o: ../../include/myflock.h
 bounce_workaround.o: ../../include/mymalloc.h
 bounce_workaround.o: ../../include/recipient_list.h
 bounce_workaround.o: ../../include/resolve_clnt.h
@@ -153,6 +156,7 @@ command.o: ../../include/maps.h
 command.o: ../../include/mbox_conf.h
 command.o: ../../include/msg.h
 command.o: ../../include/msg_stats.h
+command.o: ../../include/myflock.h
 command.o: ../../include/pipe_command.h
 command.o: ../../include/recipient_list.h
 command.o: ../../include/resolve_clnt.h
@@ -178,6 +182,7 @@ deliver_attr.o: ../../include/maps.h
 deliver_attr.o: ../../include/mbox_conf.h
 deliver_attr.o: ../../include/msg.h
 deliver_attr.o: ../../include/msg_stats.h
+deliver_attr.o: ../../include/myflock.h
 deliver_attr.o: ../../include/recipient_list.h
 deliver_attr.o: ../../include/resolve_clnt.h
 deliver_attr.o: ../../include/sys_defs.h
@@ -211,6 +216,7 @@ dotforward.o: ../../include/maps.h
 dotforward.o: ../../include/mbox_conf.h
 dotforward.o: ../../include/msg.h
 dotforward.o: ../../include/msg_stats.h
+dotforward.o: ../../include/myflock.h
 dotforward.o: ../../include/mymalloc.h
 dotforward.o: ../../include/mypwd.h
 dotforward.o: ../../include/open_as.h
@@ -282,6 +288,7 @@ forward.o: ../../include/mark_corrupt.h
 forward.o: ../../include/mbox_conf.h
 forward.o: ../../include/msg.h
 forward.o: ../../include/msg_stats.h
+forward.o: ../../include/myflock.h
 forward.o: ../../include/mymalloc.h
 forward.o: ../../include/rec_type.h
 forward.o: ../../include/recipient_list.h
@@ -316,6 +323,7 @@ include.o: ../../include/maps.h
 include.o: ../../include/mbox_conf.h
 include.o: ../../include/msg.h
 include.o: ../../include/msg_stats.h
+include.o: ../../include/myflock.h
 include.o: ../../include/mymalloc.h
 include.o: ../../include/mypwd.h
 include.o: ../../include/open_as.h
@@ -347,6 +355,7 @@ indirect.o: ../../include/maps.h
 indirect.o: ../../include/mbox_conf.h
 indirect.o: ../../include/msg.h
 indirect.o: ../../include/msg_stats.h
+indirect.o: ../../include/myflock.h
 indirect.o: ../../include/recipient_list.h
 indirect.o: ../../include/resolve_clnt.h
 indirect.o: ../../include/sent.h
@@ -380,6 +389,7 @@ local.o: ../../include/maps.h
 local.o: ../../include/mbox_conf.h
 local.o: ../../include/msg.h
 local.o: ../../include/msg_stats.h
+local.o: ../../include/myflock.h
 local.o: ../../include/mymalloc.h
 local.o: ../../include/name_mask.h
 local.o: ../../include/recipient_list.h
@@ -408,6 +418,7 @@ local_expand.o: ../../include/mail_params.h
 local_expand.o: ../../include/maps.h
 local_expand.o: ../../include/mbox_conf.h
 local_expand.o: ../../include/msg_stats.h
+local_expand.o: ../../include/myflock.h
 local_expand.o: ../../include/recipient_list.h
 local_expand.o: ../../include/resolve_clnt.h
 local_expand.o: ../../include/sys_defs.h
@@ -440,6 +451,7 @@ mailbox.o: ../../include/mbox_conf.h
 mailbox.o: ../../include/mbox_open.h
 mailbox.o: ../../include/msg.h
 mailbox.o: ../../include/msg_stats.h
+mailbox.o: ../../include/myflock.h
 mailbox.o: ../../include/mymalloc.h
 mailbox.o: ../../include/mypwd.h
 mailbox.o: ../../include/recipient_list.h
@@ -479,6 +491,7 @@ maildir.o: ../../include/mbox_conf.h
 maildir.o: ../../include/mbox_open.h
 maildir.o: ../../include/msg.h
 maildir.o: ../../include/msg_stats.h
+maildir.o: ../../include/myflock.h
 maildir.o: ../../include/mymalloc.h
 maildir.o: ../../include/recipient_list.h
 maildir.o: ../../include/resolve_clnt.h
@@ -514,6 +527,7 @@ recipient.o: ../../include/maps.h
 recipient.o: ../../include/mbox_conf.h
 recipient.o: ../../include/msg.h
 recipient.o: ../../include/msg_stats.h
+recipient.o: ../../include/myflock.h
 recipient.o: ../../include/mymalloc.h
 recipient.o: ../../include/mypwd.h
 recipient.o: ../../include/recipient_list.h
@@ -549,6 +563,7 @@ resolve.o: ../../include/maps.h
 resolve.o: ../../include/mbox_conf.h
 resolve.o: ../../include/msg.h
 resolve.o: ../../include/msg_stats.h
+resolve.o: ../../include/myflock.h
 resolve.o: ../../include/recipient_list.h
 resolve.o: ../../include/resolve_clnt.h
 resolve.o: ../../include/rewrite_clnt.h
@@ -576,6 +591,7 @@ token.o: ../../include/maps.h
 token.o: ../../include/mbox_conf.h
 token.o: ../../include/msg.h
 token.o: ../../include/msg_stats.h
+token.o: ../../include/myflock.h
 token.o: ../../include/mymalloc.h
 token.o: ../../include/readlline.h
 token.o: ../../include/recipient_list.h
@@ -610,6 +626,7 @@ unknown.o: ../../include/maps.h
 unknown.o: ../../include/mbox_conf.h
 unknown.o: ../../include/msg.h
 unknown.o: ../../include/msg_stats.h
+unknown.o: ../../include/myflock.h
 unknown.o: ../../include/mymalloc.h
 unknown.o: ../../include/recipient_list.h
 unknown.o: ../../include/resolve_clnt.h
index 1be25c873c9026f7d027a090e4d0b716aa3ef4d7..3604e3249186c457fdf4957204f1e11176260de2 100644 (file)
@@ -80,6 +80,7 @@ qmgr.o: ../../include/mail_server.h
 qmgr.o: ../../include/mail_version.h
 qmgr.o: ../../include/master_proto.h
 qmgr.o: ../../include/msg.h
+qmgr.o: ../../include/myflock.h
 qmgr.o: ../../include/recipient_list.h
 qmgr.o: ../../include/scan_dir.h
 qmgr.o: ../../include/sys_defs.h
index c3911ebdf86afc3126753af3368d9eb5a8a90e73..6f20c28ab23c0ebf023c6e26cbd121d0f7eb2563 100644 (file)
 /*     The maximal number of messages in the active queue.
 /* .IP "\fBqmgr_message_recipient_limit (20000)\fR"
 /*     The maximal number of recipients held in memory by the Postfix
-/*     queue manager, and the maximal size of the size of the short-term,
+/*     queue manager, and the maximal size of the short-term,
 /*     in-memory "dead" destination status cache.
 /* DELIVERY CONCURRENCY CONTROLS
 /* .ad
 /*     Available in Postfix version 2.5 and later:
 /* .IP "\fBdefault_destination_rate_delay (0s)\fR"
 /*     The default amount of delay that is inserted between individual
-/*     deliveries to the same destination; with per-destination recipient
-/*     limit > 1, a destination is a domain, otherwise it is a recipient.
+/*     deliveries to the same destination; the resulting behavior depends
+/*     on the value of the corresponding per-destination recipient limit.
 /* .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay
 /*     Idem, for delivery via the named message \fItransport\fR.
 /* SAFETY CONTROLS
index 6a10d5ff62fc0a1c786cd96f206af2d160279e77..cfbd2e0d708b1330a3f72693b901986dc0d68b85 100644 (file)
@@ -82,6 +82,7 @@ pipe.o: ../../include/mail_server.h
 pipe.o: ../../include/mail_version.h
 pipe.o: ../../include/msg.h
 pipe.o: ../../include/msg_stats.h
+pipe.o: ../../include/myflock.h
 pipe.o: ../../include/mymalloc.h
 pipe.o: ../../include/off_cvt.h
 pipe.o: ../../include/pipe_command.h
index 699c3d3fcbf16621fe80703780e826f06b45eeb3..a2e11f86a2e70097d4958629575da6734bbb9a7a 100644 (file)
@@ -98,6 +98,7 @@ postalias.o: ../../include/mkmap.h
 postalias.o: ../../include/msg.h
 postalias.o: ../../include/msg_syslog.h
 postalias.o: ../../include/msg_vstream.h
+postalias.o: ../../include/myflock.h
 postalias.o: ../../include/mymalloc.h
 postalias.o: ../../include/readlline.h
 postalias.o: ../../include/resolve_clnt.h
index 25e2985c219fe34b56be3e634d50658c1f098723..86d44b3c3fec5bcb9a57d61e205ff6bea53a0800 100644 (file)
@@ -467,6 +467,7 @@ postconf.o: ../../include/mail_run.h
 postconf.o: ../../include/mail_version.h
 postconf.o: ../../include/msg.h
 postconf.o: ../../include/msg_vstream.h
+postconf.o: ../../include/myflock.h
 postconf.o: ../../include/name_mask.h
 postconf.o: ../../include/stringops.h
 postconf.o: ../../include/sys_defs.h
@@ -489,6 +490,7 @@ postconf_builtin.o: ../../include/mail_params.h
 postconf_builtin.o: ../../include/mail_proto.h
 postconf_builtin.o: ../../include/mail_version.h
 postconf_builtin.o: ../../include/msg.h
+postconf_builtin.o: ../../include/myflock.h
 postconf_builtin.o: ../../include/mymalloc.h
 postconf_builtin.o: ../../include/mynetworks.h
 postconf_builtin.o: ../../include/server_acl.h
@@ -529,6 +531,7 @@ postconf_dbms.o: ../../include/htable.h
 postconf_dbms.o: ../../include/mac_expand.h
 postconf_dbms.o: ../../include/mac_parse.h
 postconf_dbms.o: ../../include/mail_conf.h
+postconf_dbms.o: ../../include/myflock.h
 postconf_dbms.o: ../../include/split_at.h
 postconf_dbms.o: ../../include/stringops.h
 postconf_dbms.o: ../../include/sys_defs.h
@@ -543,6 +546,7 @@ postconf_edit.o: ../../include/edit_file.h
 postconf_edit.o: ../../include/htable.h
 postconf_edit.o: ../../include/mail_params.h
 postconf_edit.o: ../../include/msg.h
+postconf_edit.o: ../../include/myflock.h
 postconf_edit.o: ../../include/mymalloc.h
 postconf_edit.o: ../../include/readlline.h
 postconf_edit.o: ../../include/stringops.h
@@ -559,6 +563,7 @@ postconf_main.o: ../../include/htable.h
 postconf_main.o: ../../include/mail_conf.h
 postconf_main.o: ../../include/mail_params.h
 postconf_main.o: ../../include/msg.h
+postconf_main.o: ../../include/myflock.h
 postconf_main.o: ../../include/mymalloc.h
 postconf_main.o: ../../include/readlline.h
 postconf_main.o: ../../include/stringops.h
@@ -574,6 +579,7 @@ postconf_master.o: ../../include/htable.h
 postconf_master.o: ../../include/mail_params.h
 postconf_master.o: ../../include/match_service.h
 postconf_master.o: ../../include/msg.h
+postconf_master.o: ../../include/myflock.h
 postconf_master.o: ../../include/mymalloc.h
 postconf_master.o: ../../include/readlline.h
 postconf_master.o: ../../include/stringops.h
@@ -588,6 +594,7 @@ postconf_misc.o: ../../include/dict.h
 postconf_misc.o: ../../include/htable.h
 postconf_misc.o: ../../include/mail_conf.h
 postconf_misc.o: ../../include/mail_params.h
+postconf_misc.o: ../../include/myflock.h
 postconf_misc.o: ../../include/mymalloc.h
 postconf_misc.o: ../../include/safe.h
 postconf_misc.o: ../../include/sys_defs.h
@@ -600,6 +607,7 @@ postconf_node.o: ../../include/argv.h
 postconf_node.o: ../../include/dict.h
 postconf_node.o: ../../include/htable.h
 postconf_node.o: ../../include/msg.h
+postconf_node.o: ../../include/myflock.h
 postconf_node.o: ../../include/mymalloc.h
 postconf_node.o: ../../include/sys_defs.h
 postconf_node.o: ../../include/vbuf.h
@@ -611,6 +619,7 @@ postconf_other.o: ../../include/argv.h
 postconf_other.o: ../../include/dict.h
 postconf_other.o: ../../include/htable.h
 postconf_other.o: ../../include/mbox_conf.h
+postconf_other.o: ../../include/myflock.h
 postconf_other.o: ../../include/sys_defs.h
 postconf_other.o: ../../include/vbuf.h
 postconf_other.o: ../../include/vstream.h
@@ -623,6 +632,7 @@ postconf_service.o: ../../include/dict.h
 postconf_service.o: ../../include/htable.h
 postconf_service.o: ../../include/mail_params.h
 postconf_service.o: ../../include/msg.h
+postconf_service.o: ../../include/myflock.h
 postconf_service.o: ../../include/mymalloc.h
 postconf_service.o: ../../include/stringops.h
 postconf_service.o: ../../include/sys_defs.h
@@ -637,6 +647,7 @@ postconf_unused.o: ../../include/htable.h
 postconf_unused.o: ../../include/mail_conf.h
 postconf_unused.o: ../../include/mail_params.h
 postconf_unused.o: ../../include/msg.h
+postconf_unused.o: ../../include/myflock.h
 postconf_unused.o: ../../include/sys_defs.h
 postconf_unused.o: ../../include/vbuf.h
 postconf_unused.o: ../../include/vstream.h
@@ -651,6 +662,7 @@ postconf_user.o: ../../include/mac_parse.h
 postconf_user.o: ../../include/mail_conf.h
 postconf_user.o: ../../include/mail_params.h
 postconf_user.o: ../../include/msg.h
+postconf_user.o: ../../include/myflock.h
 postconf_user.o: ../../include/mymalloc.h
 postconf_user.o: ../../include/stringops.h
 postconf_user.o: ../../include/sys_defs.h
index 9ffc591b6286810541b64650aa8d7022a97d8f48..75e7b21ec06a3bf6b62846d4c923b55f36bacf40 100644 (file)
@@ -100,6 +100,7 @@ postmap.o: ../../include/mkmap.h
 postmap.o: ../../include/msg.h
 postmap.o: ../../include/msg_syslog.h
 postmap.o: ../../include/msg_vstream.h
+postmap.o: ../../include/myflock.h
 postmap.o: ../../include/mymalloc.h
 postmap.o: ../../include/readlline.h
 postmap.o: ../../include/rec_type.h
index d83a10bba13d0354f88f16dc46a875d6cdeb3880..4d2f8265ace170dc97bbcc7bbd1f6aac84ddc9ce 100644 (file)
@@ -85,6 +85,7 @@ postscreen.o: ../../include/maps.h
 postscreen.o: ../../include/match_list.h
 postscreen.o: ../../include/msg.h
 postscreen.o: ../../include/myaddrinfo.h
+postscreen.o: ../../include/myflock.h
 postscreen.o: ../../include/mymalloc.h
 postscreen.o: ../../include/name_code.h
 postscreen.o: ../../include/server_acl.h
@@ -106,6 +107,7 @@ postscreen_dict.o: ../../include/maps.h
 postscreen_dict.o: ../../include/match_list.h
 postscreen_dict.o: ../../include/msg.h
 postscreen_dict.o: ../../include/myaddrinfo.h
+postscreen_dict.o: ../../include/myflock.h
 postscreen_dict.o: ../../include/server_acl.h
 postscreen_dict.o: ../../include/string_list.h
 postscreen_dict.o: ../../include/sys_defs.h
@@ -130,6 +132,7 @@ postscreen_dnsbl.o: ../../include/maps.h
 postscreen_dnsbl.o: ../../include/match_list.h
 postscreen_dnsbl.o: ../../include/msg.h
 postscreen_dnsbl.o: ../../include/myaddrinfo.h
+postscreen_dnsbl.o: ../../include/myflock.h
 postscreen_dnsbl.o: ../../include/mymalloc.h
 postscreen_dnsbl.o: ../../include/server_acl.h
 postscreen_dnsbl.o: ../../include/split_at.h
@@ -153,6 +156,7 @@ postscreen_early.o: ../../include/maps.h
 postscreen_early.o: ../../include/match_list.h
 postscreen_early.o: ../../include/msg.h
 postscreen_early.o: ../../include/myaddrinfo.h
+postscreen_early.o: ../../include/myflock.h
 postscreen_early.o: ../../include/mymalloc.h
 postscreen_early.o: ../../include/server_acl.h
 postscreen_early.o: ../../include/string_list.h
@@ -170,11 +174,13 @@ postscreen_endpt.o: ../../include/dict_cache.h
 postscreen_endpt.o: ../../include/events.h
 postscreen_endpt.o: ../../include/haproxy_srvr.h
 postscreen_endpt.o: ../../include/htable.h
+postscreen_endpt.o: ../../include/inet_proto.h
 postscreen_endpt.o: ../../include/mail_params.h
 postscreen_endpt.o: ../../include/maps.h
 postscreen_endpt.o: ../../include/match_list.h
 postscreen_endpt.o: ../../include/msg.h
 postscreen_endpt.o: ../../include/myaddrinfo.h
+postscreen_endpt.o: ../../include/myflock.h
 postscreen_endpt.o: ../../include/server_acl.h
 postscreen_endpt.o: ../../include/string_list.h
 postscreen_endpt.o: ../../include/sys_defs.h
@@ -198,6 +204,7 @@ postscreen_expand.o: ../../include/maps.h
 postscreen_expand.o: ../../include/match_list.h
 postscreen_expand.o: ../../include/msg.h
 postscreen_expand.o: ../../include/myaddrinfo.h
+postscreen_expand.o: ../../include/myflock.h
 postscreen_expand.o: ../../include/server_acl.h
 postscreen_expand.o: ../../include/string_list.h
 postscreen_expand.o: ../../include/stringops.h
@@ -214,10 +221,12 @@ postscreen_haproxy.o: ../../include/dict_cache.h
 postscreen_haproxy.o: ../../include/events.h
 postscreen_haproxy.o: ../../include/haproxy_srvr.h
 postscreen_haproxy.o: ../../include/htable.h
+postscreen_haproxy.o: ../../include/mail_params.h
 postscreen_haproxy.o: ../../include/maps.h
 postscreen_haproxy.o: ../../include/match_list.h
 postscreen_haproxy.o: ../../include/msg.h
 postscreen_haproxy.o: ../../include/myaddrinfo.h
+postscreen_haproxy.o: ../../include/myflock.h
 postscreen_haproxy.o: ../../include/mymalloc.h
 postscreen_haproxy.o: ../../include/server_acl.h
 postscreen_haproxy.o: ../../include/string_list.h
@@ -242,6 +251,7 @@ postscreen_misc.o: ../../include/maps.h
 postscreen_misc.o: ../../include/match_list.h
 postscreen_misc.o: ../../include/msg.h
 postscreen_misc.o: ../../include/myaddrinfo.h
+postscreen_misc.o: ../../include/myflock.h
 postscreen_misc.o: ../../include/server_acl.h
 postscreen_misc.o: ../../include/string_list.h
 postscreen_misc.o: ../../include/sys_defs.h
@@ -267,6 +277,7 @@ postscreen_send.o: ../../include/maps.h
 postscreen_send.o: ../../include/match_list.h
 postscreen_send.o: ../../include/msg.h
 postscreen_send.o: ../../include/myaddrinfo.h
+postscreen_send.o: ../../include/myflock.h
 postscreen_send.o: ../../include/server_acl.h
 postscreen_send.o: ../../include/smtp_reply_footer.h
 postscreen_send.o: ../../include/string_list.h
@@ -293,6 +304,7 @@ postscreen_smtpd.o: ../../include/maps.h
 postscreen_smtpd.o: ../../include/match_list.h
 postscreen_smtpd.o: ../../include/msg.h
 postscreen_smtpd.o: ../../include/myaddrinfo.h
+postscreen_smtpd.o: ../../include/myflock.h
 postscreen_smtpd.o: ../../include/mymalloc.h
 postscreen_smtpd.o: ../../include/name_code.h
 postscreen_smtpd.o: ../../include/name_mask.h
@@ -321,6 +333,7 @@ postscreen_starttls.o: ../../include/maps.h
 postscreen_starttls.o: ../../include/match_list.h
 postscreen_starttls.o: ../../include/msg.h
 postscreen_starttls.o: ../../include/myaddrinfo.h
+postscreen_starttls.o: ../../include/myflock.h
 postscreen_starttls.o: ../../include/mymalloc.h
 postscreen_starttls.o: ../../include/name_code.h
 postscreen_starttls.o: ../../include/name_mask.h
@@ -349,6 +362,7 @@ postscreen_state.o: ../../include/maps.h
 postscreen_state.o: ../../include/match_list.h
 postscreen_state.o: ../../include/msg.h
 postscreen_state.o: ../../include/myaddrinfo.h
+postscreen_state.o: ../../include/myflock.h
 postscreen_state.o: ../../include/mymalloc.h
 postscreen_state.o: ../../include/name_mask.h
 postscreen_state.o: ../../include/server_acl.h
@@ -370,6 +384,7 @@ postscreen_tests.o: ../../include/maps.h
 postscreen_tests.o: ../../include/match_list.h
 postscreen_tests.o: ../../include/msg.h
 postscreen_tests.o: ../../include/myaddrinfo.h
+postscreen_tests.o: ../../include/myflock.h
 postscreen_tests.o: ../../include/server_acl.h
 postscreen_tests.o: ../../include/string_list.h
 postscreen_tests.o: ../../include/sys_defs.h
index c4ccf673de8fecde899ec42201fab701efb31771..96358faa31c70b8b4a7de5869fd5fa8d99d1d21b 100644 (file)
@@ -69,6 +69,7 @@ proxymap.o: ../../include/mail_proto.h
 proxymap.o: ../../include/mail_server.h
 proxymap.o: ../../include/mail_version.h
 proxymap.o: ../../include/msg.h
+proxymap.o: ../../include/myflock.h
 proxymap.o: ../../include/mymalloc.h
 proxymap.o: ../../include/stringops.h
 proxymap.o: ../../include/sys_defs.h
index e9e2a3ba607ba3bb29d10a54e878acf5b8c0c1fa..bd63a9b4347eef8d0e293313bb18ca6142133781 100644 (file)
@@ -82,6 +82,7 @@ qmgr.o: ../../include/mail_server.h
 qmgr.o: ../../include/mail_version.h
 qmgr.o: ../../include/master_proto.h
 qmgr.o: ../../include/msg.h
+qmgr.o: ../../include/myflock.h
 qmgr.o: ../../include/recipient_list.h
 qmgr.o: ../../include/scan_dir.h
 qmgr.o: ../../include/sys_defs.h
index a59bf5da07d63d3a6b142dc721623938bffa4717..fbf7daba63e78072a9b3aa1885531173f755f0ae 100644 (file)
 /*     The maximal number of messages in the active queue.
 /* .IP "\fBqmgr_message_recipient_limit (20000)\fR"
 /*     The maximal number of recipients held in memory by the Postfix
-/*     queue manager, and the maximal size of the size of the short-term,
+/*     queue manager, and the maximal size of the short-term,
 /*     in-memory "dead" destination status cache.
 /* .IP "\fBqmgr_message_recipient_minimum (10)\fR"
 /*     The minimal number of in-memory recipients for any message.
 /*     Available in Postfix version 2.5 and later:
 /* .IP "\fBdefault_destination_rate_delay (0s)\fR"
 /*     The default amount of delay that is inserted between individual
-/*     deliveries to the same destination; with per-destination recipient
-/*     limit > 1, a destination is a domain, otherwise it is a recipient.
+/*     deliveries to the same destination; the resulting behavior depends
+/*     on the value of the corresponding per-destination recipient limit.
 /* .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay
 /*     Idem, for delivery via the named message \fItransport\fR.
 /* SAFETY CONTROLS
index e54679d48ee46c7a1397c11069d314c04c9d1a5d..f99e266958a7e51e69693c1314291a2ec60bedeb 100644 (file)
@@ -77,6 +77,7 @@ qmqpd.o: ../../include/mail_version.h
 qmqpd.o: ../../include/match_list.h
 qmqpd.o: ../../include/match_parent_style.h
 qmqpd.o: ../../include/msg.h
+qmqpd.o: ../../include/myflock.h
 qmqpd.o: ../../include/mymalloc.h
 qmqpd.o: ../../include/namadr_list.h
 qmqpd.o: ../../include/netstring.h
index 88a7b67ec0da6bf48698601cd60f7999b11bac7c..e8c0b6ca71a75ad75010717e9645fdcfe60aa565 100644 (file)
 /*     \fBErrors-To:\fR message header overrides the error return address.
 /* .IP "\fB-R \fIreturn\fR"
 /*     Delivery status notification control.  Specify "hdrs" to
-/*     return only the header if a message bounces, "full" to
+/*     return only the header when a message bounces, "full" to
 /*     return a full copy (the default behavior).
 /*
-/*     The \fB-R\fR option specifies an upper bound; for example,
-/*     Postfix will return only the header, when a full copy would
-/*     exceed the bounce_size_limit setting.
+/*     The \fB-R\fR option specifies an upper bound; Postfix will
+/*     return only the header, when a full copy would exceed the
+/*     bounce_size_limit setting.
 /*
 /*     This option is ignored before Postfix version 2.10.
 /* .IP \fB-q\fR
index ebb11b851c4c879cf8244708994512b445666946..ef017fdcce5e1c57df6bcbdb03523b2511e86536 100644 (file)
@@ -111,6 +111,7 @@ smtp.o: ../../include/mime_state.h
 smtp.o: ../../include/msg.h
 smtp.o: ../../include/msg_stats.h
 smtp.o: ../../include/myaddrinfo.h
+smtp.o: ../../include/myflock.h
 smtp.o: ../../include/mymalloc.h
 smtp.o: ../../include/name_code.h
 smtp.o: ../../include/name_mask.h
@@ -150,6 +151,7 @@ smtp_addr.o: ../../include/mime_state.h
 smtp_addr.o: ../../include/msg.h
 smtp_addr.o: ../../include/msg_stats.h
 smtp_addr.o: ../../include/myaddrinfo.h
+smtp_addr.o: ../../include/myflock.h
 smtp_addr.o: ../../include/mymalloc.h
 smtp_addr.o: ../../include/name_code.h
 smtp_addr.o: ../../include/name_mask.h
@@ -190,6 +192,7 @@ smtp_chat.o: ../../include/match_list.h
 smtp_chat.o: ../../include/mime_state.h
 smtp_chat.o: ../../include/msg.h
 smtp_chat.o: ../../include/msg_stats.h
+smtp_chat.o: ../../include/myflock.h
 smtp_chat.o: ../../include/mymalloc.h
 smtp_chat.o: ../../include/name_code.h
 smtp_chat.o: ../../include/name_mask.h
@@ -233,6 +236,7 @@ smtp_connect.o: ../../include/mime_state.h
 smtp_connect.o: ../../include/msg.h
 smtp_connect.o: ../../include/msg_stats.h
 smtp_connect.o: ../../include/myaddrinfo.h
+smtp_connect.o: ../../include/myflock.h
 smtp_connect.o: ../../include/mymalloc.h
 smtp_connect.o: ../../include/name_code.h
 smtp_connect.o: ../../include/name_mask.h
@@ -271,6 +275,7 @@ smtp_map11.o: ../../include/match_list.h
 smtp_map11.o: ../../include/mime_state.h
 smtp_map11.o: ../../include/msg.h
 smtp_map11.o: ../../include/msg_stats.h
+smtp_map11.o: ../../include/myflock.h
 smtp_map11.o: ../../include/name_code.h
 smtp_map11.o: ../../include/name_mask.h
 smtp_map11.o: ../../include/quote_822_local.h
@@ -315,6 +320,7 @@ smtp_proto.o: ../../include/match_list.h
 smtp_proto.o: ../../include/mime_state.h
 smtp_proto.o: ../../include/msg.h
 smtp_proto.o: ../../include/msg_stats.h
+smtp_proto.o: ../../include/myflock.h
 smtp_proto.o: ../../include/mymalloc.h
 smtp_proto.o: ../../include/name_code.h
 smtp_proto.o: ../../include/name_mask.h
@@ -360,6 +366,7 @@ smtp_rcpt.o: ../../include/match_list.h
 smtp_rcpt.o: ../../include/mime_state.h
 smtp_rcpt.o: ../../include/msg.h
 smtp_rcpt.o: ../../include/msg_stats.h
+smtp_rcpt.o: ../../include/myflock.h
 smtp_rcpt.o: ../../include/mymalloc.h
 smtp_rcpt.o: ../../include/name_code.h
 smtp_rcpt.o: ../../include/name_mask.h
@@ -392,6 +399,7 @@ smtp_reuse.o: ../../include/match_list.h
 smtp_reuse.o: ../../include/mime_state.h
 smtp_reuse.o: ../../include/msg.h
 smtp_reuse.o: ../../include/msg_stats.h
+smtp_reuse.o: ../../include/myflock.h
 smtp_reuse.o: ../../include/mymalloc.h
 smtp_reuse.o: ../../include/name_code.h
 smtp_reuse.o: ../../include/name_mask.h
@@ -426,6 +434,7 @@ smtp_sasl_auth_cache.o: ../../include/match_list.h
 smtp_sasl_auth_cache.o: ../../include/mime_state.h
 smtp_sasl_auth_cache.o: ../../include/msg.h
 smtp_sasl_auth_cache.o: ../../include/msg_stats.h
+smtp_sasl_auth_cache.o: ../../include/myflock.h
 smtp_sasl_auth_cache.o: ../../include/mymalloc.h
 smtp_sasl_auth_cache.o: ../../include/name_code.h
 smtp_sasl_auth_cache.o: ../../include/name_mask.h
@@ -459,6 +468,7 @@ smtp_sasl_glue.o: ../../include/match_list.h
 smtp_sasl_glue.o: ../../include/mime_state.h
 smtp_sasl_glue.o: ../../include/msg.h
 smtp_sasl_glue.o: ../../include/msg_stats.h
+smtp_sasl_glue.o: ../../include/myflock.h
 smtp_sasl_glue.o: ../../include/mymalloc.h
 smtp_sasl_glue.o: ../../include/name_code.h
 smtp_sasl_glue.o: ../../include/name_mask.h
@@ -495,6 +505,7 @@ smtp_sasl_proto.o: ../../include/match_list.h
 smtp_sasl_proto.o: ../../include/mime_state.h
 smtp_sasl_proto.o: ../../include/msg.h
 smtp_sasl_proto.o: ../../include/msg_stats.h
+smtp_sasl_proto.o: ../../include/myflock.h
 smtp_sasl_proto.o: ../../include/mymalloc.h
 smtp_sasl_proto.o: ../../include/name_code.h
 smtp_sasl_proto.o: ../../include/name_mask.h
@@ -528,6 +539,7 @@ smtp_session.o: ../../include/match_list.h
 smtp_session.o: ../../include/mime_state.h
 smtp_session.o: ../../include/msg.h
 smtp_session.o: ../../include/msg_stats.h
+smtp_session.o: ../../include/myflock.h
 smtp_session.o: ../../include/mymalloc.h
 smtp_session.o: ../../include/name_code.h
 smtp_session.o: ../../include/name_mask.h
@@ -562,6 +574,7 @@ smtp_state.o: ../../include/match_list.h
 smtp_state.o: ../../include/mime_state.h
 smtp_state.o: ../../include/msg.h
 smtp_state.o: ../../include/msg_stats.h
+smtp_state.o: ../../include/myflock.h
 smtp_state.o: ../../include/mymalloc.h
 smtp_state.o: ../../include/name_code.h
 smtp_state.o: ../../include/name_mask.h
@@ -597,6 +610,7 @@ smtp_trouble.o: ../../include/match_list.h
 smtp_trouble.o: ../../include/mime_state.h
 smtp_trouble.o: ../../include/msg.h
 smtp_trouble.o: ../../include/msg_stats.h
+smtp_trouble.o: ../../include/myflock.h
 smtp_trouble.o: ../../include/name_code.h
 smtp_trouble.o: ../../include/name_mask.h
 smtp_trouble.o: ../../include/recipient_list.h
@@ -629,6 +643,7 @@ smtp_unalias.o: ../../include/mime_state.h
 smtp_unalias.o: ../../include/msg.h
 smtp_unalias.o: ../../include/msg_stats.h
 smtp_unalias.o: ../../include/myaddrinfo.h
+smtp_unalias.o: ../../include/myflock.h
 smtp_unalias.o: ../../include/name_code.h
 smtp_unalias.o: ../../include/name_mask.h
 smtp_unalias.o: ../../include/recipient_list.h
index 3178a0a20a6abc7c41ce9a60365d7a0c486a66d6..01b4a545f2352c7a0a6d2d92bfa92ace72421b2b 100644 (file)
@@ -180,6 +180,7 @@ smtpd.o: ../../include/match_list.h
 smtpd.o: ../../include/milter.h
 smtpd.o: ../../include/msg.h
 smtpd.o: ../../include/myaddrinfo.h
+smtpd.o: ../../include/myflock.h
 smtpd.o: ../../include/mymalloc.h
 smtpd.o: ../../include/namadr_list.h
 smtpd.o: ../../include/name_code.h
@@ -289,6 +290,7 @@ smtpd_check.o: ../../include/milter.h
 smtpd_check.o: ../../include/msg.h
 smtpd_check.o: ../../include/msg_stats.h
 smtpd_check.o: ../../include/myaddrinfo.h
+smtpd_check.o: ../../include/myflock.h
 smtpd_check.o: ../../include/mymalloc.h
 smtpd_check.o: ../../include/namadr_list.h
 smtpd_check.o: ../../include/name_code.h
index 3c0316e735d8517a0f79f3dbede3b97a0fac1aa8..f51b0f6de97d6d26bce4387ee782a462a103ed81 100644 (file)
@@ -79,6 +79,7 @@ depend: $(MAKES)
 
 # do not edit below this line - it is generated by 'make depend'
 qmqp-sink.o: ../../include/events.h
+qmqp-sink.o: ../../include/htable.h
 qmqp-sink.o: ../../include/inet_proto.h
 qmqp-sink.o: ../../include/iostuff.h
 qmqp-sink.o: ../../include/listen.h
@@ -119,6 +120,7 @@ qmqp-source.o: qmqp-source.c
 smtp-sink.o: ../../include/chroot_uid.h
 smtp-sink.o: ../../include/events.h
 smtp-sink.o: ../../include/get_hostname.h
+smtp-sink.o: ../../include/htable.h
 smtp-sink.o: ../../include/inet_proto.h
 smtp-sink.o: ../../include/iostuff.h
 smtp-sink.o: ../../include/listen.h
index 1a89937db7d9460fae40ae1e7cb7e442add46d43..33c075a9e44cb8ccfcb154221d92e097b5a88eb6 100644 (file)
@@ -64,6 +64,7 @@ spawn.o: ../../include/mail_params.h
 spawn.o: ../../include/mail_server.h
 spawn.o: ../../include/mail_version.h
 spawn.o: ../../include/msg.h
+spawn.o: ../../include/myflock.h
 spawn.o: ../../include/mymalloc.h
 spawn.o: ../../include/set_eugid.h
 spawn.o: ../../include/spawn_command.h
index 1dbe1546b5db9548c885db0e2dcf473345e47af5..48e13f06e17b1087858b45ec4694f265c5258518 100644 (file)
@@ -285,6 +285,7 @@ tls_server.o: ../../include/hex_code.h
 tls_server.o: ../../include/iostuff.h
 tls_server.o: ../../include/mail_params.h
 tls_server.o: ../../include/msg.h
+tls_server.o: ../../include/myflock.h
 tls_server.o: ../../include/mymalloc.h
 tls_server.o: ../../include/name_code.h
 tls_server.o: ../../include/name_mask.h
index 7eefd905567aad92f3e501dbe2b9f39b28678bf0..5ff68ec0fe574d74beeb8152327a4a3d886a8452 100644 (file)
@@ -447,7 +447,7 @@ TLS_SCACHE *tls_scache_open(const char *dbname, const char *cache_label,
      * opening a damaged file after some process terminated abnormally.
      */
 #ifdef SINGLE_UPDATER
-#define DICT_FLAGS (DICT_FLAG_DUP_REPLACE)
+#define DICT_FLAGS (DICT_FLAG_DUP_REPLACE | DICT_FLAG_OPEN_LOCK)
 #else
 #define DICT_FLAGS \
        (DICT_FLAG_DUP_REPLACE | DICT_FLAG_LOCK | DICT_FLAG_SYNC_UPDATE)
@@ -458,13 +458,6 @@ TLS_SCACHE *tls_scache_open(const char *dbname, const char *cache_label,
     /*
      * Sanity checks.
      */
-    if (dict->lock_fd < 0)
-       msg_fatal("dictionary %s is not a regular file", dbname);
-#ifdef SINGLE_UPDATER
-    if (myflock(dict->lock_fd, INTERNAL_LOCK,
-               MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT) < 0)
-       msg_fatal("cannot lock dictionary %s for exclusive use: %m", dbname);
-#endif
     if (dict->update == 0)
        msg_fatal("dictionary %s does not support update operations", dbname);
     if (dict->delete == 0)
index 5ad0645b58f4c106a6a36840653ec8e0c341a012..c40c91fe7b3a6383be4bae52489e4d07dde251fe 100644 (file)
@@ -73,6 +73,7 @@ tlsmgr.o: ../../include/mail_server.h
 tlsmgr.o: ../../include/mail_version.h
 tlsmgr.o: ../../include/master_proto.h
 tlsmgr.o: ../../include/msg.h
+tlsmgr.o: ../../include/myflock.h
 tlsmgr.o: ../../include/mymalloc.h
 tlsmgr.o: ../../include/name_code.h
 tlsmgr.o: ../../include/name_mask.h
index 199585680c5ae956858ef38b26f9ba36828eb600..c1860672f6d373918ccdbdd1e5e81e515a916506 100644 (file)
@@ -76,6 +76,7 @@ resolve.o: ../../include/maps.h
 resolve.o: ../../include/match_list.h
 resolve.o: ../../include/match_parent_style.h
 resolve.o: ../../include/msg.h
+resolve.o: ../../include/myflock.h
 resolve.o: ../../include/mymalloc.h
 resolve.o: ../../include/quote_822_local.h
 resolve.o: ../../include/quote_flags.h
@@ -104,6 +105,7 @@ rewrite.o: ../../include/mail_params.h
 rewrite.o: ../../include/mail_proto.h
 rewrite.o: ../../include/maps.h
 rewrite.o: ../../include/msg.h
+rewrite.o: ../../include/myflock.h
 rewrite.o: ../../include/resolve_clnt.h
 rewrite.o: ../../include/resolve_local.h
 rewrite.o: ../../include/split_at.h
@@ -126,6 +128,7 @@ transport.o: ../../include/maps.h
 transport.o: ../../include/match_list.h
 transport.o: ../../include/match_parent_style.h
 transport.o: ../../include/msg.h
+transport.o: ../../include/myflock.h
 transport.o: ../../include/mymalloc.h
 transport.o: ../../include/split_at.h
 transport.o: ../../include/stringops.h
@@ -149,6 +152,7 @@ trivial-rewrite.o: ../../include/mail_server.h
 trivial-rewrite.o: ../../include/mail_version.h
 trivial-rewrite.o: ../../include/maps.h
 trivial-rewrite.o: ../../include/msg.h
+trivial-rewrite.o: ../../include/myflock.h
 trivial-rewrite.o: ../../include/resolve_clnt.h
 trivial-rewrite.o: ../../include/resolve_local.h
 trivial-rewrite.o: ../../include/rewrite_clnt.h
index 48990a635c839c34f71a19b9cb822c3f22597766..4bef13123d377621ffc32deff90835f4c44908cc 100644 (file)
@@ -859,6 +859,7 @@ dict.o: line_number.h
 dict.o: mac_expand.h
 dict.o: mac_parse.h
 dict.o: msg.h
+dict.o: myflock.h
 dict.o: mymalloc.h
 dict.o: name_mask.h
 dict.o: readlline.h
@@ -872,6 +873,7 @@ dict_alloc.o: argv.h
 dict_alloc.o: dict.h
 dict_alloc.o: dict_alloc.c
 dict_alloc.o: msg.h
+dict_alloc.o: myflock.h
 dict_alloc.o: mymalloc.h
 dict_alloc.o: sys_defs.h
 dict_alloc.o: vbuf.h
@@ -883,6 +885,7 @@ dict_cache.o: dict_cache.c
 dict_cache.o: dict_cache.h
 dict_cache.o: events.h
 dict_cache.o: msg.h
+dict_cache.o: myflock.h
 dict_cache.o: mymalloc.h
 dict_cache.o: sys_defs.h
 dict_cache.o: vbuf.h
@@ -909,6 +912,7 @@ dict_cidr.o: dict_cidr.c
 dict_cidr.o: dict_cidr.h
 dict_cidr.o: msg.h
 dict_cidr.o: myaddrinfo.h
+dict_cidr.o: myflock.h
 dict_cidr.o: mymalloc.h
 dict_cidr.o: readlline.h
 dict_cidr.o: stringops.h
@@ -937,6 +941,7 @@ dict_debug.o: argv.h
 dict_debug.o: dict.h
 dict_debug.o: dict_debug.c
 dict_debug.o: msg.h
+dict_debug.o: myflock.h
 dict_debug.o: mymalloc.h
 dict_debug.o: sys_defs.h
 dict_debug.o: vbuf.h
@@ -947,6 +952,7 @@ dict_env.o: dict.h
 dict_env.o: dict_env.c
 dict_env.o: dict_env.h
 dict_env.o: msg.h
+dict_env.o: myflock.h
 dict_env.o: mymalloc.h
 dict_env.o: safe.h
 dict_env.o: stringops.h
@@ -959,6 +965,7 @@ dict_fail.o: dict.h
 dict_fail.o: dict_fail.c
 dict_fail.o: dict_fail.h
 dict_fail.o: msg.h
+dict_fail.o: myflock.h
 dict_fail.o: mymalloc.h
 dict_fail.o: sys_defs.h
 dict_fail.o: vbuf.h
@@ -969,6 +976,7 @@ dict_ht.o: dict.h
 dict_ht.o: dict_ht.c
 dict_ht.o: dict_ht.h
 dict_ht.o: htable.h
+dict_ht.o: myflock.h
 dict_ht.o: mymalloc.h
 dict_ht.o: stringops.h
 dict_ht.o: sys_defs.h
@@ -982,6 +990,7 @@ dict_nis.o: dict.h
 dict_nis.o: dict_nis.c
 dict_nis.o: dict_nis.h
 dict_nis.o: msg.h
+dict_nis.o: myflock.h
 dict_nis.o: mymalloc.h
 dict_nis.o: stringops.h
 dict_nis.o: sys_defs.h
@@ -993,6 +1002,7 @@ dict_nisplus.o: dict.h
 dict_nisplus.o: dict_nisplus.c
 dict_nisplus.o: dict_nisplus.h
 dict_nisplus.o: msg.h
+dict_nisplus.o: myflock.h
 dict_nisplus.o: mymalloc.h
 dict_nisplus.o: stringops.h
 dict_nisplus.o: sys_defs.h
@@ -1036,6 +1046,7 @@ dict_pcre.o: dict_pcre.c
 dict_pcre.o: dict_pcre.h
 dict_pcre.o: mac_parse.h
 dict_pcre.o: msg.h
+dict_pcre.o: myflock.h
 dict_pcre.o: mymalloc.h
 dict_pcre.o: readlline.h
 dict_pcre.o: safe.h
@@ -1051,6 +1062,7 @@ dict_regexp.o: dict_regexp.c
 dict_regexp.o: dict_regexp.h
 dict_regexp.o: mac_parse.h
 dict_regexp.o: msg.h
+dict_regexp.o: myflock.h
 dict_regexp.o: mymalloc.h
 dict_regexp.o: readlline.h
 dict_regexp.o: safe.h
@@ -1082,6 +1094,7 @@ dict_sockmap.o: dict_sockmap.c
 dict_sockmap.o: dict_sockmap.h
 dict_sockmap.o: htable.h
 dict_sockmap.o: msg.h
+dict_sockmap.o: myflock.h
 dict_sockmap.o: mymalloc.h
 dict_sockmap.o: netstring.h
 dict_sockmap.o: split_at.h
@@ -1095,6 +1108,7 @@ dict_static.o: dict.h
 dict_static.o: dict_static.c
 dict_static.o: dict_static.h
 dict_static.o: msg.h
+dict_static.o: myflock.h
 dict_static.o: mymalloc.h
 dict_static.o: sys_defs.h
 dict_static.o: vbuf.h
@@ -1104,6 +1118,7 @@ dict_surrogate.o: argv.h
 dict_surrogate.o: dict.h
 dict_surrogate.o: dict_surrogate.c
 dict_surrogate.o: msg.h
+dict_surrogate.o: myflock.h
 dict_surrogate.o: mymalloc.h
 dict_surrogate.o: sys_defs.h
 dict_surrogate.o: vbuf.h
@@ -1117,6 +1132,7 @@ dict_tcp.o: dict_tcp.h
 dict_tcp.o: hex_quote.h
 dict_tcp.o: iostuff.h
 dict_tcp.o: msg.h
+dict_tcp.o: myflock.h
 dict_tcp.o: mymalloc.h
 dict_tcp.o: stringops.h
 dict_tcp.o: sys_defs.h
@@ -1129,6 +1145,7 @@ dict_test.o: dict.h
 dict_test.o: dict_test.c
 dict_test.o: msg.h
 dict_test.o: msg_vstream.h
+dict_test.o: myflock.h
 dict_test.o: stringops.h
 dict_test.o: sys_defs.h
 dict_test.o: vbuf.h
@@ -1142,6 +1159,7 @@ dict_thash.o: dict_thash.h
 dict_thash.o: htable.h
 dict_thash.o: iostuff.h
 dict_thash.o: msg.h
+dict_thash.o: myflock.h
 dict_thash.o: mymalloc.h
 dict_thash.o: readlline.h
 dict_thash.o: stringops.h
@@ -1155,6 +1173,7 @@ dict_unix.o: dict.h
 dict_unix.o: dict_unix.c
 dict_unix.o: dict_unix.h
 dict_unix.o: msg.h
+dict_unix.o: myflock.h
 dict_unix.o: mymalloc.h
 dict_unix.o: stringops.h
 dict_unix.o: sys_defs.h
@@ -1438,6 +1457,7 @@ match_list.o: dict.h
 match_list.o: match_list.c
 match_list.o: match_list.h
 match_list.o: msg.h
+match_list.o: myflock.h
 match_list.o: mymalloc.h
 match_list.o: stringops.h
 match_list.o: sys_defs.h
@@ -1452,6 +1472,7 @@ match_ops.o: match_list.h
 match_ops.o: match_ops.c
 match_ops.o: msg.h
 match_ops.o: myaddrinfo.h
+match_ops.o: myflock.h
 match_ops.o: mymalloc.h
 match_ops.o: split_at.h
 match_ops.o: stringops.h
index f8e91a405272369b1be93b2b6d7ba2866e567792..850e07c736cf7905666afd2f4bd3f5f7910dc8e3 100644 (file)
@@ -22,6 +22,7 @@
 #include <vstream.h>
 #include <argv.h>
 #include <vstring.h>
+#include <myflock.h>
 
  /*
   * Provenance information.
@@ -47,6 +48,7 @@ typedef struct DICT {
     int     (*update) (struct DICT *, const char *, const char *);
     int     (*delete) (struct DICT *, const char *);
     int     (*sequence) (struct DICT *, int, const char **, const char **);
+    int     (*lock) (struct DICT *, int);
     void    (*close) (struct DICT *);
     int     lock_fd;                   /* for dict_update() lock */
     int     stat_fd;                   /* change detection */
@@ -70,7 +72,7 @@ extern DICT *dict_debug(DICT *);
 #define DICT_FLAG_TRY1NULL     (1<<3)  /* append 0 to key/value */
 #define DICT_FLAG_FIXED                (1<<4)  /* fixed key map */
 #define DICT_FLAG_PATTERN      (1<<5)  /* keys are patterns */
-#define DICT_FLAG_LOCK         (1<<6)  /* lock before access */
+#define DICT_FLAG_LOCK         (1<<6)  /* temp lock before each access */
 #define DICT_FLAG_DUP_REPLACE  (1<<7)  /* if file, replace dups */
 #define DICT_FLAG_SYNC_UPDATE  (1<<8)  /* if file, sync updates */
 #define DICT_FLAG_DEBUG                (1<<9)  /* log access */
@@ -81,7 +83,7 @@ extern DICT *dict_debug(DICT *);
 #define DICT_FLAG_FOLD_FIX     (1<<14) /* case-fold key with fixed-case map */
 #define DICT_FLAG_FOLD_MUL     (1<<15) /* case-fold key with multi-case map */
 #define DICT_FLAG_FOLD_ANY     (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
-#define DICT_FLAG_OPEN_LOCK    (1<<16) /* open file with exclusive lock */
+#define DICT_FLAG_OPEN_LOCK    (1<<16) /* perm lock if not multi-writer safe */
 
  /* IMPORTANT: Update the dict_mask[] table when the above changes */
 
index 03321f1da35097d4b1404c2de5708fb29c4cd72f..58886830923fd9f34416efbebf81398ab164ceca 100644 (file)
 /*     The purpose of the default methods is to trap an attempt to
 /*     invoke an unsupported method.
 /*
+/*     One exception is the default lock function.  When the
+/*     dictionary provides a file handle for locking, the default
+/*     lock function returns the result from myflock(), otherwise
+/*     it returns 0. The lock function is called to implement the
+/*     DICT_FLAG_OPEN_LOCK feature (lock database on open) when
+/*     a database is not multi-writer safe.
+/*
 /*     dict_free() releases memory and cleans up after dict_alloc().
 /*     It is up to the caller to dispose of any memory that was allocated
 /*     by the caller.
@@ -59,6 +66,7 @@
 
 #include "msg.h"
 #include "mymalloc.h"
+#include "myflock.h"
 #include "dict.h"
 
 /* dict_default_lookup - trap unimplemented operation */
@@ -95,6 +103,17 @@ static int dict_default_sequence(DICT *dict, int unused_function,
              dict->type, dict->name);
 }
 
+/* dict_default_lock - default lock handler */
+
+static int dict_default_lock(DICT *dict, int operation)
+{
+    if (dict->lock_fd >= 0) {
+       return (myflock(dict->lock_fd, INTERNAL_LOCK, operation));
+    } else {
+       return (0);
+    }
+}
 /* dict_default_close - trap unimplemented operation */
 
 static void dict_default_close(DICT *dict)
@@ -117,6 +136,7 @@ DICT   *dict_alloc(const char *dict_type, const char *dict_name, ssize_t size)
     dict->delete = dict_default_delete;
     dict->sequence = dict_default_sequence;
     dict->close = dict_default_close;
+    dict->lock = dict_default_lock;
     dict->lock_fd = -1;
     dict->stat_fd = -1;
     dict->mtime = 0;
index cd90e08b25a3e0ce206617462bcb205e00d0f422..62dd60a02ea88fe681ff1af9b836f91a0eb0006c 100644 (file)
@@ -81,9 +81,9 @@
 /*     With maps where this is appropriate, acquire an exclusive lock
 /*     before writing, and acquire a shared lock before reading.
 /* .IP DICT_FLAG_OPEN_LOCK
-/*     With maps where this is appropriate, acquire an exclusive
-/*     lock upon open, and report a fatal run-time error if the
-/*     table is already locked.
+/*     With databases that are not multi-writer safe, request that
+/*     dict_open() acquires an exclusive lock, or that it reports
+/*     a fatal run-time error otherwise.
 /* .IP DICT_FLAG_FOLD_FIX
 /*     With databases whose lookup fields are fixed-case strings,
 /*     fold the search key to lower case before accessing the
@@ -349,12 +349,11 @@ DICT   *dict_open3(const char *dict_type, const char *dict_name,
     if (msg_verbose)
        msg_info("%s: %s:%s", myname, dict_type, dict_name);
     /* XXX the choice between wait-for-lock or no-wait is hard-coded. */
-    if (dict->lock_fd >= 0 && (dict_flags & DICT_FLAG_OPEN_LOCK) != 0) {
+    if (dict_flags & DICT_FLAG_OPEN_LOCK) {
        if (dict_flags & DICT_FLAG_LOCK)
            msg_panic("%s: attempt to open %s:%s with both \"open\" lock and \"access\" lock",
                      myname, dict_type, dict_name);
-       if (myflock(dict->lock_fd, INTERNAL_LOCK,
-                   MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT) < 0)
+       if (dict->lock(dict, MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT) < 0)
            msg_fatal("%s:%s: unable to get exclusive lock: %m",
                      dict_type, dict_name);
     }
index 3d60b7a92a4c76f231abbe23d44d30c427472db8..69591ea5a51304b6b81c649161678e5bc2a6c18e 100644 (file)
@@ -73,9 +73,13 @@ void    dict_test(int argc, char **argv)
            dict_flags |= DICT_FLAG_FOLD_ANY;
        else if (strcasecmp(argv[optind + 2], "sync") == 0)
            dict_flags |= DICT_FLAG_SYNC_UPDATE;
-       else
+       else if (strcasecmp(argv[optind + 2], "open_lock") == 0) {
+           dict_flags |= DICT_FLAG_OPEN_LOCK;
+           dict_flags &= ~DICT_FLAG_LOCK;
+       } else
            usage(argv[0]);
     }
+    vstream_fflush(VSTREAM_OUT);
     dict_name = argv[optind];
     dict_allow_surrogate = 1;
     dict = dict_open(dict_name, open_flags, dict_flags);
index 5c5b9d78436722f179b656204f1e08cb2e734f14..00cbdc2e139f45e115389a2535e861da27db36a1 100644 (file)
@@ -429,13 +429,14 @@ extern int opterr;
 #define USE_STATVFS
 #define STATVFS_IN_SYS_STATVFS_H
 #define INT_MAX_IN_LIMITS_H
-#define STREAM_CONNECTIONS             /* avoid UNIX-domain sockets */
+#ifdef STREAM_CONNECTIONS              /* avoid UNIX-domain sockets */
 #define LOCAL_LISTEN   stream_listen
 #define LOCAL_ACCEPT   stream_accept
 #define LOCAL_CONNECT  stream_connect
 #define LOCAL_TRIGGER  stream_trigger
 #define LOCAL_SEND_FD  stream_send_fd
 #define LOCAL_RECV_FD  stream_recv_fd
+#endif
 #define HAS_VOLATILE_LOCKS
 #define BROKEN_READ_SELECT_ON_TCP_SOCKET
 #define CANT_WRITE_BEFORE_SENDING_FD
index 12c378abc19c8056f17969a0992e3cdc96eb1ca5..78d985f13b98d22bccd84cf8dc1c9e64bc19920a 100644 (file)
@@ -77,6 +77,7 @@ verify.o: ../../include/mail_server.h
 verify.o: ../../include/mail_version.h
 verify.o: ../../include/msg.h
 verify.o: ../../include/msg_stats.h
+verify.o: ../../include/myflock.h
 verify.o: ../../include/mymalloc.h
 verify.o: ../../include/post_mail.h
 verify.o: ../../include/recipient_list.h
index 954c544a4451d8139039d698a57e1c0fa1a014c2..068bc8232b450736c2c290d33b1769f62125e892 100644 (file)
@@ -68,6 +68,7 @@ deliver_attr.o: ../../include/maps.h
 deliver_attr.o: ../../include/mbox_conf.h
 deliver_attr.o: ../../include/msg.h
 deliver_attr.o: ../../include/msg_stats.h
+deliver_attr.o: ../../include/myflock.h
 deliver_attr.o: ../../include/recipient_list.h
 deliver_attr.o: ../../include/sys_defs.h
 deliver_attr.o: ../../include/vbuf.h
@@ -92,6 +93,7 @@ mailbox.o: ../../include/mbox_conf.h
 mailbox.o: ../../include/mbox_open.h
 mailbox.o: ../../include/msg.h
 mailbox.o: ../../include/msg_stats.h
+mailbox.o: ../../include/myflock.h
 mailbox.o: ../../include/mymalloc.h
 mailbox.o: ../../include/recipient_list.h
 mailbox.o: ../../include/safe_open.h
@@ -122,6 +124,7 @@ maildir.o: ../../include/mbox_conf.h
 maildir.o: ../../include/mbox_open.h
 maildir.o: ../../include/msg.h
 maildir.o: ../../include/msg_stats.h
+maildir.o: ../../include/myflock.h
 maildir.o: ../../include/mymalloc.h
 maildir.o: ../../include/recipient_list.h
 maildir.o: ../../include/safe_open.h
@@ -147,6 +150,7 @@ recipient.o: ../../include/maps.h
 recipient.o: ../../include/mbox_conf.h
 recipient.o: ../../include/msg.h
 recipient.o: ../../include/msg_stats.h
+recipient.o: ../../include/myflock.h
 recipient.o: ../../include/mymalloc.h
 recipient.o: ../../include/recipient_list.h
 recipient.o: ../../include/stringops.h
@@ -167,6 +171,7 @@ unknown.o: ../../include/maps.h
 unknown.o: ../../include/mbox_conf.h
 unknown.o: ../../include/msg.h
 unknown.o: ../../include/msg_stats.h
+unknown.o: ../../include/myflock.h
 unknown.o: ../../include/recipient_list.h
 unknown.o: ../../include/sys_defs.h
 unknown.o: ../../include/vbuf.h
@@ -193,6 +198,7 @@ virtual.o: ../../include/maps.h
 virtual.o: ../../include/mbox_conf.h
 virtual.o: ../../include/msg.h
 virtual.o: ../../include/msg_stats.h
+virtual.o: ../../include/myflock.h
 virtual.o: ../../include/recipient_list.h
 virtual.o: ../../include/set_eugid.h
 virtual.o: ../../include/sys_defs.h