GNOME Bugzilla – Bug 694812
GNUTLS_E_PREMATURE_TERMINATION doesn't trigger G_TLS_ERROR_NOT_TLS
Last modified: 2013-03-05 16:35:02 UTC
A GNUTLS_E_PREMATURE_TERMINATION during TLS handshake doesn't result in a G_TLS_ERROR_NOT_TLS being returned. (Results in libsoup not retrying to connect) Test URL: https://accounts.craigslist.org Basic fix: diff --git a/tls/gnutls/gtlsconnection-gnutls.c b/tls/gnutls/gtlsconnection-gnutls.c index ccdb59c..a811de7 100644 --- a/tls/gnutls/gtlsconnection-gnutls.c +++ b/tls/gnutls/gtlsconnection-gnutls.c @@ -694,6 +694,9 @@ end_gnutls_io (GTlsConnectionGnutls *gnutls, status == GNUTLS_E_UNEXPECTED_PACKET_LENGTH || status == GNUTLS_E_FATAL_ALERT_RECEIVED || status == GNUTLS_E_DECRYPTION_FAILED || +#ifdef GNUTLS_E_PREMATURE_TERMINATION + status == GNUTLS_E_PREMATURE_TERMINATION || +#endif status == GNUTLS_E_UNSUPPORTED_VERSION_PACKET) { g_clear_error (&my_error);
*** Bug 695062 has been marked as a duplicate of this bug. ***
fixed in git. I didn't notice this patch, and did it slightly differently (based on the other bug report).
Works, thanks!