Subject: Re: bug#10904: 24.0.93; Infinite loop in GnuTLS code during Gnus nnimap-initiated SSL handshake

From: Ted Zlatanov <[email-masked]>
Date: Mon, 19 Mar 2012 09:54:57 -0400

On Sat, 03 Mar 2012 15:56:59 +0100 Lars Magne Ingebrigtsen <[email-masked]> wrote: 

LMI> Thomas Fitzsimmons <[email-masked]> writes:
LMI> The error seems to be this?

>> gnutls.c: [4] REC[0x90155c8]: Decrypted Packet[1] Handshake(22) with
>> length: 3404
>> 
>> gnutls.c: [3] HSK[0x90155c8]: CERTIFICATE was received. Length
>> 3400[3400], frag offset 0, frag length: 3400, sequence: 0
>> 
>> gnutls.c: [2] ASSERT:
>> /home/fitzsim/sources/gnutls-3.0.8/lib/gnutls_buffers.c:1037
>> 
>> gnutls.c: [1] Received unexpected handshake message 'CERTIFICATE'
>> (11). Expected 'SERVER HELLO' (2)
>> 
>> gnutls.c: [2] ASSERT:
>> /home/fitzsim/sources/gnutls-3.0.8/lib/gnutls_handshake.c:1226
>> 
>> gnutls.c: [2] ASSERT:
>> /home/fitzsim/sources/gnutls-3.0.8/lib/gnutls_handshake.c:2432
>> 
>> gnutls.c: [0] (Emacs) fatal error: An unexpected TLS handshake packet
>> was received.

LMI> That is, GnuTLS expects SERVER HELLO, but gets CERTIFICATE from the IMAP
LMI> server.

LMI> Does anybody know what this might mean?

(sorry for the late reply)

It seems like a buggy server or something in GnuTLS itself.  I have
never seen this problem before and the lockup is happening in the GnuTLS
internals, where Emacs doesn't play at all (we use the GnuTLS API in a
very straightforward way).

Thomas, can you open a connection to this server with the GnuTLS
command-line tools (gnutls-cli)?  That will reduce the problem to Emacs
vs. GnuTLS.

Thanks
Ted