The following issue has been ASSIGNED.
======================================================================
http://www.dbmail.org/mantis/view.php?id=368
======================================================================
Reported By: rhstone
Assigned To: aaron
======================================================================
Project: DBMail
Issue ID: 368
Category: IMAP daemon
Reproducibility: always
Severity: minor
Priority: normal
Status: assigned
target:
======================================================================
Date Submitted: 20-Jun-06 11:02 CEST
Last Modified: 29-Aug-06 21:27 CEST
======================================================================
Summary: IMAP daemon sends invalid replies to pine
Description:
When using the pine email program and pointing it to the dbmail imap
server, it sometimes pukes on the imap data stream.
One of the errors I commonly get is:
[{my.dbmail.host.com:993/imap/ssl/novalidate-cert/user= : Junk in end of
group: pn=undisclosed-recipients al= dn=]
These are links to what I've found online about this error. The Google
Groups listing has a reply from Mark Crispin (the author of pine) about
the problem.
http://www.froglogic.com/~porten/archiveopteryx/problems.html
http://groups.google.com/group/comp.mail.pine/msg/efe4058125f6894d?hl=en&
Any ideas?
======================================================================
----------------------------------------------------------------------
aaron - 21-Jun-06 08:12
----------------------------------------------------------------------
I believe that it should look like this:
(NIL NIL "undisclosed-recipients" NIL)
rather than:
("undisclosed-recipients" NIL NIL NIL)
I think this is the relevant language from RFC 3501:
An address structure is a parenthesized list that describes an
electronic mail address. The fields of an address structure
are in the following order: personal name, [SMTP]
at-domain-list (source route), mailbox name, and host name.
[RFC-2822] group syntax is indicated by a special form of
address structure in which the host name field is NIL. If the
mailbox name field is also NIL, this is an end of group marker
(semi-colon in RFC 822 syntax). If the mailbox name field is
non-NIL, this is a start of group marker, and the mailbox name
field holds the group name phrase.
If GMime is parsing these for us, we should ask the GMime maintainer what
his take on it is.
Robbie, could you attach get a tcpdump of a pine session, please?
----------------------------------------------------------------------
rhstone - 21-Jun-06 08:31
----------------------------------------------------------------------
I've attached a debug output from pine which contains both the offending
IMAP from the server and the error message.
Because I am connecting to my server using SSL, I could not use tcpdump to
gather the data. However, if you compile pine with debug support, you can
run it 'pine -d [0-9], as documented in the man page, to output the errors
and imap communication stream to a file.
----------------------------------------------------------------------
aaron - 21-Jun-06 18:45
----------------------------------------------------------------------
Calling internet_address_parse_string on the following addresses, then
running it through our functions to generate an IMAP plist, we see...
undisclosed-recipients ((NIL NIL "undisclosed-recipients" NIL)) <-
correct
undisclosed-recipients; (NIL)
undisclosed-recipients: (("undisclosed-recipients" NIL NIL NIL))
undisclosed-recipients:; (("undisclosed-recipients" NIL NIL NIL))
undisclosed-recipients: ; (("undisclosed-recipients" NIL NIL NIL))
I'm not sure if we should strip off the colons and semicolors, or if GMime
should be doing it, but in any event, that's what's mucking up the gmime
parse.
----------------------------------------------------------------------
paul - 22-Jun-06 09:35
----------------------------------------------------------------------
I was more like thinking along the lines:
if (ia->name && ia->addr.value)
// ok show name, source-route, mailbox, hostname)
else if (ia->name && (! ia->addr.value))
// treat ia->name as mailboxname
----------------------------------------------------------------------
paul - 30-Jun-06 15:00
----------------------------------------------------------------------
Rob,
Could you plz test svn-trunk. I have implemented the workaround outlined
earlier.
Paul.
----------------------------------------------------------------------
rhstone - 12-Jul-06 22:11
----------------------------------------------------------------------
Paul,
The patch seems to have cleared up the 1st problem. There is a new issue
that I've discovered, and I'm attaching the trace from the message.
Robbie
----------------------------------------------------------------------
rhstone - 12-Jul-06 22:13
----------------------------------------------------------------------
This is the message from the status line in pine. I'm going to get a trace
and attach it shortly.
[{my.email.host.com:993/imap/ssl/novalidate-cert/user= : Junk at end of
multipart body: ("inline" NIL) NIL NIL)("text" "plain" ("charset"
"us-ascii") NIL NIL "7bit" 203]
----------------------------------------------------------------------
rhstone - 12-Jul-06 22:24
----------------------------------------------------------------------
13:19:11.986795
IMAP DEBUG 13:19:11.986795: 00000007 FETCH 2264 (BODYSTRUCTURE FLAGS)
13:19:12.102907
IMAP DEBUG 13:19:12.102907: * 2264 FETCH (FLAGS (\Seen) BODYSTRUCTURE
((("text" "plain" ("charset" "us-ascii") NIL NIL "quoted-printable" 23673
504 NIL ("inline" NIL) NIL NIL)("application" "pgp-signature" ("name"
"signature.asc") NIL "Digital signature" NIL 196 NIL ("inline" NIL) NIL
NIL) "signed" ("boundary" "svZFHVx8/dhPCe52" "protocol"
"application/pgp-signature" "micalg" "pgp-sha1")("inline" NIL) NIL
NIL)("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 203 4 NIL
("inline" NIL) NIL NIL) "mixed" ("boundary" "===============1995649234==")
NIL NIL NIL))
13:19:12.103258
IMAP 13:19:12 7/12 mm_notify warning:
{my.email.host.com:993/imap/ssl/novalidate-cert/user="robbie"}inbox: Junk
at end of multipart body: ("inline" NIL) NIL NIL)("text" "plain"
("charset" "us-ascii") NIL NIL "7bit" 203
13:19:12.103361
q_status_message({my.email.host.com:993/imap/ssl/novalidate-cert/user= :
Junk at end of multipart body: ("inline" NIL) NIL NIL)("text" "plain"
("charset" "us-ascii") NIL NIL "7bit" 203)
13:19:12.103434
IMAP 13:19:12 7/12 mm_notify warning:
{my.email.host.com:993/imap/ssl/novalidate-cert/user="robbie"}inbox:
Missing body subtype
13:19:12.103512
IMAP 13:19:12 7/12 mm_notify warning:
{my.email.host.com:993/imap/ssl/novalidate-cert/user="robbie"}inbox: Bogus
body parameter: )) NIL NIL)("text" "plain" ("charset" "us-ascii") NIL NIL
"7bit" 203 4 NIL ("inli
13:19:12.103588
IMAP 13:19:12 7/12 mm_notify warning:
{my.email.host.com:993/imap/ssl/novalidate-cert/user="robbie"}inbox: Not a
string: )("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 203 4 NIL
("inline" NIL) N
13:19:12.103661
IMAP 13:19:12 7/12 mm_notify warning:
{my.email.host.com:993/imap/ssl/novalidate-cert/user="robbie"}inbox: Junk
at end of body part: ("text" "plain" ("charset" "us-ascii") NIL NIL "7bit"
203 4 NIL ("inline" NIL) N
13:19:12.103815
IMAP DEBUG 13:19:12.103815: 00000007 OK FETCH completed
Issue History
Date Modified Username Field Change
======================================================================
20-Jun-06 11:02 rhstone New Issue
21-Jun-06 08:12 aaron Note Added: 0001254
21-Jun-06 08:29 rhstone File Added: pine-error.out
21-Jun-06 08:31 rhstone Note Added: 0001255
21-Jun-06 18:45 aaron Note Added: 0001262
22-Jun-06 09:35 paul Note Added: 0001266
30-Jun-06 15:00 paul Note Added: 0001287
30-Jun-06 15:00 paul Assigned To => paul
30-Jun-06 15:00 paul Status new => assigned
30-Jun-06 20:42 rhstone Note Added: 0001288
12-Jul-06 22:10 rhstone Note Added: 0001296
12-Jul-06 22:10 rhstone Note Deleted: 0001296
12-Jul-06 22:10 rhstone Note Deleted: 0001288
12-Jul-06 22:11 rhstone Note Added: 0001297
12-Jul-06 22:13 rhstone Note Added: 0001298
12-Jul-06 22:22 rhstone Note Added: 0001299
12-Jul-06 22:24 rhstone Note Edited: 0001299
29-Aug-06 21:27 aaron Assigned To paul => aaron
======================================================================