Re: [Exim] tls certificate verification

Pàgina inicial
Delete this message
Reply to this message
Autor: Matt Bernstein
Data:  
A: exim-users
Assumpte: Re: [Exim] tls certificate verification
At 10:21 +0100 Philip Hazel wrote:

>On Tue, 10 Sep 2002, Matt Bernstein wrote:
>
>> This could be a job for AUTH EXTERNAL (see my post from Aug 17), but I
>> haven't the time to code it, it didn't make to the wish list, and I'm sure
>> Philip has plenty of other things to worry about just now.
>
>Didn't I come to the conclusion that you could configure the plaintext
>authenticator to support AUTH EXTERNAL? Ah yes, I wrote:
>
>"My guess (though I haven't worked it through) is that you could
>configure Exim's plaintext authenticator to do this for you. It can
>handle any number of data items (in this case 1), and it can test for
>whether the session is encrypted or not."


Sorry for being so dense, but I don't see how this would work as a client.
[ time passes.. ]

Would you have to say client_send = : or maybe client_send = ^ ?
Maybe it's "client_send = : :" (This means send nothing with the AUTH
EXTERNAL, then nothing to the 334 prompt.)

OK.. give that a whirl.. [ more time passes.. ]

Ahhh.. I've just found a bug in Exim (but it's not in the AUTH code). If
Exim does a STARTTLS in an LMTP conversation, it negotiates OK (haven't
yet checked the cert bit, but I'm sure it's OK), but then says EHLO
instead of LHLO. [ a little more time.. ] Obvious fix:

--- smtp.c~     Mon Jul 22 09:59:51 2002
+++ smtp.c      Tue Sep 10 13:16:45 2002
@@ -893,7 +893,8 @@


 if (tls_active >= 0)
   {
-  if (!smtp_write_command(&outblock, FALSE, "EHLO %s\r\n", helo_data))
+  if (!smtp_write_command(&outblock, FALSE, "%s %s\r\n", lmtp? "LHLO" : "EHLO",
+        helo_data))
     goto SEND_FAILED;
   if (!smtp_read_response(&inblock, buffer, sizeof(buffer), '2',
        ob->command_timeout))


..and now I discover that Cyrus won't offer AUTH EXTERNAL after we've done
STARTTLS. Still, at least I've fixed a bug.. is that penance enough?

Matt