The following issue has been RESOLVED. 
====================================================================== 
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:                     resolved
target:                      
Resolution:                 fixed
Fixed in Version:           SVN Trunk
====================================================================== 
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

 

---------------------------------------------------------------------- 
 aaron - 29-Aug-06 21:27  
---------------------------------------------------------------------- 
Nailed this one. 

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       
29-Aug-06 21:27 aaron          Status                   assigned => resolved
29-Aug-06 21:27 aaron          Fixed in Version          => SVN Trunk       
29-Aug-06 21:27 aaron          Resolution               open => fixed       
29-Aug-06 21:27 aaron          Note Added: 0001374                          
======================================================================

Reply via email to