On 09/11/2017 11:14 AM, Aki Tuomi wrote:
On 11.09.2017 11:59, Nagy, Attila wrote:
On 09/11/2017 10:42 AM, Sami Ketola wrote:
On 11 Sep 2017, at 11.24, Nagy, Attila bra@fsn.hu wrote: I use dovecot with a broken IMAP server (which doesn't properly implement command pipelining amongst others) as an imapc backend. Dovecot issues the above command sequence (SELECT and UID FETCH pipelined), which doesn't work with this server.
Therefore I'm requesting an imapc_features setting, IMAPC_FEATURE_NO_PIPELINING, which disables PIPELINING in dovecot imapc. Similarly to other workarounds, like IMAPC_FEATURE_FETCH_MSN_WORKAROUNDS, IMAPC_FEATURE_FETCH_FIX_BROKEN_MAILS et al. Dovecot IMAPC should not pipeline unless remote advertises pipelining support in CAPABILITY response. Are you saying that you have imap server which advertses support for it but then does not support it after all?
It's a capability in POP3 and an extension in (E)SMTP. I don't know about pipelining capability in IMAP (BTW, the server doesn't advertise such capability, in fact, it doesn't support any capabilities), it's standard, plain old IMAP RFC: https://tools.ietf.org/html/rfc3501#section-5.5
The whole topic is about a bad IMAP server, which doesn't properly implement pipelining (hence IMAP RFC), like others, for which dovecot implements a workaround in imapc. But are you using it like with doveadm? or proxying connection to? How are you invoking imapc?
Dovecot acts as a frontend to this broken server and I redirect users with passdb/userdb via dict protocol, returning entries like: js = { 'password': '', 'nopassword': '', 'host':'imap_backend', 'port':1430, 'driver':'imap', 'proxy_nopipelining':'y', 'userdb_user':qdata['Auth-User'], 'userdb_imapc_user':qdata['Auth-User'], 'userdb_imapc_password':qdata['Auth-Pass'], 'destuser':qdata['Auth-User'], }
(and this is where I tried proxy_nopipelining as you can see, but of course it's irrelevant)