[Dovecot] CMU Sieve pluigin missing proper charset support

Timo Sirainen tss at iki.fi
Mon Jun 4 02:51:19 EEST 2007


On Fri, 2007-06-01 at 18:49 +0200, Jan Srzednicki wrote:
> The problem is that the dovecot plugin does not convert the string to
> RFC2047 encoded words, it treats it literally and thus sends malformed
> (from RFC's point of view) message - with improper Subject field
> encoding.
> 
> Any chances of getting that fixed?

Well.. Hmm. I'm not entirely sure how Cyrus handled it, or if it didn't
handle it at all. The Sieve code is from Cyrus v2.2. In Cyrus v2.3
there's some new MIME code. Perhaps upgrading the Sieve plugin to Cyrus
v2.3's code would fix this as well.

Also the APIs that need to be used to decode them are a bit annoying to
use. I think I'll simplify them a bit for v1.1 so it won't be necessary
to copy&paste 20 lines of code to use it.

I added this to my TODO, but if you're interested in fixing it now, I
can give some pointers:

 - dovecot-sieve-1.0/src/sieve-cmu.c : getheader() should decode them
 - dovecot-1.0/src/lib-mail/message-header-decode.h API decodes the
RFC2047 MIME words but doesn't convert to UTF8
 - dovecot-1.0/src/lib-charset/charset-utf8.h API provides charset
conversion.
 - dovecot-1.0/src/lib-mail/message-header-search.c uses the above two
APIs

For v1.1 I'll add a new function to message-header-decode.h that returns
a given header directly as UTF-8 string.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070604/7fe983e7/attachment.bin 


More information about the dovecot mailing list