On Sat, Apr 03, 2010 at 12:57:08AM +0200, Alexander Dalloz wrote:
Am 09.07.2009 13:48, schrieb Simon Horman:
> On Thu, Jul 02, 2009 at 03:10:39PM +0200, TOPdesk Systeembeheer (beheer(a)TOPdesk.com)
wrote:
>> Hi everybody,
>>
>> Since an upgrade to our backend IMAPS server (Zarafa 6.20.7), we have some
trouble authenticating via our perdition IMAP4S proxy (version 1.17-7etch1). I've
enabled debug and connection logging, and I see that the LOGIN command is splitted in 3
lines instead of sending the whole command in one. Is that normal? Can I configure it
somewhere?
>
> Hi,
>
> Sorry for the delay, I have been away.
>
> its a while since I wrote that section of the code, so forgive me if I am a
> little lose with the terminology surrounding it. The IMAP specification
> allows for two different login formats. A simple one-line format. And a
> slightly more complex multi-line format. The advantage of the latter being
> that it can cope with any character in the username and password, as
> opposed to the simple format which, for instance, doesn't allow for spaces
> in the username.
>
> For this reason perdition always uses the more complex format when talking
> to real servers - it saves having to detect if the short format can be used
> or not. Unfortunately it seems that your IMAP daemon doesn't support this
> format (as indeed early versions of perdition did not).
>
> Are you in a position to modify the perdition code? If so, it would be
> good to see if changing to the short-format resolves your problem. The
> relevant code is in imap4_out_authenticate() in perdition/imap4_out.c
>
> If that works, I guess it would be good to provide an option to tell
> perdition to use the short format - and perhaps return and appropriate
> error if the username and login supplied can't use the short format.
>
> Alternatively, if my diagnosis is correct, it might be good
> to get this fixed in your IMAP daemon.
Hi Alexander,
Dear Simon,
today I crossed the exact same problem using perdition as a DMZ proxy in
front of a Zarafa gateway IMAP server.
Can you tell us to which RFC you are refering? In RFC3501 for IMAP
version 4rev1 I see just the "<prefix> login username password" syntax.
Especially 6.2.3. is about the LOGIN command.
I was referring to section 4.3 of RFC3501. I believe that
the user name and password arguments to the LOGIN command
(6.2.3) are considered Strings.
I am willing to make an RFE against Zarafa if I can
point to an RFC.
Though I think RFC3501 is still the standard and perdition lacks a
standard IMAP login method from that point of view.
It is certainly true that perdition is not completely RFC compliant.
And that is something that really ought to be fixed.
Perhaps a good solution to this would be to add the PLAIN authentication
mechanism to perdition. I wonder if that would resolve the problem at hand.