diff --git a/postfix/HISTORY b/postfix/HISTORY index 367e86c24..02d9d4413 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -4614,3 +4614,14 @@ Apologies for any names omitted. Small dirt: postconf -m produced too much output due to a missing "else", and the optional SASL code needed a fix for the changed name_mask API. + +20001212 + + Workaround: due to an error, record type L for "filter + transport name" was the same as that for the already existing + record type L for "record not ending in newline", causing + the pickup daemon to discard all records not ending in + newline. The code cannot be changed without breaking + compatibility with queued mail, so the pickup server is + changed to discard type L records only from the message + envelope, not from the content. File: pickup/pickup.c. diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index de06b8f6c..38ec674e7 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -15,7 +15,7 @@ * Version of this program. */ #define VAR_MAIL_VERSION "mail_version" -#define DEF_MAIL_VERSION "Snapshot-20001211" +#define DEF_MAIL_VERSION "Snapshot-20001212" extern char *var_mail_version; /* LICENSE diff --git a/postfix/src/pickup/pickup.c b/postfix/src/pickup/pickup.c index 2bb748dac..38d798e39 100644 --- a/postfix/src/pickup/pickup.c +++ b/postfix/src/pickup/pickup.c @@ -180,7 +180,7 @@ static int copy_segment(VSTREAM *qfile, VSTREAM *cleanup, PICKUP_INFO *info, info->rcpt = mystrdup(vstring_str(buf)); if (type == REC_TYPE_TIME) continue; - if (type == REC_TYPE_FILT) + if (type == REC_TYPE_FILT && *expected == REC_TYPE_ENVELOPE[0]) continue; else {