2008-11-21 [colin] 3.6.1cvs39
authorColin Leroy <colin@colino.net>
Fri, 21 Nov 2008 17:31:38 +0000 (17:31 +0000)
committerColin Leroy <colin@colino.net>
Fri, 21 Nov 2008 17:31:38 +0000 (17:31 +0000)
* src/common/socket.c
Rehandshake if server asks to

ChangeLog
PATCHSETS
configure.ac
src/common/socket.c

index 3162584364a3fa16c82c076f3f14ef52e190fe44..8be3ec7fca6ebcfe154ccd91d9348df97921aa9d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-21 [colin]     3.6.1cvs39
+
+       * src/common/socket.c
+               Rehandshake if server asks to
+
 2008-11-21 [colin]     3.6.1cvs38
 
        * src/mimeview.h
index c5b371d2bff90cdff877481efa2310d33af0603c..249755a511c539983614e5094f83ba5700efbe3a 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.485 -r 1.382.2.486 src/compose.c;  cvs diff -u -r 1.75.2.61 -r 1.75.2.62 src/matcher.c;  cvs diff -u -r 1.94.2.191 -r 1.94.2.192 src/messageview.c;  cvs diff -u -r 1.83.2.147 -r 1.83.2.148 src/mimeview.c;  cvs diff -u -r 1.60.2.64 -r 1.60.2.65 src/prefs_actions.c;  cvs diff -u -r 1.1.4.57 -r 1.1.4.58 src/prefs_filtering_action.c;  cvs diff -u -r 1.150.2.109 -r 1.150.2.110 src/procmsg.c;  cvs diff -u -r 1.395.2.400 -r 1.395.2.401 src/summaryview.c;  cvs diff -u -r 1.96.2.210 -r 1.96.2.211 src/textview.c;  cvs diff -u -r 1.36.2.154 -r 1.36.2.155 src/common/utils.c;  ) > 3.6.1cvs36.patchset
 ( cvs diff -u -r 1.60.2.65 -r 1.60.2.66 src/prefs_actions.c;  ) > 3.6.1cvs37.patchset
 ( cvs diff -u -r 1.20.2.27 -r 1.20.2.28 src/mimeview.h;  cvs diff -u -r 1.19.2.29 -r 1.19.2.30 src/toolbar.h;  cvs diff -u -r 1.8.2.14 -r 1.8.2.15 src/common/session.h;  cvs diff -u -r 1.6.2.15 -r 1.6.2.16 src/common/smtp.h;  ) > 3.6.1cvs38.patchset
+( cvs diff -u -r 1.13.2.41 -r 1.13.2.42 src/common/socket.c;  ) > 3.6.1cvs39.patchset
index 52420faf09dad90af47e0abde211069c761b66d3..5cd2e5f8f326e031f96f1135c57d80779a62c0b2 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=6
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=38
+EXTRA_VERSION=39
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index ad1c86a5d352f3e72feed600687fe7370c267546..997ac4f1300cf3538a513eeabc5328a94c4e4603 100644 (file)
@@ -1385,11 +1385,15 @@ static gint ssl_read(gnutls_session ssl, gchar *buf, gint len)
                case 0: /* closed connection */
                        return -1;
 
+               case GNUTLS_E_REHANDSHAKE:
+                       do {
+                               r = gnutls_handshake(ssl);
+                       } while (r == GNUTLS_E_AGAIN || r == GNUTLS_E_INTERRUPTED);
+                       break; /* re-receive */
                case GNUTLS_E_AGAIN:
                case GNUTLS_E_INTERRUPTED:
                        errno = EAGAIN;
                        return -1;
-               break;
 
                default:
                        return -1;