2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-30 13:48:06 +00:00

postfix-2.3-20060418

This commit is contained in:
Wietse Venema
2006-04-18 00:00:00 -05:00
committed by Viktor Dukhovni
parent 4a7912c04a
commit 2e4c41c612
10 changed files with 56 additions and 14 deletions

View File

@@ -12121,6 +12121,19 @@ Apologies for any names omitted.
when reporting errors. Fix by Leandro Santi. Files: when reporting errors. Fix by Leandro Santi. Files:
global/mime_state.c, cleanup/cleanup_message.c. global/mime_state.c, cleanup/cleanup_message.c.
20060411
Bugfix: the SMTP server logged no warning when for some
reason the TLS engine was unavailable in wrappermode. Victor
Duchovni. File: smtpd/smtpd.c.
20060417
Cleanup: when SMTP access table lookup fails, reply with
4xx instead of aborting with a fatal run-time error. The
old behavior assumes local file access, and is inappropriate
with deployment of LDAP and SQL tables. File: smtpd/smtpd_check.c.
Wish list: Wish list:
Don't send xforward attributes to every site that announces Don't send xforward attributes to every site that announces

View File

@@ -8790,6 +8790,8 @@ the name matches the client IP address. A client name is set to
lookup is disabled. Turning off name lookup reduces delays due to lookup is disabled. Turning off name lookup reduces delays due to
DNS lookup and increases the maximal inbound delivery rate. </p> DNS lookup and increases the maximal inbound delivery rate. </p>
<p> This feature is available in Postfix 2.3 and later. </p>
</DD> </DD>

View File

@@ -5063,6 +5063,8 @@ the name matches the client IP address. A client name is set to
"unknown" when it cannot be looked up or verified, or when name "unknown" when it cannot be looked up or verified, or when name
lookup is disabled. Turning off name lookup reduces delays due to lookup is disabled. Turning off name lookup reduces delays due to
DNS lookup and increases the maximal inbound delivery rate. DNS lookup and increases the maximal inbound delivery rate.
.PP
This feature is available in Postfix 2.3 and later.
.SH smtpd_policy_service_max_idle (default: 300s) .SH smtpd_policy_service_max_idle (default: 300s)
The time after which an idle SMTPD policy service connection is The time after which an idle SMTPD policy service connection is
closed. closed.

View File

@@ -8776,6 +8776,8 @@ the name matches the client IP address. A client name is set to
lookup is disabled. Turning off name lookup reduces delays due to lookup is disabled. Turning off name lookup reduces delays due to
DNS lookup and increases the maximal inbound delivery rate. </p> DNS lookup and increases the maximal inbound delivery rate. </p>
<p> This feature is available in Postfix 2.3 and later. </p>
%PARAM delay_logging_resolution_limit 2 %PARAM delay_logging_resolution_limit 2
<p> The maximal number of digits after the decimal point when logging <p> The maximal number of digits after the decimal point when logging

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20060405" #define MAIL_RELEASE_DATE "20060418"
#define MAIL_VERSION_NUMBER "2.3" #define MAIL_VERSION_NUMBER "2.3"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@@ -3333,6 +3333,13 @@ static void smtpd_proto(SMTPD_STATE *state, const char *service)
*/ */
#ifdef USE_TLS #ifdef USE_TLS
if (SMTPD_STAND_ALONE(state) == 0 && var_smtpd_tls_wrappermode) { if (SMTPD_STAND_ALONE(state) == 0 && var_smtpd_tls_wrappermode) {
if (smtpd_tls_ctx == 0) {
msg_warn("Wrapper-mode request dropped from %s for service %s."
"TLS context initialization failed. For details see"
" earlier warnings in your logs.",
state->namaddr, state->service);
break;
}
if (var_smtpd_cntls_limit > 0 if (var_smtpd_cntls_limit > 0
&& !xclient_allowed && !xclient_allowed
&& anvil_clnt && anvil_clnt

View File

@@ -2258,8 +2258,13 @@ static int check_access(SMTPD_STATE *state, const char *table, const char *name,
CHK_ACCESS_RETURN(check_table_result(state, table, value, name, CHK_ACCESS_RETURN(check_table_result(state, table, value, name,
reply_name, reply_class, reply_name, reply_class,
def_acl), FOUND); def_acl), FOUND);
if (dict_errno != 0) if (dict_errno != 0) {
msg_fatal("%s: table lookup problem", table); msg_warn("%s: table lookup problem", table);
value = "450 4.3.0 Server configuration error";
CHK_ACCESS_RETURN(check_table_result(state, table, value, name,
reply_name, reply_class,
def_acl), FOUND);
}
} }
CHK_ACCESS_RETURN(SMTPD_CHECK_DUNNO, MISSED); CHK_ACCESS_RETURN(SMTPD_CHECK_DUNNO, MISSED);
} }
@@ -2299,8 +2304,13 @@ static int check_domain_access(SMTPD_STATE *state, const char *table,
CHK_DOMAIN_RETURN(check_table_result(state, table, value, CHK_DOMAIN_RETURN(check_table_result(state, table, value,
domain, reply_name, reply_class, domain, reply_name, reply_class,
def_acl), FOUND); def_acl), FOUND);
if (dict_errno != 0) if (dict_errno != 0) {
msg_fatal("%s: table lookup problem", table); msg_warn("%s: table lookup problem", table);
value = "450 4.3.0 Server configuration error";
CHK_DOMAIN_RETURN(check_table_result(state, table, value,
domain, reply_name, reply_class,
def_acl), FOUND);
}
} }
/* Don't apply subdomain magic to numerical hostnames. */ /* Don't apply subdomain magic to numerical hostnames. */
if (maybe_numerical if (maybe_numerical
@@ -2353,8 +2363,13 @@ static int check_addr_access(SMTPD_STATE *state, const char *table,
CHK_ADDR_RETURN(check_table_result(state, table, value, address, CHK_ADDR_RETURN(check_table_result(state, table, value, address,
reply_name, reply_class, reply_name, reply_class,
def_acl), FOUND); def_acl), FOUND);
if (dict_errno != 0) if (dict_errno != 0) {
msg_fatal("%s: table lookup problem", table); msg_warn("%s: table lookup problem", table);
value = "450 4.3.0 Server configuration error";
CHK_ADDR_RETURN(check_table_result(state, table, value, address,
reply_name, reply_class,
def_acl), FOUND);
}
} }
flags = PARTIAL; flags = PARTIAL;
} while (split_at_right(addr, delim)); } while (split_at_right(addr, delim));

View File

@@ -7,7 +7,7 @@
/* #include <vstream.h> /* #include <vstream.h>
/* /*
/* VSTREAM *vstream_fopen(path, flags, mode) /* VSTREAM *vstream_fopen(path, flags, mode)
/* char *path; /* const char *path;
/* int flags; /* int flags;
/* mode_t mode; /* mode_t mode;
/* /*
@@ -22,11 +22,11 @@
/* VSTREAM *stream; /* VSTREAM *stream;
/* /*
/* VSTREAM *vstream_printf(format, ...) /* VSTREAM *vstream_printf(format, ...)
/* char *format; /* const char *format;
/* /*
/* VSTREAM *vstream_fprintf(stream, format, ...) /* VSTREAM *vstream_fprintf(stream, format, ...)
/* VSTREAM *stream; /* VSTREAM *stream;
/* char *format; /* const char *format;
/* /*
/* int VSTREAM_GETC(stream) /* int VSTREAM_GETC(stream)
/* VSTREAM *stream; /* VSTREAM *stream;
@@ -44,7 +44,7 @@
/* int ch; /* int ch;
/* /*
/* int vstream_fputs(str, stream) /* int vstream_fputs(str, stream)
/* char *str; /* const char *str;
/* VSTREAM *stream; /* VSTREAM *stream;
/* /*
/* off_t vstream_ftell(stream) /* off_t vstream_ftell(stream)
@@ -93,11 +93,11 @@
/* int vstream_clearerr(stream) /* int vstream_clearerr(stream)
/* VSTREAM *stream; /* VSTREAM *stream;
/* /*
/* char *VSTREAM_PATH(stream) /* const char *VSTREAM_PATH(stream)
/* VSTREAM *stream; /* VSTREAM *stream;
/* /*
/* char *vstream_vfprintf(vp, format, ap) /* char *vstream_vfprintf(vp, format, ap)
/* char *format; /* const char *format;
/* va_list *ap; /* va_list *ap;
/* /*
/* ssize_t vstream_peek(stream) /* ssize_t vstream_peek(stream)

View File

@@ -99,7 +99,7 @@ extern int vstream_fdclose(VSTREAM *);
#define vstream_feof(vp) vbuf_eof(&(vp)->buf) #define vstream_feof(vp) vbuf_eof(&(vp)->buf)
#define vstream_ftimeout(vp) vbuf_timeout(&(vp)->buf) #define vstream_ftimeout(vp) vbuf_timeout(&(vp)->buf)
#define vstream_clearerr(vp) vbuf_clearerr(&(vp)->buf) #define vstream_clearerr(vp) vbuf_clearerr(&(vp)->buf)
#define VSTREAM_PATH(vp) ((vp)->path ? (vp)->path : "unknown_stream") #define VSTREAM_PATH(vp) ((vp)->path ? (const char *) (vp)->path : "unknown_stream")
#define vstream_ftime(vp) ((time_t) ((vp)->iotime.tv_sec)) #define vstream_ftime(vp) ((time_t) ((vp)->iotime.tv_sec))
#define vstream_ftimeval(vp) ((vp)->iotime) #define vstream_ftimeval(vp) ((vp)->iotime)

View File

@@ -38,6 +38,7 @@
/* list of name, value, name, value, ... elements. By default only the /* list of name, value, name, value, ... elements. By default only the
/* command search path is initialized to _PATH_DEFPATH. /* command search path is initialized to _PATH_DEFPATH.
/* .IP "VSTREAM_POPEN_EXPORT (char **)" /* .IP "VSTREAM_POPEN_EXPORT (char **)"
/* This argument is passed to clean_env().
/* Null-terminated array of names of environment parameters /* Null-terminated array of names of environment parameters
/* that can be exported. By default, everything is exported. /* that can be exported. By default, everything is exported.
/* .IP "VSTREAM_POPEN_UID (uid_t)" /* .IP "VSTREAM_POPEN_UID (uid_t)"