On Nov 22, 2013, at 10:03 AM, Stephan Bosch <step...@rename-it.nl> wrote:
> On 11/9/2013 12:32 AM, Joshua Perry wrote: >> I've created a dict service that listens on a unix socket and answers >> queries for sieve scripts (among other things). >> >> As I understand it (from the source code at >> http://hg.dovecot.org/dovecot-2.2/file/tip/src/lib-dict/dict-client.c), the >> dict client will unescape \001n, \001t, and \0011 to line feeds, tabs, >> and the \001 character respectively. >> >> In my service I am escaping those three characters in my response (if >> I don't escape them the line-oriented nature of the protocol causes a >> failure for multiline sieve scripts) but every time LDA attempts to >> process a sieve script I get an error in the logs (see below) showing >> sieve choking on \001 characters. >> >> Is there some configuration value I've missed or something? >> >> *dovecot log* >> Nov 8 23:04:54 www dovecot: lmtp(29940, j...@redacted.com): >> pxg7JxZufVL0dAAAPhZyyg: sieve: failed to compile script >> dict:proxy:/var/run/dovecot-auth.sock:sieve;name=main script (view >> user logfile /var/mail/vhosts/redacted.com/josh/.dovecot.sieve.log for >> more information) >> >> *.dovecot.sieve.log* >> sieve: info: started log at Nov 08 16:14:38. >> main script: line 1: error: unexpected character(s) starting with 0x01. >> main script: line 1: error: unexpected unknown characters found at >> (the presumed) end of file. >> main script: error: parse failed. > > This is likely a problem in Dovecot somewhere. We haven't had time to > look at it so far. I'll get back on this later. > > Regards, > > Stephan. > Hey Stephen, Thank you for responding, I didn't update the list because I kind of figured from the non-reponse that no-one had any ideas. I actually found the problem and it was a stupid mistake on my part, I was escaping tab and carriage return and _THEN_ escaping \001... Ooops. Love Dovecot, hoping to spend more time with it in the near future, I've been playing with making a one-stop repo of all virtual-hosted data for Postfix, Prosody, Dovecot, Seive, etc. I know LDAP is meant for stuff like that, but I don't like LDAP. Josh