I have a bug with LMTP delivery I think you don't escape correctly the
datas submited to lmtp (and possibly to lmtp to since it seems
to be the
self source portion).
According to rfc2821 (SMTP) Section 4.5.2 (it's formal, but only
for
reference not to annoy you)
I have not yet understood the code but there is an example and
the data
got for each case...
As I understand you do the 2°part (removing starting Dot) but
not the
first.
If i'm able to send you a patch, i'll give it to you Asap.
I think this bug can be annoying as it can cause data loss (i
know a
fullstop si rarely considered "vital" but in 8 Bits format, it
can cause
trouble).
The problem is IMHO located in src/client.c
Here comes RFC portion & sample SMTP sessions
> 4.5.2 Transparency
> Without some provision for data transparency, the character
sequence
> "<CRLF>.<CRLF>" ends the mail text and cannot be sent by the
user.
> In general, users are not aware of such "forbidden"
sequences. To
> allow all user composed text to be transmitted
transparently, the
> following procedures are used:
>
> - Before sending a line of mail text, the SMTP client
checks the
> first character of the line. If it is a period, one
additional
> period is inserted at the beginning of the line.
>
> - When a line of mail text is received by the SMTP server,
it checks
> the line. If the line is composed of a single period, it
is
> treated as the end of mail indicator. If the first
character is a
> period and there are other characters on the line, the
first
> character is deleted.
==========================
## With DSpam
So: Here is the SMTP Session:
[EMAIL PROTECTED]:~/dspam-3.8.0/src$ telnet 10.0.0.200 25
Trying 10.0.0.200...
Connected to 10.0.0.200.
Escape character is '^]'.
220 mail.server-int.bmco.be ESMTP Postfix (Debian/GNU)
EHLO SMTP$
250-mail.server-int.bmco.be
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM: [EMAIL PROTECTED]
250 2.1.0 Ok
RCPT TO: Xavier De Cock <[EMAIL PROTECTED]>
555 5.5.4 Unsupported option: De
RCPT TO: Xavier De Cock <[EMAIL PROTECTED]>
555 5.5.4 Unsupported option: De
RCPT TO: [EMAIL PROTECTED]
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: [EMAIL PROTECTED] "Xavier De Cock"
To: [EMAIL PROTECTED] (Xavier De Cock)
Subject: Test
This is a test mail with a 2 dots on the second line and one on
the
third one
...
..
.
250 2.0.0 Ok: queued as CE2A128E54E
===================
### Message Source
turn-Path: <>
Received: from localhost ([unix socket]) by server-int.bmco.be
(Cyrus
v2.2.13-Debian-2.2.13-4ubuntu1) with LMTPA; Mon, 23 Apr
2007
13:18:36 +0200
X-Sieve: CMU Sieve 2.2
Received: from SMTP$ (unknown [10.0.0.152]) by
mail.server-int.bmco.be
(Postfix) with ESMTP id CE2A128E54E for
<[EMAIL PROTECTED]>; Mon,
23 Apr 2007
13:16:19 +0200 (CEST)
From: [EMAIL PROTECTED] "Xavier De Cock"
To: [EMAIL PROTECTED] (Xavier De Cock)
Subject: Test
Message-Id: <[EMAIL PROTECTED]>
Date: Mon, 23 Apr 2007 13:16:19 +0200 (CEST)
X-DSPAM-Result: Innocent
X-DSPAM-Processed: Mon Apr 23 13:18:36 2007
X-DSPAM-Confidence: 0.9899
X-DSPAM-Improbability: 1 in 9809 chance of being spam
X-DSPAM-Probability: 0.0000
X-DSPAM-Signature: 462c960c51831097416724
X-DSPAM-Factors: 27, Date*2007+13, 0.01000, Received*ESMTP,
0.01000,
Date*0200+(CEST), 0.01000, mail, 0.01000, Date*2007,
0.01000,
Received*with, 0.01000, Received*<xavier+bmco.eu>,
0.01000,
Received*ESMTP+id, 0.01000, 2, 0.01000, one, 0.01000,
one,
0.01000, test,
0.01000, From*"Xavier+De, 0.01000, Received*23, 0.01000,
on+the,
0.01000,
on+the, 0.01000, Received*(Postfix)+with, 0.01000, is,
0.01000,
Received*with+ESMTP, 0.01000, is+a, 0.01000,
Received*mail.server+int.bmco.be, 0.01000, Received*Apr,
0.01000,
Received*(Postfix), 0.01000, Return-Path*bmco.eu>,
0.01000,
Received*for+<xavier, 0.01000, Received*for, 0.01000,
Received*bmco.eu>+Mon, 0.01000
X-Evolution-Source: imap://[EMAIL PROTECTED]/
Mime-Version: 1.0
This is a test mail with a 2 dots on the second line and one on
the
third one
.
.
===================
## Without DSpam
[EMAIL PROTECTED]:~/dspam-3.8.0/src$ telnet 10.0.0.200 25
Trying 10.0.0.200...
Connected to 10.0.0.200.
Escape character is '^]'.
220 mail.server-int.bmco.be ESMTP Postfix (Debian/GNU)
EHLO SMTP
250-mail.server-int.bmco.be
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM: [EMAIL PROTECTED]
250 2.1.0 Ok
RCPT TO: [EMAIL PROTECTED]
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: [EMAIL PROTECTED] "Xavier De Cock"
To: [EMAIL PROTECTED] (Xavier De Cock)
Subject: Test
This is a test mail with a 2 dots on the second line and one on
the
third one
...
..
.
250 2.0.0 Ok: queued as B05E728E570
===================
### Delivered Message Source
Return-Path: <[EMAIL PROTECTED]>
Received: from murder ([unix socket]) by server-int.bmco.be
(Cyrus
v2.2.13-Debian-2.2.13-4ubuntu1) with LMTPA; Mon, 23 Apr
2007
13:31:33 +0200
X-Sieve: CMU Sieve 2.2
Received: from SMTP (unknown [10.0.0.152]) by
mail.server-int.bmco.be
(Postfix) with ESMTP id B05E728E570 for
<[EMAIL PROTECTED]>; Mon,
23 Apr 2007
13:28:36 +0200 (CEST)
From: [EMAIL PROTECTED] "Xavier De Cock"
To: [EMAIL PROTECTED] (Xavier De Cock)
Subject: Test
Message-Id: <[EMAIL PROTECTED]>
Date: Mon, 23 Apr 2007 13:28:36 +0200 (CEST)
X-Evolution-Source: imap://[EMAIL PROTECTED]/
Mime-Version: 1.0
This is a test mail with a 2 dots on the second line and one on
the
third one
..
.