Mercurial > dovecot > core-2.2
changeset 9486:a04a3ce0764e HEAD
lmtp: Fixes to handling "." correctly in DATA.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 16 Jun 2009 18:48:14 -0400 |
parents | acbbd522be43 |
children | a33722839adf |
files | src/lmtp/commands.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lmtp/commands.c Tue Jun 16 14:41:02 2009 -0400 +++ b/src/lmtp/commands.c Tue Jun 16 18:48:14 2009 -0400 @@ -425,15 +425,18 @@ } } else if (client->state.data_end_idx == DATA_DOT_NEXT_POS) { /* saw a dot at the beginning of line. drop it. */ - if (client_input_add(client, data, i-1) < 0) { + if (client_input_add(client, data + start, + i - start - 1) < 0) { client_destroy(client, "451 4.3.0", "Temporary internal failure"); return; } start = i; - client->state.data_end_idx = 0; + client->state.data_end_idx = + data[i] == data_end[0] ? 1 : 0; } else { - client->state.data_end_idx = 0; + client->state.data_end_idx = + data[i] == data_end[0] ? 1 : 0; } } if (client->state.data_end_idx >= DATA_DOT_NEXT_POS) {