libsoup r1263 - in trunk: . libsoup



Author: danw
Date: Fri Apr  3 14:31:44 2009
New Revision: 1263
URL: http://svn.gnome.org/viewvc/libsoup?rev=1263&view=rev

Log:
	Bug 577386 â Fails to handle HTTPS redirect from a certain site.

	* libsoup/soup-gnutls.c (soup_gnutls_read): Treat abnormal
	EOFs as though they were normal, rather than as errors. Shrug.

	Reported by Diego Escalante Urrelo.


Modified:
   trunk/ChangeLog
   trunk/libsoup/soup-gnutls.c

Modified: trunk/libsoup/soup-gnutls.c
==============================================================================
--- trunk/libsoup/soup-gnutls.c	(original)
+++ trunk/libsoup/soup-gnutls.c	Fri Apr  3 14:31:44 2009
@@ -206,6 +206,19 @@
 			goto again;
 	}
 
+	if (result == GNUTLS_E_UNEXPECTED_PACKET_LENGTH) {
+		/* This means the connection was either corrupted or
+		 * interrupted. One particular thing that it can mean
+		 * is that the remote end closed the connection
+		 * abruptly without doing a proper TLS Close. There
+		 * are security reasons why it's bad to treat this as
+		 * not-an-error, but for compatibility reasons (eg,
+		 * bug 577386) we kinda have to. And it's not like
+		 * we're very secure anyway.
+		 */
+		return G_IO_STATUS_EOF;
+	}
+
 	if (result < 0) {
 		g_set_error (err, G_IO_CHANNEL_ERROR,
 			     G_IO_CHANNEL_ERROR_FAILED,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]