2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 06:35:27 +00:00

postfix-1.1.11-20021015

This commit is contained in:
Wietse Venema
2002-10-15 00:00:00 -05:00
committed by Viktor Dukhovni
parent 1f37e701d6
commit 92a9f35aaf
8 changed files with 51 additions and 35 deletions

View File

@@ -7058,6 +7058,16 @@ Apologies for any names omitted.
Default limit: 50 kbytes. Files: global/mime_state.c, Default limit: 50 kbytes. Files: global/mime_state.c,
cleanup/cleanup_message.c. cleanup/cleanup_message.c.
20021015
Bugfix: the code for missing postmaster/mailer-daemon
aliases had to be moved after the code that implements the
luser_relay feature. Files: local/alias.c, local/unknown.c.
Weird? The LMTP client lowercased the MAIL FROM and RCPT
TO addresses. Some remnant of code that someone put in
there long ago. File: lmtp/lmtp_proto.c.
Open problems: Open problems:
Low: smtpd should log queue ID with reject/warn/hold/discard Low: smtpd should log queue ID with reject/warn/hold/discard

View File

@@ -12,6 +12,12 @@ snapshot release). Patches change the patchlevel and the release
date. Snapshots change only the release date, unless they include date. Snapshots change only the release date, unless they include
the same bugfixes as a patch release. the same bugfixes as a patch release.
Incompatible changes with Postfix snapshot 1.1.11-20021015
==========================================================
The Postfix LMTP client no longer lowercases email addresses in
MAIL FROM and RCPT TO commands.
Incompatible changes with Postfix snapshot 1.1.11-20021013 Incompatible changes with Postfix snapshot 1.1.11-20021013
========================================================== ==========================================================

View File

@@ -20,7 +20,7 @@
* Patches change the patchlevel and the release date. Snapshots change the * Patches change the patchlevel and the release date. Snapshots change the
* release date only, unless they include the same bugfix as a patch release. * release date only, unless they include the same bugfix as a patch release.
*/ */
#define MAIL_RELEASE_DATE "20021013" #define MAIL_RELEASE_DATE "20021015"
#define VAR_MAIL_VERSION "mail_version" #define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "1.1.11-" MAIL_RELEASE_DATE #define DEF_MAIL_VERSION "1.1.11-" MAIL_RELEASE_DATE

View File

@@ -307,7 +307,6 @@ static int lmtp_loop(LMTP_STATE *state, int send_state, int recv_state)
#define REWRITE_ADDRESS(dst, src) do { \ #define REWRITE_ADDRESS(dst, src) do { \
if (*(src)) { \ if (*(src)) { \
quote_821_local(dst, src); \ quote_821_local(dst, src); \
lowercase(vstring_str(dst)); \
} else { \ } else { \
vstring_strcpy(dst, src); \ vstring_strcpy(dst, src); \
} \ } \

View File

@@ -74,8 +74,6 @@ alias.o: ../../include/stringops.h
alias.o: ../../include/vstring.h alias.o: ../../include/vstring.h
alias.o: ../../include/mymalloc.h alias.o: ../../include/mymalloc.h
alias.o: ../../include/mail_params.h alias.o: ../../include/mail_params.h
alias.o: ../../include/mail_addr.h
alias.o: ../../include/sent.h
alias.o: ../../include/defer.h alias.o: ../../include/defer.h
alias.o: ../../include/bounce.h alias.o: ../../include/bounce.h
alias.o: ../../include/maps.h alias.o: ../../include/maps.h
@@ -484,6 +482,8 @@ unknown.o: ../../include/vstream.h
unknown.o: ../../include/iostuff.h unknown.o: ../../include/iostuff.h
unknown.o: ../../include/attr.h unknown.o: ../../include/attr.h
unknown.o: ../../include/bounce.h unknown.o: ../../include/bounce.h
unknown.o: ../../include/mail_addr.h
unknown.o: ../../include/sent.h
unknown.o: local.h unknown.o: local.h
unknown.o: ../../include/htable.h unknown.o: ../../include/htable.h
unknown.o: ../../include/tok822.h unknown.o: ../../include/tok822.h

View File

@@ -82,8 +82,6 @@
/* Global library. */ /* Global library. */
#include <mail_params.h> #include <mail_params.h>
#include <mail_addr.h>
#include <sent.h>
#include <defer.h> #include <defer.h>
#include <maps.h> #include <maps.h>
#include <bounce.h> #include <bounce.h>
@@ -303,19 +301,6 @@ int deliver_alias(LOCAL_STATE state, USER_ATTR usr_attr,
} }
} }
/*
* If no alias was found for a required reserved name, toss the message
* into the bit bucket, and issue a warning instead.
*/
#define STREQ(x,y) (strcasecmp(x,y) == 0)
if (STREQ(name, MAIL_ADDR_MAIL_DAEMON)
|| STREQ(name, MAIL_ADDR_POSTMASTER)) {
msg_warn("required alias not found: %s", name);
*statusp = sent(SENT_ATTR(state.msg_attr), "discarded");
return (YES);
}
/* /*
* Try delivery to a local user instead. * Try delivery to a local user instead.
*/ */

View File

@@ -50,6 +50,11 @@
/* System library. */ /* System library. */
#include <sys_defs.h> #include <sys_defs.h>
#include <string.h>
#ifdef STRCASECMP_IN_STRINGS_H
#include <strings.h>
#endif
/* Utility library. */ /* Utility library. */
@@ -64,6 +69,8 @@
#include <mail_params.h> #include <mail_params.h>
#include <mail_proto.h> #include <mail_proto.h>
#include <bounce.h> #include <bounce.h>
#include <mail_addr.h>
#include <sent.h>
/* Application-specific. */ /* Application-specific. */
@@ -100,27 +107,36 @@ int deliver_unknown(LOCAL_STATE state, USER_ATTR usr_attr)
return (deliver_pass(MAIL_CLASS_PRIVATE, var_fallback_transport, return (deliver_pass(MAIL_CLASS_PRIVATE, var_fallback_transport,
state.request, state.msg_attr.recipient, -1L)); state.request, state.msg_attr.recipient, -1L));
/*
* Bounce the message when no luser relay is specified.
*/
if (*var_luser_relay == 0)
return (bounce_append(BOUNCE_FLAG_KEEP, BOUNCE_ATTR(state.msg_attr),
"unknown user: \"%s\"", state.msg_attr.local));
/* /*
* Subject the luser_relay address to $name expansion, disable * Subject the luser_relay address to $name expansion, disable
* propagation of unmatched address extension, and re-inject the address * propagation of unmatched address extension, and re-inject the address
* into the delivery machinery. Donot give special treatment to "|stuff" * into the delivery machinery. Do not give special treatment to "|stuff"
* or /stuff. * or /stuff.
*/ */
state.msg_attr.unmatched = 0; if (*var_luser_relay) {
expand_luser = vstring_alloc(100); state.msg_attr.unmatched = 0;
local_expand(expand_luser, var_luser_relay, &state, &usr_attr, (char *) 0); expand_luser = vstring_alloc(100);
status = deliver_resolve_addr(state, usr_attr, vstring_str(expand_luser)); local_expand(expand_luser, var_luser_relay, &state, &usr_attr, (char *) 0);
vstring_free(expand_luser); status = deliver_resolve_addr(state, usr_attr, vstring_str(expand_luser));
vstring_free(expand_luser);
return (status);
}
/* /*
* Done. * If no alias was found for a required reserved name, toss the message
* into the bit bucket, and issue a warning instead.
*/ */
return (status); #define STREQ(x,y) (strcasecmp(x,y) == 0)
if (STREQ(state.msg_attr.local, MAIL_ADDR_MAIL_DAEMON)
|| STREQ(state.msg_attr.local, MAIL_ADDR_POSTMASTER)) {
msg_warn("required alias not found: %s", state.msg_attr.local);
return (sent(SENT_ATTR(state.msg_attr), "discarded"));
}
/*
* Bounce the message when no luser relay is specified.
*/
return (bounce_append(BOUNCE_FLAG_KEEP, BOUNCE_ATTR(state.msg_attr),
"unknown user: \"%s\"", state.msg_attr.local));
} }

View File

@@ -589,7 +589,7 @@ static void dict_ldap_get_values(DICT_LDAP *dict_ldap, LDAPMessage * res,
} }
ldap_value_free(vals); ldap_value_free(vals);
} }
if (ber != NULL) if (ber)
ber_free(ber, 0); ber_free(ber, 0);
} }
if (msg_verbose) if (msg_verbose)