Prereq: "2.2.3" diff -cr /var/tmp/postfix-2.2.3/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.2.3/src/global/mail_version.h Fri Apr 29 17:17:45 2005 --- ./src/global/mail_version.h Tue Jun 21 19:54:07 2005 *************** *** 20,27 **** * 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 VAR_MAIL_VERSION "mail_version" #ifdef SNAPSHOT --- 20,27 ---- * Patches change the patchlevel and the release date. Snapshots change the * release date only. */ ! #define MAIL_RELEASE_DATE "20050621" ! #define MAIL_VERSION_NUMBER "2.2.4" #define VAR_MAIL_VERSION "mail_version" #ifdef SNAPSHOT diff -cr /var/tmp/postfix-2.2.3/HISTORY ./HISTORY *** /var/tmp/postfix-2.2.3/HISTORY Fri Apr 29 17:16:40 2005 --- ./HISTORY Tue Jun 21 19:24:29 2005 *************** *** 10513,10518 **** --- 10513,10525 ---- 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,10533 **** 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 --- 10528,10533 ---- *************** *** 10571,10573 **** --- 10571,10611 ---- 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. + diff -cr /var/tmp/postfix-2.2.3/README_FILES/CDB_README ./README_FILES/CDB_README *** /var/tmp/postfix-2.2.3/README_FILES/CDB_README Wed Dec 8 19:07:12 2004 --- ./README_FILES/CDB_README Tue Jun 21 19:54:26 2005 *************** *** 53,58 **** wherever you can use read-only "hash", "btree" or "dbm" tables. However, the "ppoossttmmaapp --ii" (incremental record insertion) and "ppoossttmmaapp --dd" (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 cache for the verify(8) service. --- 53,58 ---- wherever you can use read-only "hash", "btree" or "dbm" tables. However, the "ppoossttmmaapp --ii" (incremental record insertion) and "ppoossttmmaapp --dd" (incremental record deletion) command-line options are not available. For the same reason ! the "cdb" map type cannot be used to store the persistent address verification cache for the verify(8) service. diff -cr /var/tmp/postfix-2.2.3/examples/chroot-setup/Solaris8 ./examples/chroot-setup/Solaris8 *** /var/tmp/postfix-2.2.3/examples/chroot-setup/Solaris8 Fri Jun 6 19:19:08 2003 --- ./examples/chroot-setup/Solaris8 Fri May 20 04:49:30 2005 *************** *** 79,84 **** --- 79,85 ---- /etc/netconfig /etc/default/init /etc/inet/services + /etc/resolv.conf /etc/services /usr/lib/ld.so /usr/lib/ld.so.1 diff -cr /var/tmp/postfix-2.2.3/html/CDB_README.html ./html/CDB_README.html *** /var/tmp/postfix-2.2.3/html/CDB_README.html Tue Feb 22 09:05:35 2005 --- ./html/CDB_README.html Tue Jun 21 19:54:26 2005 *************** *** 80,84 **** "dbm" tables. However, the "postmap -i" (incremental record insertion) and "postmap -d" (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 cache for the verify(8) service.
--- 80,84 ---- "dbm" tables. However, the "postmap -i" (incremental record insertion) and "postmap -d" (incremental record deletion) command-line options are not available. For the same reason the ! "cdb" map type cannot be used to store the persistent address verification cache for the verify(8) service. diff -cr /var/tmp/postfix-2.2.3/html/mysql_table.5.html ./html/mysql_table.5.html *** /var/tmp/postfix-2.2.3/html/mysql_table.5.html Wed Mar 9 12:44:00 2005 --- ./html/mysql_table.5.html Tue Jun 7 15:33:35 2005 *************** *** 45,51 **** version. Postfix 2.2 has enhanced query interfaces for MySQL and ! PostreSQL, these include features previously available only in the Postfix LDAP client. In the new interface the SQL query is specified via a single query parameter (described in more detail below). When the new query --- 45,51 ---- version. 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 query parameter (described in more detail below). When the new query diff -cr /var/tmp/postfix-2.2.3/man/man5/mysql_table.5 ./man/man5/mysql_table.5 *** /var/tmp/postfix-2.2.3/man/man5/mysql_table.5 Wed Mar 9 12:43:59 2005 --- ./man/man5/mysql_table.5 Tue Jun 7 15:33:33 2005 *************** *** 45,51 **** 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, 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). --- 45,51 ---- 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 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). diff -cr /var/tmp/postfix-2.2.3/proto/CDB_README.html ./proto/CDB_README.html *** /var/tmp/postfix-2.2.3/proto/CDB_README.html Wed Dec 8 18:58:03 2004 --- ./proto/CDB_README.html Fri Jun 10 09:43:11 2005 *************** *** 80,84 **** "dbm" tables. However, the "postmap -i" (incremental record insertion) and "postmap -d" (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 cache for the verify(8) service. --- 80,84 ---- "dbm" tables. However, the "postmap -i" (incremental record insertion) and "postmap -d" (incremental record deletion) command-line options are not available. For the same reason the ! "cdb" map type cannot be used to store the persistent address verification cache for the verify(8) service. diff -cr /var/tmp/postfix-2.2.3/proto/mysql_table ./proto/mysql_table *** /var/tmp/postfix-2.2.3/proto/mysql_table Wed Mar 9 12:41:09 2005 --- ./proto/mysql_table Tue Jun 7 15:33:22 2005 *************** *** 37,43 **** # 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, # 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). --- 37,43 ---- # 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 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). diff -cr /var/tmp/postfix-2.2.3/src/bounce/bounce_notify_util.c ./src/bounce/bounce_notify_util.c *** /var/tmp/postfix-2.2.3/src/bounce/bounce_notify_util.c Fri Feb 11 09:47:56 2005 --- ./src/bounce/bounce_notify_util.c Tue May 17 08:40:16 2005 *************** *** 613,621 **** 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)); } post_mail_fprintf(bounce, "Action: %s", bounce_info->flush == BOUNCE_MSG_FAIL ? --- 613,620 ---- post_mail_fprintf(bounce, "Final-Recipient: rfc822; %s", bounce_info->log_handle->recipient); if (bounce_info->log_handle->orig_rcpt) { post_mail_fprintf(bounce, "Original-Recipient: rfc822; %s", ! bounce_info->log_handle->orig_rcpt); } post_mail_fprintf(bounce, "Action: %s", bounce_info->flush == BOUNCE_MSG_FAIL ? diff -cr /var/tmp/postfix-2.2.3/src/global/dict_pgsql.c ./src/global/dict_pgsql.c *** /var/tmp/postfix-2.2.3/src/global/dict_pgsql.c Tue Mar 8 13:58:45 2005 --- ./src/global/dict_pgsql.c Mon May 23 17:09:42 2005 *************** *** 600,606 **** hosts = cfg_get_str(p, "hosts", "", 0, 0); dict_pgsql->hosts = argv_split(hosts, " ,\t\r\n"); ! if (dict_pgsql->hosts == 0) { argv_add(dict_pgsql->hosts, "localhost", ARGV_END); argv_terminate(dict_pgsql->hosts); if (msg_verbose) --- 600,606 ---- hosts = cfg_get_str(p, "hosts", "", 0, 0); dict_pgsql->hosts = argv_split(hosts, " ,\t\r\n"); ! if (dict_pgsql->hosts->argc == 0) { argv_add(dict_pgsql->hosts, "localhost", ARGV_END); argv_terminate(dict_pgsql->hosts); if (msg_verbose) diff -cr /var/tmp/postfix-2.2.3/src/smtp/smtp_connect.c ./src/smtp/smtp_connect.c *** /var/tmp/postfix-2.2.3/src/smtp/smtp_connect.c Fri Apr 29 16:40:47 2005 --- ./src/smtp/smtp_connect.c Tue Jun 21 20:20:50 2005 *************** *** 682,689 **** 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) smtp_xfer(state); smtp_cleanup_session(state); } else { --- 682,693 ---- 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 (vstream_ferror(session->stream) == 0 ! && vstream_feof(session->stream) == 0) ! smtp_quit(state); ! } else smtp_xfer(state); smtp_cleanup_session(state); } else { diff -cr /var/tmp/postfix-2.2.3/src/smtp/smtp_proto.c ./src/smtp/smtp_proto.c *** /var/tmp/postfix-2.2.3/src/smtp/smtp_proto.c Sat Apr 2 16:22:50 2005 --- ./src/smtp/smtp_proto.c Tue Jun 21 19:13:25 2005 *************** *** 627,636 **** 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) { tls_client_stop(smtp_tls_ctx, session->stream, var_smtp_starttls_tmout, 1, &(session->tls_info)); return (smtp_site_fail(state, 450, "TLS failure: Cannot verify server certificate")); } --- 627,637 ---- 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_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,655 **** * testing if a certificate is available. */ else { ! if (session->tls_enforce_tls) { tls_client_stop(smtp_tls_ctx, session->stream, var_smtp_starttls_tmout, 1, &(session->tls_info)); return (smtp_site_fail(state, 450, "TLS failure: Cannot verify server hostname")); } --- 647,657 ---- * testing if a certificate is available. */ else { ! 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")); } diff -cr /var/tmp/postfix-2.2.3/src/smtpstone/smtp-sink.c ./src/smtpstone/smtp-sink.c *** /var/tmp/postfix-2.2.3/src/smtpstone/smtp-sink.c Tue Mar 15 09:08:41 2005 --- ./src/smtpstone/smtp-sink.c Wed May 4 17:32:42 2005 *************** *** 553,559 **** vstream_fclose(state->stream); vstring_free(state->buffer); myfree((char *) state); ! if (max_count > 0 && ++counter >= max_count) exit(0); } --- 553,559 ---- vstream_fclose(state->stream); vstring_free(state->buffer); myfree((char *) state); ! if (max_count > 0 && counter >= max_count) exit(0); } diff -cr /var/tmp/postfix-2.2.3/src/util/attr_clnt.c ./src/util/attr_clnt.c *** /var/tmp/postfix-2.2.3/src/util/attr_clnt.c Thu Dec 2 04:34:42 2004 --- ./src/util/attr_clnt.c Thu Jun 16 14:25:01 2005 *************** *** 274,277 **** --- 274,278 ---- msg_panic("%s: bad name %d", myname, name); } } + va_end(ap); } diff -cr /var/tmp/postfix-2.2.3/src/util/myaddrinfo.c ./src/util/myaddrinfo.c *** /var/tmp/postfix-2.2.3/src/util/myaddrinfo.c Sun Jan 23 22:22:07 2005 --- ./src/util/myaddrinfo.c Thu Jun 16 14:26:29 2005 *************** *** 680,685 **** --- 680,686 ---- msg_panic("%s: bad name %d", myname, name); } } + va_end(ap); } #ifdef EMULATE_IPV4_ADDRINFO diff -cr /var/tmp/postfix-2.2.3/src/util/netstring.c ./src/util/netstring.c *** /var/tmp/postfix-2.2.3/src/util/netstring.c Wed Jan 23 10:20:37 2002 --- ./src/util/netstring.c Thu Jun 16 14:28:35 2005 *************** *** 316,323 **** if (vstream_fwrite(stream, data, data_len) != data_len) netstring_except(stream, vstream_ftimeout(stream) ? NETSTRING_ERR_TIME : NETSTRING_ERR_EOF); - va_end(ap); } vstream_fwrite(stream, ",", 1); } --- 316,323 ---- if (vstream_fwrite(stream, data, data_len) != data_len) netstring_except(stream, vstream_ftimeout(stream) ? NETSTRING_ERR_TIME : NETSTRING_ERR_EOF); } + va_end(ap); vstream_fwrite(stream, ",", 1); } diff -cr /var/tmp/postfix-2.2.3/src/util/sys_defs.h ./src/util/sys_defs.h *** /var/tmp/postfix-2.2.3/src/util/sys_defs.h Wed Apr 13 10:07:32 2005 --- ./src/util/sys_defs.h Tue Jun 21 17:12:00 2005 *************** *** 256,261 **** --- 256,262 ---- #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,529 **** --- 525,531 ---- #define NATIVE_COMMAND_DIR "/usr/sbin" #define NATIVE_DAEMON_DIR "/usr/libexec/postfix" + #define CANT_USE_SEND_RECV_MSG #endif #ifdef AIX3 *************** *** 558,563 **** --- 560,566 ---- extern int initgroups(const char *, int); #define NATIVE_SENDMAIL_PATH "/usr/lib/sendmail" + #define CANT_USE_SEND_RECV_MSG #endif /* *************** *** 587,592 **** --- 590,596 ---- #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,599 **** --- 598,606 ---- #endif #if defined(IRIX6) + #ifndef NO_IPV6 + # define HAS_IPV6 + #endif #define HAS_POSIX_REGEXP #define PIPES_CANT_FIONREAD #endif diff -cr /var/tmp/postfix-2.2.3/src/util/vstream.c ./src/util/vstream.c *** /var/tmp/postfix-2.2.3/src/util/vstream.c Tue Aug 17 16:19:34 2004 --- ./src/util/vstream.c Thu Jun 16 14:33:39 2005 *************** *** 1122,1127 **** --- 1122,1128 ---- msg_panic("%s: bad name %d", myname, name); } } + va_end(ap); } /* vstream_vfprintf - formatted print engine */