2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-30 13:48:06 +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,
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:
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
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
==========================================================

View File

@ -20,7 +20,7 @@
* Patches change the patchlevel and the release date. Snapshots change the
* 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 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 { \
if (*(src)) { \
quote_821_local(dst, src); \
lowercase(vstring_str(dst)); \
} else { \
vstring_strcpy(dst, src); \
} \

View File

@ -74,8 +74,6 @@ alias.o: ../../include/stringops.h
alias.o: ../../include/vstring.h
alias.o: ../../include/mymalloc.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/bounce.h
alias.o: ../../include/maps.h
@ -484,6 +482,8 @@ unknown.o: ../../include/vstream.h
unknown.o: ../../include/iostuff.h
unknown.o: ../../include/attr.h
unknown.o: ../../include/bounce.h
unknown.o: ../../include/mail_addr.h
unknown.o: ../../include/sent.h
unknown.o: local.h
unknown.o: ../../include/htable.h
unknown.o: ../../include/tok822.h

View File

@ -82,8 +82,6 @@
/* Global library. */
#include <mail_params.h>
#include <mail_addr.h>
#include <sent.h>
#include <defer.h>
#include <maps.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.
*/

View File

@ -50,6 +50,11 @@
/* System library. */
#include <sys_defs.h>
#include <string.h>
#ifdef STRCASECMP_IN_STRINGS_H
#include <strings.h>
#endif
/* Utility library. */
@ -64,6 +69,8 @@
#include <mail_params.h>
#include <mail_proto.h>
#include <bounce.h>
#include <mail_addr.h>
#include <sent.h>
/* 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,
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
* 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.
*/
state.msg_attr.unmatched = 0;
expand_luser = vstring_alloc(100);
local_expand(expand_luser, var_luser_relay, &state, &usr_attr, (char *) 0);
status = deliver_resolve_addr(state, usr_attr, vstring_str(expand_luser));
vstring_free(expand_luser);
if (*var_luser_relay) {
state.msg_attr.unmatched = 0;
expand_luser = vstring_alloc(100);
local_expand(expand_luser, var_luser_relay, &state, &usr_attr, (char *) 0);
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);
}
if (ber != NULL)
if (ber)
ber_free(ber, 0);
}
if (msg_verbose)