]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-1.1.12-20021212
authorWietse Venema <wietse@porcupine.org>
Thu, 12 Dec 2002 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:28:32 +0000 (06:28 +0000)
35 files changed:
postfix/HISTORY
postfix/INSTALL
postfix/README_FILES/RELEASE_NOTES [new symlink]
postfix/README_FILES/VIRTUAL_README
postfix/RELEASE_NOTES
postfix/conf/main.cf
postfix/conf/postfix-files
postfix/conf/postfix-script
postfix/conf/sample-smtpd.cf
postfix/conf/transport
postfix/conf/virtual
postfix/html/rate.html
postfix/html/resource.html
postfix/html/rewrite.html
postfix/html/sendmail.1.html
postfix/html/transport.5.html
postfix/html/virtual.5.html
postfix/man/man1/sendmail.1
postfix/man/man5/transport.5
postfix/man/man5/virtual.5
postfix/proto/transport
postfix/proto/virtual
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/sendmail/sendmail.c
postfix/src/smtpd/smtpd.c
postfix/src/smtpd/smtpd_check.c
postfix/src/smtpd/smtpd_check.in
postfix/src/smtpd/smtpd_check.in2
postfix/src/smtpd/smtpd_check.ref
postfix/src/smtpd/smtpd_check.ref2
postfix/src/smtpd/smtpd_exp.in
postfix/src/smtpd/smtpd_exp.ref
postfix/src/trivial-rewrite/resolve.c
postfix/src/trivial-rewrite/transport.c

index 4b8c886e6ea9a90471edeeb001fed20055880204..9203896acea939bf3d5db114790911ec9a3ef796 100644 (file)
@@ -7348,7 +7348,7 @@ Apologies for any names omitted.
        only one of the results has a malformed name or address.
        File:  dns/dns_lookup.c.
 
-200201208
+20021208
 
        Cleanup: with the preliminary address domain classification
        concept as implemented by the trivial-rewrite address
@@ -7362,6 +7362,9 @@ Apologies for any names omitted.
        and virtual_xx_domains, and with local_recipient_maps and
        the local delivery agent.  File:  smtpd/smtpd_check.c.
 
+       Cleanup: removed support for obsolete #number domain forms.
+       File: smtpd/smtpd_check.c.
+
 20021209
 
        The Postfix installation procedure no longer sets the
@@ -7379,6 +7382,25 @@ Apologies for any names omitted.
        suddenly lose all their mail because local_recipient_maps
        is now turned on by default.
 
+20021211
+
+       Performance: doubled the default process limit (50->100)
+       and default queue manager active queue message/recipient
+       limits (10k->20k).  File: global/mail_params.h.
+
+20021212
+
+       Cleanup: allow transport map lookups to override error
+       mailer results (to avoid breaking existing installations),
+       and do transport map lookups before relocated map lookups.
+       Files:  trivial-rewrite/resolve.c, trivial-rewrite/transport.c.
+
+       Admin friendliness: the SMTP server now reports "User
+       unknown in {local recipient | virtual alias | virtual
+       mailbox | relay recipient} table". This will make trouble
+       shooting a little easier. Files: smtpd/smtpd_check.c,
+       trivial-rewrite/resolve.c.
+
 Open problems:
 
        Low: after successful delivery, per-queue window += 1/window,
index 5ff2c83c14af479de7d6e3fc646b1771e9782a20..53a2d6b57babacb019ec009fb1c4fec735cbc776 100644 (file)
@@ -50,6 +50,7 @@ If your system is supported, it is one of
     AIX 4.1.x
     AIX 4.2.0
     AIX 4.3.x
+    AIX 5.2
     BSD/OS 2.x
     BSD/OS 3.x
     BSD/OS 4.x
diff --git a/postfix/README_FILES/RELEASE_NOTES b/postfix/README_FILES/RELEASE_NOTES
new file mode 120000 (symlink)
index 0000000..577eefe
--- /dev/null
@@ -0,0 +1 @@
+../RELEASE_NOTES
\ No newline at end of file
index ac4809854f03f6a992f839edb91ea392a5811307..fd833bc0a5484980018d840f96a6659fa0af465d 100644 (file)
@@ -8,9 +8,13 @@ Purpose of this software
 You can use the virtual delivery agent for mailbox delivery of some
 or all domains that are handled by a machine.
 
-This mechanism is different from simulated virtual domains that
-are implemented by translating each virtual address into a real
-local user. For that, see the virtual(5) manual page.
+This mechanism is different from simulated virtual domains. Those
+are implemented by translating every recipient address into a
+different address. For that, see the virtual(5) manual page.
+
+With the virtual delivery agent, every recipient adress can have
+its own mailbox. There is no translation from recipient addresses
+into different addresses.
 
 This is what Andrew McNamara wrote when he made the virtual delivery
 agent available.
index 3defcc3c4f73981396d093c9ff220ebc55d80a48..102edaf42163a3262f080eac1ee7159630111614 100644 (file)
@@ -19,11 +19,15 @@ This release adds a new "relay" service to the Postfix master.cf
 file.  If your Postfix is unable to connect to the "relay" service
 then you have not properly followed the installation procedure.
 
-The Postfix SMTP server now rejects mail for local recipients that
-it does not know about.  For this to work correctly, you need to
-review the section titled "REJECTING UNKNOWN LOCAL USERS" in
-conf/main.cf if one of the following is true:
-
+The Postfix SMTP server now rejects mail for $mydestination domain
+recipients that it does not know about.  For this to work correctly,
+you need to review the section titled "REJECTING UNKNOWN LOCAL
+USERS" in conf/main.cf if one of the following is true:
+
+- You define $mydestination domain recipients in files other than
+  /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
+  For example, you define $mydestination domain recipients in the
+  $virtual_mailbox_maps files.
 - You run the Postfix SMTP server chrooted (see master.cf).
 - You redefined the local delivery agent in master.cf.
 - You redefined the "local_transport" setting in main.cf.
@@ -62,12 +66,15 @@ The "check_relay_domains" restriction is going away. The SMTP server
 logs a warning and suggests using "reject_unauth_destination"
 instead.
 
+The Postfix SMTP client no longer expands CNAMEs in MAIL FROM or
+RCPT TO addresses (as permitted by RFC 2821).
+
 The Postfix installation procedure no longer sets the "chattr +S"
 bit on Linux queue directories. Wietse has gotten too annoyed with
 naive reviewers who complain about performance without having a
 clue of what they are comparing.
 
-Major changes with Postfix snapshot 1.1.11-20021209
+Major changes with Postfix snapshot 1.1.12-20021209
 ===================================================
 
 This release introduces separation of lookup tables for addresses
index 1883e4738477ff4f80c4d601023445abe7f5b8b0..f8e17b766e3b61d24d01570ae311cc927b765b90 100644 (file)
@@ -153,8 +153,8 @@ mail_owner = postfix
 # REJECTING UNKNOWN LOCAL USERS
 #
 # The local_recipient_maps parameter specifies optional lookup tables
-# with all names (not addresses) of users that are local with respect
-# to $mydestination and $inet_interfaces.  
+# with all names or addresses of users that are local with respect
+# to $mydestination and $inet_interfaces.
 #
 # If this parameter is defined, then the SMTP server will reject
 # mail for unknown local users. This parameter is defined by default.
@@ -163,6 +163,11 @@ mail_owner = postfix
 # delivery agent for local delivery. You need to update the
 # local_recipient_maps setting if:
 #
+# - You define $mydestination domain recipients in files other than
+#   /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
+#   For example, you define $mydestination domain recipients in
+#   the $virtual_mailbox_maps files.
+#
 # - You redefined the local delivery agent in master.cf.
 #
 # - You redefined the "local_transport" setting in main.cf.
@@ -221,15 +226,14 @@ local_recipient_maps = unix:passwd.byname $alias_maps
 #mynetworks = $config_directory/mynetworks
 #mynetworks = hash:/etc/postfix/network_table
 
-# The relay_domains parameter restricts what clients this mail system
-# will relay mail from, or what destinations this system will relay
-# mail to.  See the smtpd_recipient_restrictions restriction in the
+# The relay_domains parameter restricts what destinations this system will
+# relay mail to.  See the smtpd_recipient_restrictions restriction in the
 # file sample-smtpd.cf for detailed information.
 #
 # By default, Postfix relays mail
 # - from "trusted" clients whose IP address matches $mynetworks, 
-# - from untrusted clients to destinations that match $relay_domains
-#   or subdomains thereof, except addresses with sender-specified routing.
+# - from any client to destinations that match $relay_domains or
+#   subdomains thereof, except addresses with sender-specified routing.
 # The default relay_domains value is $mydestination.
 # 
 # In addition to the above, the Postfix SMTP server by default accepts mail
index 3616c652ddbce518402a8cdf942c9890e11e0f27..1f924f06cd39e7cc49e6750bf5bb56cb75311fa1 100644 (file)
@@ -177,11 +177,13 @@ $readme_directory/LDAP_README:f:root:-:644
 $readme_directory/LINUX_README:f:root:-:644
 $readme_directory/LMTP_README:f:root:-:644
 $readme_directory/MACOSX_README:f:root:-:644
+$readme_directory/MAILDROP_README:f:root:-:644
 $readme_directory/MYSQL_README:f:root:-:644
 $readme_directory/NFS_README:f:root:-:644
 $readme_directory/PACKAGE_README:f:root:-:644
 $readme_directory/PCRE_README:f:root:-:644
 $readme_directory/QMQP_README:f:root:-:644
+$readme_directory/RELEASE_NOTES:f:root:-:644
 $readme_directory/RESTRICTION_CLASS_README:f:root:-:644
 $readme_directory/SASL_README:f:root:-:644
 $readme_directory/ULTRIX_README:f:root:-:644
index e1558eb93c84dfe48427fe28a01599d6d0917f55..aa9661e8c1a76a8b8193180642a83dfb5f378328 100644 (file)
@@ -170,7 +170,7 @@ check)
        }
 
        find `ls -d $queue_directory/* | \
-           egrep '/(incoming|active|defer|deferred|bounce|saved|corrupt|public|private|flush)$'` \
+           egrep '/(incoming|active|defer|deferred|bounce|hold|corrupt|public|private|flush)$'` \
            ! \( -type p -o -type s \) ! -user $mail_owner \
                -exec $WARN not owned by $mail_owner: {} \;
 
index 673b7a59aa4a2b61aeee0abc8082960b6086737f..9a82c179e46ad13e297d57e55f51e55824e19179 100644 (file)
@@ -401,18 +401,16 @@ smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
 #
 allow_untrusted_routing = no
 
-# The relay_domains parameter restricts what client hostname domains
-# (and subdomains thereof) this mail system will relay mail from,
-# and restricts what destination domains (and subdomains thereof)
-# this system will relay mail to.
+# The relay_domains parameter restricts what destination domains (and
+# subdomains thereof) this system will relay mail to.
 #
 # These domains are routed to the delivery agent specified with the
 # relay_transport parameter setting.
 #
 # By default, Postfix relays mail
 # - from trusted clients whose IP address matches $mynetworks,
-# - from untrusted clients to destinations that match $relay_domains
-#   or subdomains thereof, except addresses with sender-specified routing.
+# - from any client to destinations that match $relay_domains or
+#   subdomains thereof, except addresses with sender-specified routing.
 # The default relay_domains value is $mydestination. 
 #
 # In addition to the above, the Postfix SMTP server by default accepts mail
index becab48afa4ee90210fb79696e5125c3df49efa0..2b36e7c4dd588241d729f05b916d3fcc93ca0cd0 100644 (file)
 # 
 #        virtual_transport
 #               The default mail delivery transport when the desti-
-#               nation matches virtual_mailbox_domains.
+#               nation matches $virtual_mailbox_domains.
 # 
 #        relay_transport
 #               The default mail delivery transport when the desti-
-#               nation matches relay_domains.
+#               nation matches $relay_domains.
 # 
 #        default_transport
 #               The default mail delivery transport when the desti-
 # 
 #        relayhost
 #               The default host for destinations that do not match
-#               $mydestination,        $inet_interfaces,       vir-
-#               tual_alias_domains or virtual_mailbox_domains.
+#               $mydestination,       $inet_interfaces,       $vir-
+#               tual_alias_domains or $virtual_mailbox_domains.
 # 
 # SEE ALSO
 #        postmap(1) create mapping table
index c04f06c31d2659dd846ba8805448b62bd8d27175..6fa76dfe17a976521479a98501378cef518e0c2e 100644 (file)
 #        o      To  simulate  virtual  domains  where  all  virtual
 #               addresses are aliased to non-virtual addresses.
 # 
+#               Simulated virtual domains are not  to  be  confused
+#               with  the true virtual domains that are implemented
+#               with the Postfix virtual(8) mail delivery agent.
+# 
 #        Virtual aliasing is applied  only  to  recipient  envelope
 #        addresses,  and  does  not  affect message headers.  Think
 #        Sendmail rule set S0, if you like. Use  canonical(5)  map-
index f5b3b2a89f7a5ad621b449008b8a06cb561047a3..2ef8ec04202bd0b3709617dd2dbd3d898bfe0cc5 100644 (file)
@@ -70,7 +70,7 @@ command.
 
 <a name="process"><h2> Process limits</h2>
 
-The <b>default_process_limit</b> parameter (default: 50) gives
+The <b>default_process_limit</b> parameter (default: 100) gives
 direct control over inbound and outbound delivery rates.  This
 parameter controls the number of concurrent processes that implement
 a Postfix service (smtp client, smtp server, local delivery, etc.).
@@ -319,7 +319,7 @@ failure.
 
 <p>
 
-<dt> <b>qmgr_message_recipient_limit</b> (default: 1000) <dd> The
+<dt> <b>qmgr_message_recipient_limit</b> (default: 20000) <dd> The
 size of many in-memory queue manager data structures.  Among others,
 this parameter limits the size of the short-term, in-memory "dead"
 list.  Destinations that don't fit the list are not added.
index 234b493622bcea4bce34290ce6995363b346d37e..e37c78a0aec137937fb0310dce5bf10d21a886e4 100644 (file)
@@ -139,7 +139,7 @@ of in-memory object instances.
 
 <dl>
 
-<dt> <b>qmgr_message_recipient_limit</b> (default: 10000)
+<dt> <b>qmgr_message_recipient_limit</b> (default: 20000)
 
 <dd> An upper bound on the number of <a href="qmgr.8.html">queue
 manager</a> in-memory recipient address data structures.  This
@@ -149,7 +149,7 @@ href="rate.html#backoff">delivery rate control</a> documentation.
 
 <p>
 
-<dt> <b>qmgr_message_active_limit</b> (default: 1000)
+<dt> <b>qmgr_message_active_limit</b> (default: 20000)
 
 <dd> An upper limit on the number of messages in the <b>active</b>
 queue.  For an introduction to the Postfix queue organization see
index 5f839fa6caf0a2ae808181ea16f56976b40cfab4..b007757be62930e9444d2119d84d1062a332afc5 100644 (file)
@@ -55,11 +55,11 @@ All mail:
 
 <p>
 
-<li> <a href="#relocated"> Relocated users table</a>
+<li> <a href="#transport"> Mail transport switch</a>
 
 <p>
 
-<li> <a href="#transport"> Mail transport switch</a>
+<li> <a href="#relocated"> Relocated users table</a>
 
 </ul>
 
@@ -307,7 +307,7 @@ individual machines.
 
 After applying the canonical and masquerade mappings, the <a
 href="cleanup.8.html">cleanup</a> daemon uses the <a
-href="virtual.5.html">virtual</a> table to redirect mail for all
+href="virtual.5.html">virtual alias</a> table to redirect mail for all
 recipients, local or remote.  The mapping affects only envelope
 recipients; it has no effect on message headers or envelope senders.
 Virtual alias lookups are useful to redirect mail for simulated
@@ -336,39 +336,48 @@ Addresses found in virtual alias maps are subjected to another
 iteration of virtual aliasing, but are not subjected to canonical
 mapping, in order to avoid loops.
 
-<a name="relocated"> <h2> Relocated users table</h2>
+<a name="transport"> <h2> Mail transport switch</h2>
 
-Next, the queue manager runs each recipient name through the
-<a href="relocated.5.html">relocated</a> database.  This table
-provides information on how to reach users that no longer have an
-account, or what to do with mail for entire domains that no longer
-exist.  When mail is sent to an address that is listed in this
-table, the message is bounced with an informative message.
+Once the address rewriting and resolving daemon has established
+the destination of a message, it determines the default delivery
+method for that destination. Postfix distinguishes four major
+address classes, each with its own default delivery method.
 
-<p>
+<blockquote>
 
-Lookups of relocated users are disabled by default. To enable, edit
-the <b>relocated_maps</b> parameter in the <b>main.cf</b>
-file and specify one or more lookup tables, separated by whitespace
-or commas. For example:
+<table border="1">
 
-<dl>
+<tr><th align="left">Destination matches<th align="left">Default delivery agent <th align="left">Controlling parameter
 
-<dd><b>relocated_maps = hash:/etc/postfix/relocated</b>
+<tr><td><a href="basic.html#mydestination">$mydestination</a> or
+<a href="basic.html#inet_interfaces">$inet_interfaces</a>
+<td><a href="local.8.html">local</a>
+<td><b>$local_transport</b> 
 
-</dl>
+<tr><td><b>$virtual_mailbox_domains</b> 
+<td><a href="virtual.8.html">virtual</a>
+<td><b>$virtual_transport</b> 
 
-<a name="transport"> <h2> Mail transport switch</h2>
+<tr><td><a href="uce.html#relay_domains">$relay_domains</a>
+<td>relay (clone of <a href="smtp.8.html">smtp</a>)
+<td><b>$relay_transport</b> 
+
+<tr><td>none 
+<td><a href="smtp.8.html">smtp</a>
+<td><b>$default_transport</b> 
 
-Once the queue manager has established the destination of a message,
-the optional <a href="transport.5.html">transport</a> table controls
-how the message will be delivered (this table is used by the address
-rewriting and resolving daemon). By default, everything is sent
-via the <a href="smtp.8.html">smtp</a> transport. The transport
-table can be used to send mail to specific sites via <b>UUCP</b>,
-or to send mail to a really broken mail system that can handle only
-one SMTP connection at a time (yes, such systems exist and people
-used to pay real money for them).
+</table>
+
+</blockquote>
+
+The optional <a href="transport.5.html">transport</a> table overrides
+the default message delivery method (this table is used by the
+address rewriting and resolving daemon).
+
+The transport table can be used to send mail to specific sites via
+<b>UUCP</b>, or to send mail to a really broken mail system that
+can handle only one SMTP connection at a time (yes, such systems
+exist and people used to pay real money for them).
 
 <p>
 
@@ -383,6 +392,28 @@ commas. For example:
 
 </dl>
 
+<a name="relocated"> <h2> Relocated users table</h2>
+
+Next, the address rewriting and resolving daemon runs each recipient
+name through the <a href="relocated.5.html">relocated</a> database.
+This table provides information on how to reach users that no longer
+have an account, or what to do with mail for entire domains that
+no longer exist.  When mail is sent to an address that is listed
+in this table, the message is bounced with an informative message.
+
+<p>
+
+Lookups of relocated users are disabled by default. To enable, edit
+the <b>relocated_maps</b> parameter in the <b>main.cf</b>
+file and specify one or more lookup tables, separated by whitespace
+or commas. For example:
+
+<dl>
+
+<dd><b>relocated_maps = hash:/etc/postfix/relocated</b>
+
+</dl>
+
 <a name="aliases"> <h2> Alias database</h2>
 
 When mail is to be delivered locally, the <a href="local.8.html">local</a>
index 1eb206f72a227b622deff5807bc537129cccdd78..ba691f1ebc1a4274598f54654bae328a0304679a 100644 (file)
@@ -62,7 +62,7 @@ SENDMAIL(1)                                           SENDMAIL(1)
        <b>-Ac</b> (ignored)
               Postfix  sendmail  uses the same configuration file
               regardless of whether or not a message is  an  ini-
-              tial sumbission.
+              tial submission.
 
        <b>-B</b> <i>body_type</i>
               The message body MIME type: <b>7BIT</b> or <b>8BITMIME</b>.
index 1a8b4c093679cca6f6368882518346872235b860..613240673b55adf8b1de0dcdf4be30c7ccde7b83 100644 (file)
@@ -217,11 +217,11 @@ TRANSPORT(5)                                         TRANSPORT(5)
 
        <b>virtual</b><i>_</i><b>transport</b>
               The default mail delivery transport when the desti-
-              nation matches <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>.
+              nation matches <b>$virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>.
 
        <b>relay</b><i>_</i><b>transport</b>
               The default mail delivery transport when the desti-
-              nation matches <b>relay</b><i>_</i><b>domains</b>.
+              nation matches <b>$relay</b><i>_</i><b>domains</b>.
 
        <b>default</b><i>_</i><b>transport</b>
               The default mail delivery transport when the desti-
@@ -234,8 +234,8 @@ TRANSPORT(5)                                         TRANSPORT(5)
 
        <b>relayhost</b>
               The default host for destinations that do not match
-              <b>$mydestination</b>,        <b>$inet</b><i>_</i><b>interfaces</b>,       <b>vir-</b>
-              <b>tual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> or <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>.
+              <b>$mydestination</b>,       <b>$inet</b><i>_</i><b>interfaces</b>,       <b>$vir-</b>
+              <b>tual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> or <b>$virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>.
 
 <b>SEE</b> <b>ALSO</b>
        <a href="postmap.1.html">postmap(1)</a> create mapping table
index 3c2df27198803a45a86860f80db3d7c10d8341a4..fd7fe1b663ab21ddfb4637bec27fa533eda4e7a6 100644 (file)
@@ -25,6 +25,10 @@ VIRTUAL(5)                                             VIRTUAL(5)
        <b>o</b>      To  simulate  virtual  domains  where  all  virtual
               addresses are aliased to non-virtual addresses.
 
+              Simulated virtual domains are not  to  be  confused
+              with  the true virtual domains that are implemented
+              with the Postfix <a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent.
+
        Virtual aliasing is applied  only  to  recipient  envelope
        addresses,  and  does  not  affect message headers.  Think
        Sendmail rule set <b>S0</b>, if you like. Use  <a href="canonical.5.html"><b>canonical</b>(5)</a>  map-
index 94dffaf4e7306328ac47e80d4dff6089a724e6bd..44a714b473be81f00347d911f705e6f29268065c 100644 (file)
@@ -58,7 +58,7 @@ The following options are recognized:
 .IP "\fB-Am\fR (ignored)"
 .IP "\fB-Ac\fR (ignored)"
 Postfix sendmail uses the same configuration file regardless of
-whether or not a message is an initial sumbission.
+whether or not a message is an initial submission.
 .IP "\fB-B \fIbody_type\fR"
 The message body MIME type: \fB7BIT\fR or \fB8BITMIME\fR.
 .IP "\fB-C \fIconfig_file\fR (ignored :-)"
index dc4ce468d98df29f03026542711bfb288174ca99..24e9487c3576824ea70d6976768230fff31b4e3d 100644 (file)
@@ -223,10 +223,10 @@ The default mail delivery transport when the destination matches
 \fB$mydestination\fR or \fB$inet_interfaces\fR.
 .IP \fBvirtual_transport\fR
 The default mail delivery transport when the destination matches
-\fBvirtual_mailbox_domains\fR.
+\fB$virtual_mailbox_domains\fR.
 .IP \fBrelay_transport\fR
 The default mail delivery transport when the destination matches
-\fBrelay_domains\fR.
+\fB$relay_domains\fR.
 .IP \fBdefault_transport\fR
 The default mail delivery transport when the destination does not
 match a local, virtual or relay destination.
@@ -236,7 +236,7 @@ by default.
 .IP \fBrelayhost\fR
 The default host for destinations that do not match
 \fB$mydestination\fR, \fB$inet_interfaces\fR,
-\fBvirtual_alias_domains\fR or \fBvirtual_mailbox_domains\fR.
+\fB$virtual_alias_domains\fR or \fB$virtual_mailbox_domains\fR.
 .SH SEE ALSO
 .na
 .nf
index a51e794264f89acef8304075601d68f91d98f0d3..98d61140bad3dc7e1de4be96d4092f2e6bc72303 100644 (file)
@@ -26,6 +26,10 @@ To redirect mail from one address to one or more other addresses.
 .IP \(bu
 To simulate virtual domains where all virtual addresses are aliased
 to non-virtual addresses.
+.sp
+Simulated virtual domains are not to be confused with the true virtual
+domains that are implemented with the Postfix \fBvirtual\fR(8) mail
+delivery agent.
 .PP
 Virtual aliasing is applied only to recipient
 envelope addresses, and does not affect message headers.
index 24de9edae1b4d64298185c3168a8e97c4884b032..0ebd73bbf32eb384a684dd86b6c5a829f1b0d72a 100644 (file)
 #      \fB$mydestination\fR or \fB$inet_interfaces\fR.
 # .IP \fBvirtual_transport\fR
 #      The default mail delivery transport when the destination matches
-#      \fBvirtual_mailbox_domains\fR.
+#      \fB$virtual_mailbox_domains\fR.
 # .IP \fBrelay_transport\fR
 #      The default mail delivery transport when the destination matches
-#      \fBrelay_domains\fR.
+#      \fB$relay_domains\fR.
 # .IP \fBdefault_transport\fR
 #      The default mail delivery transport when the destination does not
 #      match a local, virtual or relay destination.
 # .IP \fBrelayhost\fR
 #      The default host for destinations that do not match
 #      \fB$mydestination\fR, \fB$inet_interfaces\fR,
-#      \fBvirtual_alias_domains\fR or \fBvirtual_mailbox_domains\fR.
+#      \fB$virtual_alias_domains\fR or \fB$virtual_mailbox_domains\fR.
 # SEE ALSO
 #      postmap(1) create mapping table
 #      trivial-rewrite(8) rewrite and resolve addresses
index bfbd131030632aedf55877cc51f3fed7974eb878..0b5eaf374c6f63048c891a973cf22320b1541c21 100644 (file)
 # .IP \(bu
 #      To simulate virtual domains where all virtual addresses are aliased
 #      to non-virtual addresses.
+# .sp
+#      Simulated virtual domains are not to be confused with the true virtual
+#      domains that are implemented with the Postfix \fBvirtual\fR(8) mail
+#      delivery agent.
 # .PP
 #      Virtual aliasing is applied only to recipient
 #      envelope addresses, and does not affect message headers.
index 178d82a0d7ad50b235e55c7adf7711e6c51613b1..e9f43b83a2f5976c9b3ba16dc45748b4d6f843b4 100644 (file)
@@ -509,11 +509,11 @@ extern int var_delay_warn_time;
   * Queue manager: various in-core message and recipient limits.
   */
 #define VAR_QMGR_ACT_LIMIT     "qmgr_message_active_limit"
-#define DEF_QMGR_ACT_LIMIT     10000
+#define DEF_QMGR_ACT_LIMIT     20000
 extern int var_qmgr_active_limit;
 
 #define VAR_QMGR_RCPT_LIMIT    "qmgr_message_recipient_limit"
-#define DEF_QMGR_RCPT_LIMIT    10000
+#define DEF_QMGR_RCPT_LIMIT    20000
 extern int var_qmgr_rcpt_limit;
 
 #define VAR_QMGR_MSG_RCPT_LIMIT        "qmgr_message_recipient_minimum"
@@ -611,7 +611,7 @@ extern int var_qmgr_clog_warn_time;
   * Master: default process count limit per mail subsystem.
   */
 #define VAR_PROC_LIMIT         "default_process_limit"
-#define DEF_PROC_LIMIT         50
+#define DEF_PROC_LIMIT         100
 extern int var_proc_limit;
 
  /*
index 7af1eb35c1dc068252a0ec19292d1f3221ff59fd..e9cd06f5c0b6fdda91fbb27f7a2f12981ac1007b 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change the patchlevel and the release date. Snapshots change the
   * release date only, unless they include the same bugfix as a patch release.
   */
-#define MAIL_RELEASE_DATE      "20021209"
+#define MAIL_RELEASE_DATE      "20021212"
 
 #define VAR_MAIL_VERSION       "mail_version"
 #define DEF_MAIL_VERSION       "1.1.12-" MAIL_RELEASE_DATE
index e3a67d974b8dc277c3d097c3ff0e96e0308ce680..f2fa7218d450feaca330d33ce55e300ffe461dd2 100644 (file)
@@ -52,7 +52,7 @@
 /* .IP "\fB-Am\fR (ignored)"
 /* .IP "\fB-Ac\fR (ignored)"
 /*     Postfix sendmail uses the same configuration file regardless of
-/*     whether or not a message is an initial sumbission.
+/*     whether or not a message is an initial submission.
 /* .IP "\fB-B \fIbody_type\fR"
 /*     The message body MIME type: \fB7BIT\fR or \fB8BITMIME\fR.
 /* .IP "\fB-C \fIconfig_file\fR (ignored :-)"
index d11151466374f3e393da2e8c3747e8e94d026160..e08a2f3d3bd66216785c14df446f01147b4a3a8b 100644 (file)
@@ -397,7 +397,6 @@ char   *var_canonical_maps;
 char   *var_rcpt_canon_maps;
 char   *var_virt_alias_maps;
 char   *var_virt_mailbox_maps;
-char   *var_virt_mailbox_doms;
 char   *var_alias_maps;
 char   *var_local_rcpt_maps;
 bool    var_allow_untrust_route;
@@ -1655,7 +1654,6 @@ int     main(int argc, char **argv)
        VAR_RCPT_CANON_MAPS, DEF_RCPT_CANON_MAPS, &var_rcpt_canon_maps, 0, 0,
        VAR_VIRT_ALIAS_MAPS, DEF_VIRT_ALIAS_MAPS, &var_virt_alias_maps, 0, 0,
        VAR_VIRT_MAILBOX_MAPS, DEF_VIRT_MAILBOX_MAPS, &var_virt_mailbox_maps, 0, 0,
-       VAR_VIRT_MAILBOX_DOMS, DEF_VIRT_MAILBOX_DOMS, &var_virt_mailbox_doms, 0, 0,
        VAR_ALIAS_MAPS, DEF_ALIAS_MAPS, &var_alias_maps, 0, 0,
        VAR_LOCAL_RCPT_MAPS, DEF_LOCAL_RCPT_MAPS, &var_local_rcpt_maps, 0, 0,
        VAR_SMTPD_SASL_OPTS, DEF_SMTPD_SASL_OPTS, &var_smtpd_sasl_opts, 0, 0,
index 6f126746f2a8cd944ef700e9d9415c59142d442c..346eb70e4c3c3a19f65178295ca9ba2a004618e8 100644 (file)
@@ -3175,7 +3175,8 @@ char   *smtpd_check_rcptmap(SMTPD_STATE *state, char *recipient)
 #endif
        && NOMATCH(local_rcpt_maps, CONST_STR(reply->recipient))) {
        (void) smtpd_check_reject(state, MAIL_ERROR_BOUNCE,
-                                 "%d <%s>: User unknown", 550, recipient);
+                          "%d <%s>: User unknown in local recipient table",
+                                 550, recipient);
        SMTPD_CHECK_RCPT_RETURN(STR(error_text));
     }
 
@@ -3188,7 +3189,8 @@ char   *smtpd_check_rcptmap(SMTPD_STATE *state, char *recipient)
 #endif
        && NOMATCHV8(virt_mailbox_maps, CONST_STR(reply->recipient))) {
        (void) smtpd_check_reject(state, MAIL_ERROR_BOUNCE,
-                                 "%d <%s>: User unknown", 550, recipient);
+                          "%d <%s>: User unknown in virtual mailbox table",
+                                 550, recipient);
        SMTPD_CHECK_RCPT_RETURN(STR(error_text));
     }
 
@@ -3202,7 +3204,8 @@ char   *smtpd_check_rcptmap(SMTPD_STATE *state, char *recipient)
 #endif
        && NOMATCH(relay_rcpt_maps, CONST_STR(reply->recipient))) {
        (void) smtpd_check_reject(state, MAIL_ERROR_BOUNCE,
-                                 "%d <%s>: User unknown", 550, recipient);
+                          "%d <%s>: User unknown in relay recipient table",
+                                 550, recipient);
        SMTPD_CHECK_RCPT_RETURN(STR(error_text));
     }
 
@@ -3375,6 +3378,9 @@ typedef struct {
     char  **target;
 } STRING_TABLE;
 
+#undef DEF_LOCAL_RCPT_MAPS
+#define DEF_LOCAL_RCPT_MAPS            ""
+
 #undef DEF_VIRT_ALIAS_MAPS
 #define DEF_VIRT_ALIAS_MAPS    ""
 
@@ -3781,7 +3787,7 @@ int     main(int argc, char **argv)
            }
            if (strcasecmp(args->argv[0], "relay_recipient_maps") == 0) {
                UPDATE_STRING(var_relay_rcpt_maps, args->argv[1]);
-               UPDATE_MAPS(relay_rcpt_maps, VAR_LOCAL_RCPT_MAPS,
+               UPDATE_MAPS(relay_rcpt_maps, VAR_RELAY_RCPT_MAPS,
                            var_relay_rcpt_maps, DICT_FLAG_LOCK);
                resp = 0;
                break;
index 256b22853d9c509a6cf9d3b6675afab649afa47a..1e0b2969ac0c7239e89aba0cd87ca09391d55e19 100644 (file)
@@ -6,7 +6,7 @@
 smtpd_delay_reject 0
 mynetworks 127.0.0.0/8,168.100.189.0/28
 relay_domains porcupine.org
-maps_rbl_domains blackholes.mail-abuse.org
+maps_rbl_domains socks.relays.osirusoft.com
 #
 # Test the client restrictions.
 #
index 2b9000267b460b48c71493df569f3be4ec6d23ed..886ffb9ef63eaaea0315a6b9bcb7c93bbd78da67 100644 (file)
@@ -6,7 +6,7 @@
 smtpd_delay_reject 0
 mynetworks 127.0.0.0/8,168.100.189.0/28
 relay_domains porcupine.org
-maps_rbl_domains blackholes.mail-abuse.org
+maps_rbl_domains socks.relays.osirusoft.com
 #
 # Test the client restrictions.
 #
index 451790f7d1d5c6315685a1dc641b1566738cf12a..6d77f64172d53b7ab5a0e13e5487cc945fc4ea4c 100644 (file)
@@ -9,7 +9,7 @@ OK
 OK
 >>> relay_domains porcupine.org
 OK
->>> maps_rbl_domains blackholes.mail-abuse.org
+>>> maps_rbl_domains socks.relays.osirusoft.com
 OK
 >>> #
 >>> # Test the client restrictions.
@@ -186,8 +186,8 @@ OK
 ./smtpd_check: warning: restriction reject_maps_rbl is going away. Please use reject_rbl_client <domain> instead
 OK
 >>> client foo 127.0.0.2
-./smtpd_check: <queue id>: reject: CONNECT from foo[127.0.0.2]: 554 Service unavailable; Client host [127.0.0.2] blocked using blackholes.mail-abuse.org; Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2>; from=<foo@friend.bad.domain> proto=SMTP helo=<123.123.123.123>
-554 Service unavailable; Client host [127.0.0.2] blocked using blackholes.mail-abuse.org; Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2>
+./smtpd_check: <queue id>: reject: CONNECT from foo[127.0.0.2]: 554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test; from=<foo@friend.bad.domain> proto=SMTP helo=<123.123.123.123>
+554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test
 >>> #
 >>> # Hybrids
 >>> #
index e8b92345e4f19ff4384f8085a62da1ef2f2f76cd..26d31fe846683a390c015a6573f8602533680b24 100644 (file)
@@ -9,7 +9,7 @@ OK
 OK
 >>> relay_domains porcupine.org
 OK
->>> maps_rbl_domains blackholes.mail-abuse.org
+>>> maps_rbl_domains socks.relays.osirusoft.com
 OK
 >>> #
 >>> # Test the client restrictions.
@@ -176,8 +176,8 @@ OK
 ./smtpd_check: warning: restriction reject_maps_rbl is going away. Please use reject_rbl_client <domain> instead
 OK
 >>> client foo 127.0.0.2
-./smtpd_check: <queue id>: reject: CONNECT from foo[127.0.0.2]: 554 Service unavailable; Client host [127.0.0.2] blocked using blackholes.mail-abuse.org; Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2>; from=<foo@friend.bad.domain> proto=SMTP helo=<friend.bad.domain>
-554 Service unavailable; Client host [127.0.0.2] blocked using blackholes.mail-abuse.org; Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2>
+./smtpd_check: <queue id>: reject: CONNECT from foo[127.0.0.2]: 554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test; from=<foo@friend.bad.domain> proto=SMTP helo=<friend.bad.domain>
+554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test
 >>> #
 >>> # unknown sender/recipient domain
 >>> #
index 6045757fe1d1f6a7596b623bce095a54cc3a7ffd..b1f7135be823d16626242f38b5e5af8ab74fb4ed 100644 (file)
@@ -6,7 +6,7 @@
 smtpd_delay_reject 0
 mynetworks 127.0.0.0/8,168.100.189.0/28
 relay_domains porcupine.org
-maps_rbl_domains blackholes.mail-abuse.org
+maps_rbl_domains socks.relays.osirusoft.com
 rbl_reply_maps hash:smtpd_check_access
 helo foobar
 #
@@ -19,7 +19,7 @@ rcpt rname@rdomain
 client foo 127.0.0.2
 rcpt rname@rdomain
 #
-recipient_restrictions reject_rbl_client,blackholes.mail-abuse.org
+recipient_restrictions reject_rbl_client,socks.relays.osirusoft.com
 client spike.porcupine.org 168.100.189.2
 rcpt rname@rdomain
 client foo 127.0.0.2
index ea9e9a2f31397ee0660f52a58436eab141b31649..b6de0d9da4a5dace625d3a9dc2c853f7efa2d4bc 100644 (file)
@@ -9,7 +9,7 @@ OK
 OK
 >>> relay_domains porcupine.org
 OK
->>> maps_rbl_domains blackholes.mail-abuse.org
+>>> maps_rbl_domains socks.relays.osirusoft.com
 OK
 >>> rbl_reply_maps hash:smtpd_check_access
 OK
@@ -30,10 +30,10 @@ OK
 >>> client foo 127.0.0.2
 OK
 >>> rcpt rname@rdomain
-./smtpd_check: <queue id>: reject: RCPT from foo[127.0.0.2]: 554 client=foo[127.0.0.2] client_address=127.0.0.2 client_name=foo helo_name=foobar  sender=sname@sdomain sender_name=sname  sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=blackholes.mail-abuse.org rbl_txt=Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2> rbl_what=127.0.0.2 rbl_class=Client host; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<foobar>
-554 client=foo[127.0.0.2] client_address=127.0.0.2 client_name=foo helo_name=foobar  sender=sname@sdomain sender_name=sname  sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=blackholes.mail-abuse.org rbl_txt=Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2> rbl_what=127.0.0.2 rbl_class=Client host
+./smtpd_check: <queue id>: reject: RCPT from foo[127.0.0.2]: 554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<foobar>
+554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test
 >>> #
->>> recipient_restrictions reject_rbl_client,blackholes.mail-abuse.org
+>>> recipient_restrictions reject_rbl_client,socks.relays.osirusoft.com
 OK
 >>> client spike.porcupine.org 168.100.189.2
 OK
@@ -42,8 +42,8 @@ OK
 >>> client foo 127.0.0.2
 OK
 >>> rcpt rname@rdomain
-./smtpd_check: <queue id>: reject: RCPT from foo[127.0.0.2]: 554 client=foo[127.0.0.2] client_address=127.0.0.2 client_name=foo helo_name=foobar  sender=sname@sdomain sender_name=sname  sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=blackholes.mail-abuse.org rbl_txt=Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2> rbl_what=127.0.0.2 rbl_class=Client host; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<foobar>
-554 client=foo[127.0.0.2] client_address=127.0.0.2 client_name=foo helo_name=foobar  sender=sname@sdomain sender_name=sname  sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=blackholes.mail-abuse.org rbl_txt=Blackholed - see <URL:http://mail-abuse.org/cgi-bin/lookup?127.0.0.2> rbl_what=127.0.0.2 rbl_class=Client host
+./smtpd_check: <queue id>: reject: RCPT from foo[127.0.0.2]: 554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<foobar>
+554 Service unavailable; Client host [127.0.0.2] blocked using socks.relays.osirusoft.com; Proxy List Test
 >>> #
 >>> # RHSBL sender domain name
 >>> #
index 8b11cf78d063f00b1df9a4e41ad686a51de29914..11872996ddad09e0dac56bb86d441a762435dbc8 100644 (file)
@@ -247,7 +247,7 @@ void    resolve_addr(char *addr, VSTRING *channel, VSTRING *nexthop,
                msg_warn("do not list domain %s in BOTH %s and %s",
                  STR(nexthop), VAR_VIRT_ALIAS_DOMS, VAR_VIRT_MAILBOX_DOMS);
            vstring_strcpy(channel, var_error_transport);
-           vstring_strcpy(nexthop, "User unknown");
+           vstring_strcpy(nexthop, "User unknown in virtual alias table");
            blame = VAR_ERROR_TRANSPORT;
            *flags |= RESOLVE_CLASS_ALIAS;
        } else if (dict_errno != 0) {
@@ -326,17 +326,26 @@ void    resolve_addr(char *addr, VSTRING *channel, VSTRING *nexthop,
     }
 
     /*
-     * Bounce recipients that have moved. We do it here instead of in the
-     * local delivery agent. The benefit is that we can bounce mail for
-     * virtual addresses, not just local addresses only, and that there is no
-     * need to run a local delivery agent just for the sake of relocation
-     * notices. The downside is that this table has no effect on local alias
-     * expansion results, so that mail will have to make almost an entire
-     * iteration through the mail system.
+     * The transport map overrides any transport and next-hop host info that
+     * is set up above.
+     */
+    if ((*flags & RESOLVE_FLAG_FAIL) == 0 && *var_transport_maps) {
+       if (transport_lookup(STR(nextrcpt), channel, nexthop) == 0
+           && dict_errno != 0) {
+           msg_warn("%s lookup failure", VAR_TRANSPORT_MAPS);
+           *flags |= RESOLVE_FLAG_FAIL;
+       }
+    }
+
+    /*
+     * Bounce recipients that have moved, regardless of domain address class.
+     * The downside of doing this here is that this table has no effect on
+     * local alias expansion results. Such mail will have to make almost an
+     * entire iteration through the mail system.
      */
 #define IGNORE_ADDR_EXTENSION   ((char **) 0)
 
-    if ((*flags & RESOLVE_FLAG_FAIL) == 0 && relocated_maps != 0) {
+    if ((*flags & RESOLVE_FLAG_FAIL) == 0 && *var_relocated_maps != 0) {
        const char *newloc;
 
        if ((newloc = mail_addr_find(relocated_maps, STR(nextrcpt),
@@ -349,22 +358,6 @@ void    resolve_addr(char *addr, VSTRING *channel, VSTRING *nexthop,
        }
     }
 
-    /*
-     * The transport map overrides any transport and next-hop host info that
-     * is set up above.
-     * 
-     * XXX Don't override the error transport :-(
-     */
-    if ((*flags & RESOLVE_FLAG_FAIL) == 0
-       && *var_transport_maps
-       && strcmp(STR(channel), var_error_transport) != 0) {
-       if (transport_lookup(STR(nextrcpt), channel, nexthop) == 0
-           && dict_errno != 0) {
-           msg_warn("%s lookup failure", VAR_TRANSPORT_MAPS);
-           *flags |= RESOLVE_FLAG_FAIL;
-       }
-    }
-
     /*
      * Clean up.
      */
index 77e1129b0b5e741af9a3dcb3bd2b49e4c42ff827..e67d9818c2f282598dc4290253c3874d0ddc2d34 100644 (file)
@@ -90,7 +90,8 @@ void    transport_init(void)
 /* find_transport_entry - look up and parse transport table entry */
 
 static int find_transport_entry(const char *key, int flags,
-                                       VSTRING *channel, VSTRING *nexthop)
+                                       VSTRING *channel, VSTRING *nexthop,
+                                       const char *def_nexthop)
 {
     char   *saved_value;
     const char *host;
@@ -131,7 +132,8 @@ static int find_transport_entry(const char *key, int flags,
            } else
 #endif
                vstring_strcpy(nexthop, host);
-       }
+       } else if (def_nexthop != 0)
+           vstring_strcpy(nexthop, def_nexthop);
        if (*saved_value != 0)
            vstring_strcpy(channel, saved_value);
        myfree(saved_value);
@@ -150,7 +152,7 @@ void    transport_wildcard_init(void)
 #define FULL           0
 #define PARTIAL                DICT_FLAG_FIXED
 
-    if (find_transport_entry(WILDCARD, FULL, channel, nexthop)) {
+    if (find_transport_entry(WILDCARD, FULL, channel, nexthop, (char *) 0)) {
        wildcard_channel = channel;
        wildcard_nexthop = nexthop;
        if (msg_verbose)
@@ -172,6 +174,7 @@ int     transport_lookup(const char *addr, VSTRING *channel, VSTRING *nexthop)
     const char *name;
     const char *next;
     int     found;
+    const char *def_nexthop = 0;
 
 #define STREQ(x,y)     (strcmp((x), (y)) == 0)
 #define DISCARD_EXTENSION ((char **) 0)
@@ -190,7 +193,7 @@ int     transport_lookup(const char *addr, VSTRING *channel, VSTRING *nexthop)
      * string. Specify the FULL flag to include regexp maps in the query.
      */
     if (STREQ(full_addr, var_xport_null_key)) {
-       if (find_transport_entry(full_addr, FULL, channel, nexthop))
+       if (find_transport_entry(full_addr, FULL, channel, nexthop, def_nexthop))
            RETURN_FREE(FOUND);
        RETURN_FREE(NOTFOUND);
     }
@@ -199,10 +202,12 @@ int     transport_lookup(const char *addr, VSTRING *channel, VSTRING *nexthop)
      * Look up the full address with the FULL flag to include regexp maps in
      * the query.
      */
-    if ((ratsign = strrchr(full_addr, '@')) == 0)
+    if ((ratsign = strrchr(full_addr, '@')) == 0 || ratsign[1] == 0)
        msg_panic("transport_lookup: bad address: \"%s\"", full_addr);
 
-    if (find_transport_entry(full_addr, FULL, channel, nexthop))
+    def_nexthop = ratsign + 1;
+
+    if (find_transport_entry(full_addr, FULL, channel, nexthop, def_nexthop))
        RETURN_FREE(FOUND);
 
     /*
@@ -212,7 +217,8 @@ int     transport_lookup(const char *addr, VSTRING *channel, VSTRING *nexthop)
      */
     if ((stripped_addr = strip_addr(full_addr, DISCARD_EXTENSION,
                                    *var_rcpt_delim)) != 0) {
-       if (find_transport_entry(stripped_addr, PARTIAL, channel, nexthop)) {
+       if (find_transport_entry(stripped_addr, PARTIAL, channel, nexthop,
+                                def_nexthop)) {
            myfree(stripped_addr);
            RETURN_FREE(FOUND);
        } else {
@@ -237,7 +243,7 @@ int     transport_lookup(const char *addr, VSTRING *channel, VSTRING *nexthop)
      * with regular expressions.
      */
     for (found = 0, name = ratsign + 1; /* void */ ; name = next) {
-       if (find_transport_entry(name, PARTIAL, channel, nexthop))
+       if (find_transport_entry(name, PARTIAL, channel, nexthop, def_nexthop))
            RETURN_FREE(FOUND);
        if ((next = strchr(name + 1, '.')) == 0)
            break;