]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.2.4 v2.2.4
authorWietse Venema <wietse@porcupine.org>
Tue, 21 Jun 2005 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 21:11:42 +0000 (16:11 -0500)
19 files changed:
postfix/HISTORY
postfix/README_FILES/CDB_README
postfix/examples/chroot-setup/Solaris8
postfix/html/CDB_README.html
postfix/html/mysql_table.5.html
postfix/man/man5/mysql_table.5
postfix/proto/CDB_README.html
postfix/proto/mysql_table
postfix/src/bounce/bounce_notify_util.c
postfix/src/global/dict_pgsql.c
postfix/src/global/mail_version.h
postfix/src/smtp/smtp_connect.c
postfix/src/smtp/smtp_proto.c
postfix/src/smtpstone/smtp-sink.c
postfix/src/util/attr_clnt.c
postfix/src/util/myaddrinfo.c
postfix/src/util/netstring.c
postfix/src/util/sys_defs.h
postfix/src/util/vstream.c

index 8d7cd173d766dc3f17cb81da8b4168f9fe00d15f..897522f447947685fca9b3ac951eaeacd1e639ba 100644 (file)
@@ -10513,6 +10513,13 @@ Apologies for any names omitted.
        is subject to address rewriting and other processing where
        applicable.  File: cleanup/cleanup_message.c.
 
+20050402
+
+       Cleanup: updated error messages about MIME processing errors
+       in the SMTP client. These errors are no longer specific to
+       8bit->7bit conversion; they can also happen with generic
+       address mapping. File: smtp/smtp_proto.c.
+
 20050407
 
        @%^!#& Thanks to inadequate SASL documentation the client
@@ -10521,13 +10528,6 @@ Apologies for any names omitted.
        SASL support was implemented, and now Postfix needs to be
        fixed. Files: */*_sasl_glue.c.
 
-20050402
-
-       Cleanup: updated error messages about MIME processing errors
-       in the SMTP client. These errors are no longer specific to
-       8bit->7bit conversion; they can also happen with generic
-       address mapping. File: smtp/smtp_proto.c.
-
 20050409
 
        Safety: the CDB map now logs a warning when the source file
@@ -10571,3 +10571,41 @@ Apologies for any names omitted.
        the fall-back relay can't be used because it was already
        tried via a cached session.  Files: util/argv.c,
        smtp/smtp_connect.c.
+
+20050517
+
+       Bugfix: in a DSN report, the original recipient should not
+       be xtext encoded. File: bounce/bounce_notify_util.c.
+
+20050523
+
+       Bugfix: mymalloc() panic with mistyped server host list.
+       File: global/dict_pgsql.c.
+
+20040530
+
+       Bugfix: TLS MUST_NOPEERMATCH didn't work (inherited from
+       TLS patch), and a dangling pointer in the corresponding
+       error handling. File: smtp/smtp_proto.c.
+
+20050615
+
+       Cleanup: the SMTP client now sends QUIT when the initial
+       HELO handshake fails. it still doesn't send QUIT when the
+       server greets with a [45]XX code, as that is handled in the
+       connection management code before a session context exists.
+       File: smtp/smtp_connect.c.
+
+20050616
+
+       Bugfix: missing or mis-placed va_end() macros, found in
+       Postfix 2.3 code review. Files: util/netstring.c,
+       util/myaddrinfo.c, util/attr_clnt.c, util/vstream.c.
+
+20050621
+
+       Portability: file descriptor passing is available for Tru64
+       UNIX, but AIX4 and IRIX6 will have to do without. This means
+       no SMTP connection caching for those platforms.  Albert
+       Chin.  File: util/sys_defs.h.
+
index 7d0e36b12cb1f215a1a1af0ea7a5929aa5df160a..8c32ee4dd8b1a9a9e312d2b1463d93d314f1754a 100644 (file)
@@ -53,6 +53,6 @@ After postfix has been built with cdb support, you can use "cdb" tables
 wherever you can use read-only "hash", "btree" or "dbm" tables. However, the
 "p\bpo\bos\bst\btm\bma\bap\bp -\b-i\bi" (incremental record insertion) and "p\bpo\bos\bst\btm\bma\bap\bp -\b-d\bd" (incremental
 record deletion) command-line options are not available. For the same reason
-the "cdb" map type cannot be used to store the volatile address verification
+the "cdb" map type cannot be used to store the persistent address verification
 cache for the verify(8) service.
 
index f9767fe616ffedd107a6ded9bf3283c0890d82c6..dd749466d362dda345cb67a631261749c07a4a09 100644 (file)
@@ -79,6 +79,7 @@ more="
 /etc/netconfig
 /etc/default/init
 /etc/inet/services
+/etc/resolv.conf
 /etc/services
 /usr/lib/ld.so
 /usr/lib/ld.so.1
index 4506251d9f9294d61d71978eb654c8cd46b4691b..4307cc6f756ae8ec232c44c5b1ebe34088fb9cb7 100644 (file)
@@ -80,5 +80,5 @@ for tinycdb, or alternatively, for the D.J.B. version:<br>
 "dbm" tables. However, the "<b>postmap -i</b>" (incremental record
 insertion) and "<b>postmap -d</b>" (incremental record deletion)
 command-line options are not available. For the same reason the
-"cdb" map type cannot be used to store the volatile address
+"cdb" map type cannot be used to store the persistent address
 verification cache for the <a href="verify.8.html">verify(8)</a> service. </p>
index 23ed116aec520d74499dab0821646a8f06c6fd10..f6668cb92721d602ddb4a8c2068f5683c0c6d1ce 100644 (file)
@@ -45,7 +45,7 @@ MYSQL_TABLE(5)                                                  MYSQL_TABLE(5)
        version.
 
        Postfix 2.2 has enhanced query interfaces  for  MySQL  and
-       PostreSQL,  these  include  features  previously available
+       PostgreSQL,  these  include  features previously available
        only in the Postfix LDAP client. In the new interface  the
        SQL  query  is  specified  via  a  single  <b>query</b> parameter
        (described in more detail  below).   When  the  new  <b>query</b>
index b3f3c3eb21d8ef671cf38e0591035dcbfb477cd3..90d71bd7581d46ee543ef1c8bdae91554fad1b6c 100644 (file)
@@ -45,7 +45,7 @@ Note: with this form, the passwords for the MySQL sources are
 written in main.cf, which is normally world-readable.  Support
 for this form will be removed in a future Postfix version.
 
-Postfix 2.2 has enhanced query interfaces for MySQL and PostreSQL,
+Postfix 2.2 has enhanced query interfaces for MySQL and PostgreSQL,
 these include features previously available only in the Postfix
 LDAP client. In the new interface the SQL query is specified via
 a single \fBquery\fR parameter (described in more detail below).
index bc88967c41800fd8c8e8d68753e4766d84f20f30..5777e7573ce49fab2a7f1c2fc648d4fd3e9826b9 100644 (file)
@@ -80,5 +80,5 @@ for tinycdb, or alternatively, for the D.J.B. version:<br>
 "dbm" tables. However, the "<b>postmap -i</b>" (incremental record
 insertion) and "<b>postmap -d</b>" (incremental record deletion)
 command-line options are not available. For the same reason the
-"cdb" map type cannot be used to store the volatile address
+"cdb" map type cannot be used to store the persistent address
 verification cache for the verify(8) service. </p>
index 1ddc07aa959b37a4a03584c30ee1d32547c2b666..9992b61931122b6f2076a9a68822afdf87853a82 100644 (file)
@@ -37,7 +37,7 @@
 #      written in main.cf, which is normally world-readable.  Support
 #      for this form will be removed in a future Postfix version.
 #
-#      Postfix 2.2 has enhanced query interfaces for MySQL and PostreSQL,
+#      Postfix 2.2 has enhanced query interfaces for MySQL and PostgreSQL,
 #      these include features previously available only in the Postfix
 #      LDAP client. In the new interface the SQL query is specified via
 #      a single \fBquery\fR parameter (described in more detail below).
index c4138a388ff46f0cf9f74d0a63fa21dcf5ba3642..4fddc9bd38f6f76509a256d182ff1b69e1734e98 100644 (file)
@@ -613,9 +613,8 @@ int     bounce_recipient_dsn(VSTREAM *bounce, BOUNCE_INFO *bounce_info)
     post_mail_fprintf(bounce, "Final-Recipient: rfc822; %s",
                      bounce_info->log_handle->recipient);
     if (bounce_info->log_handle->orig_rcpt) {
-       xtext_quote(bounce_info->buf, bounce_info->log_handle->orig_rcpt, "+=");
        post_mail_fprintf(bounce, "Original-Recipient: rfc822; %s",
-                         STR(bounce_info->buf));
+                         bounce_info->log_handle->orig_rcpt);
     }
     post_mail_fprintf(bounce, "Action: %s",
                      bounce_info->flush == BOUNCE_MSG_FAIL ?
index 78ae4b28adf938adca8c1146445f353e1a9cc580..025cb6b376af97317fe64406c539eb8f6e1ce6cc 100644 (file)
@@ -600,7 +600,7 @@ static void pgsql_parse_config(DICT_PGSQL *dict_pgsql, const char *pgsqlcf)
     hosts = cfg_get_str(p, "hosts", "", 0, 0);
 
     dict_pgsql->hosts = argv_split(hosts, " ,\t\r\n");
-    if (dict_pgsql->hosts == 0) {
+    if (dict_pgsql->hosts->argc == 0) {
        argv_add(dict_pgsql->hosts, "localhost", ARGV_END);
        argv_terminate(dict_pgsql->hosts);
        if (msg_verbose)
index 8a6688dfd5c316b7e478f0263ed3a364774e26d3..d11dbc9a6224dc0d2591ca3c04a2833886ae3163 100644 (file)
@@ -20,8 +20,8 @@
   * Patches change the patchlevel and the release date. Snapshots change the
   * release date only.
   */
-#define MAIL_RELEASE_DATE      "20050428"
-#define MAIL_VERSION_NUMBER    "2.2.3"
+#define MAIL_RELEASE_DATE      "20050621"
+#define MAIL_VERSION_NUMBER    "2.2.4"
 
 #define VAR_MAIL_VERSION       "mail_version"
 #ifdef SNAPSHOT
index 3b69841d32c8b64cbddf11d98a23a6391b7fe2ee..24474ca06198e67972cd8893c1485ca6883eae6e 100644 (file)
@@ -682,8 +682,12 @@ int     smtp_connect(SMTP_STATE *state)
                state->final_server = (cpp[1] == 0 && next == 0);
                if (addr->pref == domain_best_pref)
                    session->features |= SMTP_FEATURE_BEST_MX;
-               if ((session->features & SMTP_FEATURE_FROM_CACHE) != 0
-                   || smtp_helo(state, misc_flags) == 0)
+               if ((session->features & SMTP_FEATURE_FROM_CACHE) == 0
+                   && smtp_helo(state, misc_flags) != 0) {
+                   if (vstream_ferror(session->stream) == 0
+                       && vstream_feof(session->stream) == 0)
+                       smtp_quit(state);
+               } else
                    smtp_xfer(state);
                smtp_cleanup_session(state);
            } else {
index f197ea5e1fc96a9d401d2ae6d09111a0dfd6e2f6..67dfaeca223d60783cc19a082f70c8f59d7d7e11 100644 (file)
@@ -627,10 +627,11 @@ static int smtp_start_tls(SMTP_STATE *state, int misc_flags)
     if (session->tls_info.peer_CN != NULL) {
        if (!session->tls_info.peer_verified) {
            msg_info("Server certificate could not be verified");
-           if (session->tls_enforce_tls) {
+           if (session->tls_enforce_peername) {
                tls_client_stop(smtp_tls_ctx, session->stream,
                                var_smtp_starttls_tmout, 1,
                                &(session->tls_info));
+               session->tls_context = 0;
                return (smtp_site_fail(state, 450,
                          "TLS failure: Cannot verify server certificate"));
            }
@@ -646,10 +647,11 @@ static int smtp_start_tls(SMTP_STATE *state, int misc_flags)
      * testing if a certificate is available.
      */
     else {
-       if (session->tls_enforce_tls) {
+       if (session->tls_enforce_peername) {
            tls_client_stop(smtp_tls_ctx, session->stream,
                            var_smtp_starttls_tmout, 1,
                            &(session->tls_info));
+           session->tls_context = 0;
            return (smtp_site_fail(state, 450,
                             "TLS failure: Cannot verify server hostname"));
        }
index 090a66ff75c711bd7ace15b1a068be575096857c..d4b82f7026dda4bde44ffea3bc30a2d13fd62f51 100644 (file)
@@ -553,7 +553,7 @@ static void disconnect(SINK_STATE *state)
     vstream_fclose(state->stream);
     vstring_free(state->buffer);
     myfree((char *) state);
-    if (max_count > 0 && ++counter >= max_count)
+    if (max_count > 0 && counter >= max_count)
        exit(0);
 }
 
index b2c8437119ebae914de59bd101b17f7dc45d23f8..188899bd0a3d8958a182cb9f176fbc8fad3d1cd9 100644 (file)
@@ -274,4 +274,5 @@ void    attr_clnt_control(ATTR_CLNT *client, int name,...)
            msg_panic("%s: bad name %d", myname, name);
        }
     }
+    va_end(ap);
 }
index afb610652f578cacccbdeba2a593a8ce8474b882..db2a6045467621fd7e8f3f4c49f4751358dea1b6 100644 (file)
@@ -680,6 +680,7 @@ void    myaddrinfo_control(int name,...)
            msg_panic("%s: bad name %d", myname, name);
        }
     }
+    va_end(ap);
 }
 
 #ifdef EMULATE_IPV4_ADDRINFO
index 3f3e73112ad6a07065ce1c36df73a8521b4a2ff1..f42f44978d4ff85b35a399dc04c7cf9b3f9c6759 100644 (file)
@@ -316,8 +316,8 @@ void    netstring_put_multi(VSTREAM *stream,...)
            if (vstream_fwrite(stream, data, data_len) != data_len)
                netstring_except(stream, vstream_ftimeout(stream) ?
                                 NETSTRING_ERR_TIME : NETSTRING_ERR_EOF);
-       va_end(ap);
     }
+    va_end(ap);
     vstream_fwrite(stream, ",", 1);
 }
 
index 11e847e4165e66134de5a1fbf2ec215547c3b94d..463dbf4e7361c5e585665c689c7040165fcc9daf 100644 (file)
@@ -256,6 +256,7 @@ extern int opterr;                  /* XXX use <getopt.h> */
 #define STATFS_IN_SYS_MOUNT_H
 #define HAS_POSIX_REGEXP
 #define BROKEN_WRITE_SELECT_ON_NON_BLOCKING_PIPE
+#define NO_MSGHDR_MSG_CONTROL
 #ifndef NO_IPV6
 # define HAS_IPV6
 #endif
@@ -524,6 +525,7 @@ extern int initgroups(const char *, int);
 #define NATIVE_COMMAND_DIR "/usr/sbin"
 #define NATIVE_DAEMON_DIR "/usr/libexec/postfix"
 
+#define CANT_USE_SEND_RECV_MSG
 #endif
 
 #ifdef AIX3
@@ -558,6 +560,7 @@ extern int setegid(gid_t);
 extern int initgroups(const char *, int);
 #define NATIVE_SENDMAIL_PATH "/usr/lib/sendmail"
 
+#define CANT_USE_SEND_RECV_MSG
 #endif
 
  /*
@@ -587,6 +590,7 @@ extern int initgroups(const char *, int);
 #define USE_STATVFS
 #define STATVFS_IN_SYS_STATVFS_H
 #define BROKEN_WRITE_SELECT_ON_NON_BLOCKING_PIPE
+#define CANT_USE_SEND_RECV_MSG
 #endif
 
 #if defined(IRIX5)
@@ -594,6 +598,9 @@ extern int initgroups(const char *, int);
 #endif
 
 #if defined(IRIX6)
+#ifndef NO_IPV6
+# define HAS_IPV6
+#endif
 #define HAS_POSIX_REGEXP
 #define PIPES_CANT_FIONREAD
 #endif
index 6786c3c9e9eff4b3daf9e7228547f2a07fa8430c..9b7cb1151420dce85c1885b9011daa1d740d09ee 100644 (file)
@@ -1122,6 +1122,7 @@ void    vstream_control(VSTREAM *stream, int name,...)
            msg_panic("%s: bad name %d", myname, name);
        }
     }
+    va_end(ap);
 }
 
 /* vstream_vfprintf - formatted print engine */