2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-05 08:35:26 +00:00

postfix-2.2.4

This commit is contained in:
Wietse Venema
2005-06-21 00:00:00 -05:00
committed by Viktor Dukhovni
parent cd09396062
commit d72f091003
19 changed files with 78 additions and 24 deletions

View 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.

View 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
"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
the "cdb" map type cannot be used to store the persistent address verification
cache for the verify(8) service.

View 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

View 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>

View 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>

View 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).

View 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>

View 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).

View 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 ?

View 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)

View 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

View 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 {

View 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"));
}

View 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);
}

View 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);
}

View 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

View 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);
}

View 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

View 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 */