On 09/11/2017 09:17 AM, Aki Tuomi wrote:> > On 08.09.2017 15:29, Nagy, Attila wrote: >> On 09/08/2017 01:53 PM, Aki Tuomi wrote: >>> On 08.09.2017 14:50, Nagy, Attila wrote: >>>> Hi, >>>> >>>> I've a broken IMAP server, which doesn't support pipelining and fails >>>> on dovecot's attempt to do this ([C] is dovecot's imapc, [S] is the >>>> IMAP server): >>>> >>>> [C] 24 LOGIN "user" "pass" >>>> [S] 23 OK >>>> [C] 25 SELECT "INBOX" >>>> [C] 23 UID FETCH 2 (INTERNALDATE) >>>> [S] 25 OK >>>> [S] 23 BAD No mailbox selected >>>> >>>> Sadly, fixing the server would be a hard task, turning off pipelining >>>> in dovecot's imapc (which already supports many workarounds for >>>> different servers) could be easy... >>>> >>>> ... except I can see no place to do this in imapc (only in pop3c and >>>> imap proxy, which I guess doesn't apply here). >>>> >>>> If I'm right, may I ask for a knob for such dumb servers? >>>> >>>> Thanks, >>> For proxy, use proxy_nopipelining >>> >> Are you sure it works with imapc? I've tried it, and dovecot still >> does the above. > So what are you exactly doing? > >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.
> 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? Sami
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.