]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.0.0-20030107
authorWietse Venema <wietse@porcupine.org>
Tue, 7 Jan 2003 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:28:41 +0000 (06:28 +0000)
postfix/HISTORY
postfix/src/bounce/bounce.c
postfix/src/bounce/bounce_notify_util.c
postfix/src/global/mail_version.h
postfix/src/master/master_ent.c
postfix/src/util/host_port.c

index 63c7c98ad7bf5b2e3f0db385759fe932ce262935..b0d8f16b5dc5eb2bb06f5cdd7f4960b543dce46b 100644 (file)
@@ -7690,6 +7690,18 @@ Apologies for any names omitted.
        It should not try to open any user/domain/uce related tables
        at all. File:  smtpd/smtpd.c.
 
+20020106
+
+       Bugfix: bouncing to owner-alias was broken, i.e. the mail
+       kept being deferred, and when that was fixed, another buglet
+       came to light. File: bounce/bounce.c.
+
+       Robustness: the master no longer aborts with "address
+       already in use" when inet_interfaces specifies the same IP
+       address multiple times, or when a TCP service in master.cf
+       specifies a hostname for which the same IP address is listed
+       multiple times. File: master/master_ent.c.
+
 Open problems:
 
        Med: do not postpone rejected "MAIL FROM" size information,
index a4f77b2b9dc72fa9fbaf22413e88718ad7fbd673..816a3fd380c9d3f6b8c5da53af4ded2bd196273d 100644 (file)
@@ -315,9 +315,9 @@ static int bounce_one_proto(char *service_name, VSTREAM *client)
                            ATTR_TYPE_STR, MAIL_ATTR_ORCPT, orig_rcpt,
                            ATTR_TYPE_STR, MAIL_ATTR_RECIP, recipient,
                            ATTR_TYPE_STR, MAIL_ATTR_STATUS, dsn_status,
-                           ATTR_TYPE_STR, MAIL_ATTR_ACTION, dsn_status,
+                           ATTR_TYPE_STR, MAIL_ATTR_ACTION, dsn_action,
                            ATTR_TYPE_STR, MAIL_ATTR_WHY, why,
-                           ATTR_TYPE_END) != 9) {
+                           ATTR_TYPE_END) != 10) {
        msg_warn("malformed request");
        return (-1);
     }
index 137c0c99d9e22187485d19245eb480465688061c..6dd0dac48de8b36a3d6fd912c807ebb4d3eb4569 100644 (file)
@@ -22,7 +22,8 @@
 /*
 /*     BOUNCE_INFO *bounce_mail_one_init(queue_name, queue_id,
 /*                                     encoding, orig_recipient,
-/*                                     recipient, status, why)
+/*                                     recipient, dsn_status, 
+/*                                     dsn_action, why)
 /*     const char *queue_name;
 /*     const char *queue_id;
 /*     const char *encoding;
index 04deb4c761c5345459cb1a506a5c4b44c8f38d69..6ff928d0c3fa33929ee52d4428b02ebb66bab7e7 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      "20030106"
+#define MAIL_RELEASE_DATE      "20030107"
 
 #define VAR_MAIL_VERSION       "mail_version"
 #define DEF_MAIL_VERSION       "2.0.0-" MAIL_RELEASE_DATE
index 4412dff3b351a85ed4f09d1ac0498a28906e9196..cccaa8ea15681f9be401cb0deb61e0457577846d 100644 (file)
@@ -282,12 +282,14 @@ MASTER_SERV *get_master_ent()
                mymalloc(sizeof(*MASTER_INET_ADDRLIST(serv)));
            inet_addr_list_init(MASTER_INET_ADDRLIST(serv));
            inet_addr_host(MASTER_INET_ADDRLIST(serv), host);
+           inet_addr_list_uniq(MASTER_INET_ADDRLIST(serv));
            serv->listen_fd_count = MASTER_INET_ADDRLIST(serv)->used;
        } else if (strcasecmp(var_inet_interfaces, DEF_INET_INTERFACES) == 0) {
            MASTER_INET_ADDRLIST(serv) = 0;     /* wild-card */
            serv->listen_fd_count = 1;
        } else {
            MASTER_INET_ADDRLIST(serv) = own_inet_addr_list();  /* virtual */
+           inet_addr_list_uniq(MASTER_INET_ADDRLIST(serv));
            serv->listen_fd_count = MASTER_INET_ADDRLIST(serv)->used;
        }
        MASTER_INET_PORT(serv) = mystrdup(port);
index d682918eacdedf4aaa1ff3d300fb3e2772fc9a5c..fd7593101f2c58e55a796e38d09ddd90bcdcc4da 100644 (file)
 /*     host_port() splits a string into substrings with the host
 /*     name or address, and the service name or port number.
 /*     The input string is modified.
+/*
+/*     The following input formats are understood:
+/*
+/*     [host]:port, [host]:, [host].
+/*
+/*     host:port, host:, host.
 /* DIAGNOSTICS
 /*     The result is a null pointer in case of success.
 /*     In case of problems the result is a string pointer with