Authentication over SSL
Julien ÉLIE
julien at trigofacile.com
Sun Sep 21 10:06:18 UTC 2008
Hi Russ,
>> * the require_ssl: parameter should also match an encrypted connection
>> after STARTTLS, and not only an initial encrypted connection;
>
> Yup, that sounds like a good fix.
Done.
I admit it is now very useful, especially for clients which
are using STARTTLS. It was not previously possible to use auth blocks
because even after STARTTLS, they were not reachable.
>> In such cases, when there is no auth parameter, should AUTHINFO
>> USER/PASS/SASL commands return 502? Or do we let the user try to
>> authenticate (and it will fail at the end)?
>
> You definitely want AUTHINFO USER to fail if you don't want the user to
> authenticate, since that prevents sending the password over an unencrypted
> connection. 502 is the correct error code.
Now:
AUTHINFO USER test
502 Authentication will fail
I have put another answer for the case the user is already authenticated:
AUTHINFO USER test
502 Already authenticated
And I have also implemented the following sequence:
LIST
480 Authentication required for command
AUTHINFO USER test
483 Encryption required
STARTTLS
382 Begin TLS negotiation now
AUTHINFO USER test
381 Enter password
I hope it is the right one to do.
Note that it happens only if require_ssl: is put for all available auth blocks,
as we agreed (AUTHINFO USER is still possible if there is an available auth
block without require_ssl:). The right behaviour is only done in CAPABILITIES.
--
Julien ÉLIE
« Redde Caesari quae sunt Caesaris, et quae sunt Dei Deo. »
(saint Matthieu)
More information about the inn-workers
mailing list