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 <b...@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)

Reply via email to