Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Aki Tuomi


On 11.09.2017 16:14, Nagy, Attila wrote:
> On 09/11/2017 03:01 PM, Aki Tuomi wrote:
>> On 11.09.2017 15:56, Nagy, Attila wrote:
>>> On 09/11/2017 12:12 PM, Aki Tuomi wrote:
 Is there some reason you can't use normal proxy instead of imap
 backend?
 That is,return proxy, host=imap_backend, port=1430? There seems to
 be no
 pipeline setting currently for imapc in v2.2.

>>> Yes, because it's a dumb IMAP server, which doesn't implement a lot of
>>> things, like SEARCH, FETCH BODYSTRUCTURE and similar.
>>> Dovecot is used as a smart proxy, which makes it possible to use it as
>>> a fully featured IMAP server.
>> Does the dumb server advertize pipelining?
>>
> Exactly how does an IMAP server advertise pipelining other than it
> says it's an IMAP server? :)
> There is no such capability, extension etc. It's in RFC3501, which
> defines IMAP v4r1.
>
> Dovecot has a proxy_nopipelining setting for its IMAP proxy, I just
> want to use that (ie: no pipelining) with imapc too. Whether it's
> dynamically configurable, even with the existing proxy_nopipelining,
> or with an imapc_features flag, it doesn't matter for me.
>
> Of course, setting this per user would be nicer.

There currently is no such feature. Guess such feature could be added at
some point.

Aki


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Nagy, Attila

On 09/11/2017 03:01 PM, Aki Tuomi wrote:

On 11.09.2017 15:56, Nagy, Attila wrote:

On 09/11/2017 12:12 PM, Aki Tuomi wrote:

Is there some reason you can't use normal proxy instead of imap backend?
That is,return proxy, host=imap_backend, port=1430? There seems to be no
pipeline setting currently for imapc in v2.2.


Yes, because it's a dumb IMAP server, which doesn't implement a lot of
things, like SEARCH, FETCH BODYSTRUCTURE and similar.
Dovecot is used as a smart proxy, which makes it possible to use it as
a fully featured IMAP server.

Does the dumb server advertize pipelining?

Exactly how does an IMAP server advertise pipelining other than it says 
it's an IMAP server? :)
There is no such capability, extension etc. It's in RFC3501, which 
defines IMAP v4r1.


Dovecot has a proxy_nopipelining setting for its IMAP proxy, I just want 
to use that (ie: no pipelining) with imapc too. Whether it's dynamically 
configurable, even with the existing proxy_nopipelining, or with an 
imapc_features flag, it doesn't matter for me.


Of course, setting this per user would be nicer.


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Aki Tuomi


On 11.09.2017 15:56, Nagy, Attila wrote:
> On 09/11/2017 12:12 PM, Aki Tuomi wrote:
>> Is there some reason you can't use normal proxy instead of imap backend?
>> That is,return proxy, host=imap_backend, port=1430? There seems to be no
>> pipeline setting currently for imapc in v2.2.
>>
> Yes, because it's a dumb IMAP server, which doesn't implement a lot of
> things, like SEARCH, FETCH BODYSTRUCTURE and similar.
> Dovecot is used as a smart proxy, which makes it possible to use it as
> a fully featured IMAP server.

Does the dumb server advertize pipelining?

Aki


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Nagy, Attila

On 09/11/2017 12:12 PM, Aki Tuomi wrote:

Is there some reason you can't use normal proxy instead of imap backend?
That is,return proxy, host=imap_backend, port=1430? There seems to be no
pipeline setting currently for imapc in v2.2.

Yes, because it's a dumb IMAP server, which doesn't implement a lot of 
things, like SEARCH, FETCH BODYSTRUCTURE and similar.
Dovecot is used as a smart proxy, which makes it possible to use it as a 
fully featured IMAP server.


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Aki Tuomi


On 11.09.2017 13:09, Nagy, Attila wrote:
> 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  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)

Is there some reason you can't use normal proxy instead of imap backend?
That is,return proxy, host=imap_backend, port=1430? There seems to be no
pipeline setting currently for imapc in v2.2.

Aki


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Nagy, Attila

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  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)


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Aki Tuomi


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  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


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Nagy, Attila

On 09/11/2017 10:42 AM, Sami Ketola wrote:

On 11 Sep 2017, at 11.24, Nagy, Attila  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.


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Sami Ketola

> On 11 Sep 2017, at 11.24, Nagy, Attila  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


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Nagy, Attila

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.


Re: Is it possible to disable pipelining in imapc?

2017-09-11 Thread Aki Tuomi


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?

Aki


Re: Is it possible to disable pipelining in imapc?

2017-09-08 Thread Nagy, Attila

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.


Re: Is it possible to disable pipelining in imapc?

2017-09-08 Thread Aki Tuomi


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

Aki


Is it possible to disable pipelining in imapc?

2017-09-08 Thread Nagy, Attila

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,