A NOTE has been added to this issue. 
====================================================================== 
http://www.dbmail.org/mantis/view.php?id=368 
====================================================================== 
Reported By:                rhstone
Assigned To:                paul
====================================================================== 
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:              12-Jul-06 22:13 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] 

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                          
======================================================================

Reply via email to