On 09/11/2017 10:42 AM, Sami Ketola wrote:>> On 11 Sep 2017, at 11.24, Nagy, Attila <bra at 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.
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 at 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? Aki
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 at 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)