Re: [PATCH] git-imap-send: Strip smtp From_ header from imap message.
- From
- Markus Amsler <markus.amsler@oribi.org>
- Date
- Oct 18, 2006, 08:53 UTC
- Message-ID
- <4535EB99.3090006@oribi.org>
- In-Reply-To
- <7vlknegnwk.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 8 quoted lines
> Markus Amsler <markus.amsler@oribi.org> writes: > >> Cyrus imap refuses messages with a 'From ' Header. >> >> Signed-off-by: Markus Amsler <markus.amsler@oribi.org> > > Do you know if this change does not upset other implementations > of imap servers?
I only tested it with cyrus 2.1.18 on debian. I did some research: The From_ header field was introduced in rfc976 which only affects UUCP(Unix to Unix CoPy). I assume it's an invalid header field in SMTP/IMAP, and most implementation ignores it. I'm no mail header guru, so I could be wrong
Markus
Show 28 quoted lines
>
> Mike, are you Ok with this change?
>
> ---
> imap-send.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/imap-send.c b/imap-send.c
> index 362e474..16804ab 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -1226,6 +1226,14 @@ split_msg( msg_data_t *all_msgs, msg_dat
> if (msg->len < 5 || strncmp( data, "From ", 5 ))
> return 0;
>
> + p = strchr( data, '\n' );
> + if (p) {
> + p = &p[1];
> + msg->len -= p-data;
> + *ofs += p-data;
> + data = p;
> + }
> +
> p = strstr( data, "\nFrom " );
> if (p)
> msg->len = &p[1] - data;
>
>