]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
snapshot-20001119
authorWietse Venema <wietse@porcupine.org>
Sun, 19 Nov 2000 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:26:54 +0000 (06:26 +0000)
12 files changed:
postfix/HISTORY
postfix/INSTALL.sh
postfix/conf/virtual
postfix/html/virtual.5.html
postfix/man/man5/virtual.5
postfix/proto/virtual
postfix/src/global/mail_version.h
postfix/src/nqmgr/qmgr_message.c
postfix/src/nqmgr/qmgr_peer.c
postfix/src/nqmgr/qmgr_queue.c
postfix/src/nqmgr/qmgr_transport.c
postfix/src/qmgr/qmgr_message.c

index fb2f94b1ed49e5c360c3f951582a28ae3380ccd6..94c96bcd35ef69dc304b1e63fdfd248a738b9ad9 100644 (file)
@@ -4495,3 +4495,5 @@ Apologies for any names omitted.
        aliases and mailing lists. Hopefully, this ends some of
        the confusion surrounding virtual domain support. Updated
        several FAQ entries concerning virtual domain support.
+
+       Documentation: added FAQ entry for the biff service.
index e281467d42aa3b0b669f71be14192427dcc43130..df4f74351f1ccdec61bcd5a3dafb0c40ac3dd63a 100644 (file)
@@ -275,14 +275,7 @@ else
     cp `censored_ls conf/*` $CONFIG_DIRECTORY || exit 1
     chmod a+r,go-w $CONFIG_DIRECTORY/* || exit 1
 
-    test -z "$install_root" && {
-       echo "Warning: you still need to edit myorigin/mydestination in" 1>&2
-       echo "$CONFIG_DIRECTORY/main.cf. See also html/faq.html for dialup" 1>&2
-       echo "sites or for sites inside a firewalled network." 1>&2
-       echo "" 1>&2
-       echo "BTW: Edit your alias database and be sure to set up aliases" 1>&2
-       echo "for root and postmaster, then run $NEWALIASES_PATH." 1>&2
-    }
+    test -z "$install_root" && need_config=1
 fi
 
 # Save settings.
@@ -348,3 +341,16 @@ no) ;;
      done
     )
 esac
+
+test "$need_config" = 1 && cat <<EOF 1>&2
+    
+    Warning: you still need to edit myorigin/mydestination in
+    $CONFIG_DIRECTORY/main.cf. See also html/faq.html for dialup
+    sites or for sites inside a firewalled network.
+    
+    BTW: Edit your alias database and be sure to set up aliases
+    for root and postmaster, then run $NEWALIASES_PATH.
+
+EOF
+
+exit 0
index 28066d9813a676b6f2d5f9473e231001d9654b09..25a4a6928ae5e06b20009281d819bcf36f74ddf3 100644 (file)
@@ -62,9 +62,9 @@
 # 
 #        Postfix-style virtual domain.
 # 
-#        Do  not  list the virtual domain in the main.cf mydestina-
-#        tion configuration parameter. Such an  entry  is  required
-#        only for a Sendmail-style virtual domain.
+#        Do  not list a Postfix-style virtual domain in the main.cf
+#        mydestination configuration parameter.  Such an  entry  is
+#        required only for a Sendmail-style virtual domain.
 # 
 #        With  a  Postfix-style  virtual  domain,  the Postfix SMTP
 #        server  accepts  mail  for  known-user@virtual.domain  and
@@ -94,9 +94,9 @@
 #        The  main.cf  mydestination  entry is required for a Send-
 #        mail-style virtual domain.
 # 
-#        Do not specify a virtual.domain whatever entry in the vir-
-#        tual table. Such an entry is required only with a Postfix-
-#        style virtual domain.
+#        Do not specify a virtual.domain whatever virtual map entry
+#        for  a  Sendmail-style  virtual  domain.  Such an entry is
+#        required only with a Postfix-style virtual domain.
 # 
 #        With a Sendmail-style virtual domain,  the  Postfix  local
 #        delivery  agent  delivers  mail  for  an unknown user@vir-
index b7a867598e6059332e43efaeb2a34e626d918610..4822791f6314379e45ffd50f2d8f0f3272ff6f69 100644 (file)
@@ -73,9 +73,9 @@ VIRTUAL(5)                                             VIRTUAL(5)
 
        Postfix-style virtual domain.
 
-       Do  not  list the virtual domain in the <b>main.cf</b> <b>mydestina-</b>
-       <b>tion</b> configuration parameter. Such an  entry  is  required
-       only for a Sendmail-style virtual domain.
+       Do  not list a Postfix-style virtual domain in the <b>main.cf</b>
+       <b>mydestination</b> configuration parameter.  Such an  entry  is
+       required only for a Sendmail-style virtual domain.
 
        With  a  Postfix-style  virtual  domain,  the Postfix SMTP
        server  accepts  mail  for  <i>known-user@virtual.domain</i>  and
@@ -105,9 +105,9 @@ VIRTUAL(5)                                             VIRTUAL(5)
        The  <b>main.cf</b>  <b>mydestination</b>  entry is required for a Send-
        mail-style virtual domain.
 
-       Do not specify a <i>virtual.domain</i> <i>whatever</i> entry in the vir-
-       tual table. Such an entry is required only with a Postfix-
-       style virtual domain.
+       Do not specify a <i>virtual.domain</i> <i>whatever</i> virtual map entry
+       for  a  Sendmail-style  virtual  domain.  Such an entry is
+       required only with a Postfix-style virtual domain.
 
        With a Sendmail-style virtual domain,  the  Postfix  local
        delivery  agent  delivers  mail  for  an unknown <i>user</i>@<i>vir-</i>
index 78cdb0209197194596a4bd3b1ac4f4cc37be80cd..96747ab60222f082255699fc1cadcb3b1b3d19ee 100644 (file)
@@ -64,9 +64,9 @@ Support for a Postfix-style virtual domain looks like:
 The \fIvirtual.domain anything\fR entry is required for a
 Postfix-style virtual domain.
 
-Do not list the virtual domain in the \fBmain.cf mydestination\fR
-configuration parameter. Such an entry is required only for a
-Sendmail-style virtual domain.
+Do not list a Postfix-style virtual domain in the \fBmain.cf
+mydestination\fR configuration parameter.
+Such an entry is required only for a Sendmail-style virtual domain.
 
 With a Postfix-style virtual domain, the Postfix SMTP server
 accepts mail for \fIknown-user@virtual.domain\fR and rejects
@@ -107,9 +107,9 @@ mydestination = $myhostname localhost.$mydomain $mydomain
 The \fBmain.cf mydestination\fR entry is required for a Sendmail-style
 virtual domain.
 
-Do not specify a \fIvirtual.domain whatever\fR entry in the
-virtual table. Such an entry is required only with a
-Postfix-style virtual domain.
+Do not specify a \fIvirtual.domain whatever\fR virtual map entry
+for a Sendmail-style virtual domain.
+Such an entry is required only with a Postfix-style virtual domain.
 
 With a Sendmail-style virtual domain, the Postfix local delivery
 agent delivers mail for an unknown \fIuser\fR@\fIvirtual.domain\fR
index 12ebedd38ddbd376c7db70fec55fb51cd64b051d..ed0451535bd3ccdf89b49a1bdd55bce66833b4c2 100644 (file)
@@ -56,9 +56,9 @@
 #      The \fIvirtual.domain anything\fR entry is required for a
 #      Postfix-style virtual domain.
 #
-#      Do not list the virtual domain in the \fBmain.cf mydestination\fR
-#      configuration parameter. Such an entry is required only for a
-#      Sendmail-style virtual domain.
+#      Do not list a Postfix-style virtual domain in the \fBmain.cf
+#      mydestination\fR configuration parameter.
+#      Such an entry is required only for a Sendmail-style virtual domain.
 #
 #      With a Postfix-style virtual domain, the Postfix SMTP server
 #      accepts mail for \fIknown-user@virtual.domain\fR and rejects
@@ -97,9 +97,9 @@
 #      The \fBmain.cf mydestination\fR entry is required for a Sendmail-style
 #      virtual domain.
 #
-#      Do not specify a \fIvirtual.domain whatever\fR entry in the
-#      virtual table. Such an entry is required only with a
-#      Postfix-style virtual domain.
+#      Do not specify a \fIvirtual.domain whatever\fR virtual map entry
+#      for a Sendmail-style virtual domain.
+#      Such an entry is required only with a Postfix-style virtual domain.
 #
 #      With a Sendmail-style virtual domain, the Postfix local delivery
 #      agent delivers mail for an unknown \fIuser\fR@\fIvirtual.domain\fR
index ee5d0376d8e2e1d457d5646b83868ea5c33cfc97..4ae30eb841aa801c3bfc06816339bead14ad5868 100644 (file)
@@ -15,7 +15,7 @@
   * Version of this program.
   */
 #define VAR_MAIL_VERSION       "mail_version"
-#define DEF_MAIL_VERSION       "Snapshot-20001118"
+#define DEF_MAIL_VERSION       "Snapshot-20001119"
 extern char *var_mail_version;
 
 /* LICENSE
index 1f317427cc9e1d60212c5abd3c9dcff41c2de8e2..4ae7ca5507489601ac9528774e20dfc0c0a0504b 100644 (file)
@@ -314,6 +314,8 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
        if (recipient_limit < message->rcpt_limit)
            recipient_limit = message->rcpt_limit;
     }
+    if (recipient_limit <= 0)
+       msg_panic("%s: no recipient slots available", message->queue_id);
 
     /*
      * Read envelope records. XXX Rely on the front-end programs to enforce
@@ -601,6 +603,13 @@ static void qmgr_message_resolve(QMGR_MESSAGE *message)
                UPDATE(recipient->address, STR(reply.recipient));
        }
 
+       /*
+        * XXX The nexthop destination is also used as lookup key for the
+        * per-destination queue. Fold the nexthop to lower case so that we
+        * don't have multiple queues for the same site.
+        */
+       lowercase(STR(reply.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
index fde7efa06d247045a28edc7482ce1ff4d09ca581..e086c356857046399a7b8e765dbc19e6423578df 100644 (file)
@@ -42,7 +42,7 @@
 /*     has messages pending delivery.  This routine implements
 /*     round-robin search among job's peers.
 /* DIAGNOSTICS
-/*     None
+/*     Panic: consistency check failure.
 /* LICENSE
 /* .ad
 /* .fi
@@ -86,10 +86,20 @@ QMGR_PEER *qmgr_peer_create(QMGR_JOB *job, QMGR_QUEUE *queue)
 
 void    qmgr_peer_free(QMGR_PEER *peer)
 {
+    char *myname = "qmgr_peer_free";
     QMGR_JOB *job = peer->job;
+    QMGR_QUEUE *queue = peer->queue;
+
+    /*
+     * Sanity checks. It is an error to delete a referenced peer structure.
+     */
+    if (peer->refcount != 0)
+       msg_panic("%s: refcount: %d", myname, peer->refcount);
+    if (peer->entry_list.next != 0)
+       msg_panic("%s: entry list not empty: %s", myname, queue->name);
 
     QMGR_LIST_UNLINK(job->peer_list, QMGR_PEER *, peer, peers);
-    htable_delete(job->peer_byname, peer->queue->name, (void (*) (char *)) 0);
+    htable_delete(job->peer_byname, queue->name, (void (*) (char *)) 0);
     myfree((char *) peer);
 }
 
index 0f079b2e380d87e7b5444267455bb0d923486932..ef7d69672b0376cddfab11e36670dc7d4f0f7525 100644 (file)
@@ -60,7 +60,7 @@
 /*     limit specified for the transport. This routine implements
 /*     "slow open" mode, and eliminates the "thundering herd" problem.
 /* DIAGNOSTICS
-/*     None
+/*     Panic: consistency check failure.
 /* LICENSE
 /* .ad
 /* .fi
index ff851b1c58cdc9b5a7ba495bebc7b0070b82d821..7fef4c759f7c78c8f6372262e4d9eced5df4f2f4 100644 (file)
@@ -238,7 +238,7 @@ QMGR_TRANSPORT *qmgr_transport_select(void)
     /*
      * If we find a suitable transport, rotate the list of transports to
      * effectuate round-robin selection. See similar selection code in
-     * qmgr_queue_select().
+     * qmgr_peer_select().
      */
 #define STAY_AWAY (QMGR_TRANSPORT_STAT_BUSY | QMGR_TRANSPORT_STAT_DEAD)
 
index 110f1e64d9bd524bb5d846306474627fdd3e21f1..23af5d6fe009b575eb8eaf17dc729a785fb2c93a 100644 (file)
@@ -481,6 +481,13 @@ static void qmgr_message_resolve(QMGR_MESSAGE *message)
                UPDATE(recipient->address, STR(reply.recipient));
        }
 
+       /*
+        * XXX The nexthop destination is also used as lookup key for the
+        * per-destination queue. Fold the nexthop to lower case so that we
+        * don't have multiple queues for the same site.
+        */
+       lowercase(STR(reply.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