[Pidgin] #3456: TLS handshake error(unexpected length packet) when recieving MSN contact list
Pidgin
trac at pidgin.im
Wed Feb 4 13:36:50 EST 2009
#3456: TLS handshake error(unexpected length packet) when recieving MSN contact
list
--------------------------------------+-------------------------------------
Reporter: bsdunx | Owner: khc
Type: defect | Status: new
Milestone: | Component: MSN
Version: 2.2.1 | Resolution:
Keywords: gnutls tls handshake msn | Launchpad_bug:
--------------------------------------+-------------------------------------
Comment(by gagern):
Replying to [comment:16 khc]:
> I think we should let gnutls developers know about this, because this
quite possibly is a legitimate gnutls bug. nss seems to work fine as far
as I know, and distros tend to ship with compiled packages that use nss. I
wouldn't mind to have msn require nss and/or some gnutls version that
actually works.
From what wiresharking a firefox connection tells me, nss only uses TLS
1.0 and doesn't even try TLS 1.1. The
[http://www.mozilla.org/projects/security/pki/nss/overview.html NSS
overview] doesn't even mention the TLS 1.1
[http://tools.ietf.org/html/rfc4346 RFC 4346], nor the TLS 1.2
[http://tools.ietf.org/html/rfc5246 RFC 5246].
Using TLS in preference to TLS 1.0 is not a bug, as
[http://tools.ietf.org/html/rfc4346#section-1.1 RFC 4346 section 1.1]
mentions several security relevant improvements from TLS 1.0 to TLS 1.1.
Always sending version 1.1 in the client hello is not a bug, as
[http://tools.ietf.org/html/rfc2246#section-7.4.1.2 RFC 2246 section
7.4.1.2] states that the client should indicate the highest protocol
version it can handle. It is up to the server to give a lower protocol
version in its reply hello, which will then be used for the communication.
The server closing the connection instead is simply a bug there.
If you want to have the nss behaviour, you can simply choose to
indiscrimately disable TLS 1.1 and higher for each and every connection
established with gnutls. A simple call to
[http://www.gnu.org/software/gnutls/reference/gnutls-gnutls.html#gnutls-
protocol-set-priority gnutls_protocol_set_priority] in ssl_gnutls_connect
would do the trick. The danger is that this configuration option would be
likely to stay in place unrevised for a really long time, making pidgin
use outdated and insecure protocols for all connections far into the
future, just because some MSN server right now is buggy.
So if you can think of a way to actually enforce revisiting this bug here
say every year or so, and to check whether the restriction to TLS <1.1 is
still required, then this might be a viable workaround for now. If not,
I'm not a pidgin developer so I can't forbid this approach, but I would
vote against it.
On the whole, I see no gnutls bug here at all. You might wish to have
workarounds for buggs TLS servers as a feature, but I'm not sure if gnutls
would be the place for this, especially as you can't transparently
implement this client-side fallback in the current API, since you need to
re-establish the connection over a new TCP socket.
--
Ticket URL: <http://developer.pidgin.im/ticket/3456#comment:17>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list