Index: net/third_party/nss/patches/handshakeshortwrite.patch |
=================================================================== |
--- net/third_party/nss/patches/handshakeshortwrite.patch (revision 0) |
+++ net/third_party/nss/patches/handshakeshortwrite.patch (revision 0) |
@@ -0,0 +1,54 @@ |
+Index: mozilla/security/nss/lib/ssl/sslsecur.c |
+=================================================================== |
+RCS file: /cvsroot/mozilla/security/nss/lib/ssl/sslsecur.c,v |
+retrieving revision 1.43.2.4 |
+diff -p -u -8 -r1.43.2.4 sslsecur.c |
+--- mozilla/security/nss/lib/ssl/sslsecur.c 8 Apr 2011 05:25:21 -0000 1.43.2.4 |
++++ mozilla/security/nss/lib/ssl/sslsecur.c 4 Aug 2011 23:33:46 -0000 |
+@@ -383,16 +383,28 @@ SSL_ForceHandshake(PRFileDesc *fd) |
+ SSL_GETPID(), fd)); |
+ return rv; |
+ } |
+ |
+ /* Don't waste my time */ |
+ if (!ss->opt.useSecurity) |
+ return SECSuccess; |
+ |
++ if (!ssl_SocketIsBlocking(ss)) { |
++ ssl_GetXmitBufLock(ss); |
++ if (ss->pendingBuf.len != 0) { |
++ rv = ssl_SendSavedWriteData(ss); |
++ if ((rv < 0) && (PORT_GetError() != PR_WOULD_BLOCK_ERROR)) { |
++ ssl_ReleaseXmitBufLock(ss); |
++ return SECFailure; |
++ } |
++ } |
++ ssl_ReleaseXmitBufLock(ss); |
++ } |
++ |
+ ssl_Get1stHandshakeLock(ss); |
+ |
+ if (ss->version >= SSL_LIBRARY_VERSION_3_0) { |
+ int gatherResult; |
+ |
+ ssl_GetRecvBufLock(ss); |
+ gatherResult = ssl3_GatherCompleteHandshake(ss, 0); |
+ ssl_ReleaseRecvBufLock(ss); |
+@@ -1132,17 +1144,16 @@ ssl_SecureRecv(sslSocket *ss, unsigned c |
+ if (!ssl_SocketIsBlocking(ss) && !ss->opt.fdx) { |
+ ssl_GetXmitBufLock(ss); |
+ if (ss->pendingBuf.len != 0) { |
+ rv = ssl_SendSavedWriteData(ss); |
+ if ((rv < 0) && (PORT_GetError() != PR_WOULD_BLOCK_ERROR)) { |
+ ssl_ReleaseXmitBufLock(ss); |
+ return SECFailure; |
+ } |
+- /* XXX short write? */ |
+ } |
+ ssl_ReleaseXmitBufLock(ss); |
+ } |
+ |
+ rv = 0; |
+ /* If any of these is non-zero, the initial handshake is not done. */ |
+ if (!ss->firstHsDone) { |
+ ssl_Get1stHandshakeLock(ss); |
Property changes on: net/third_party/nss/patches/handshakeshortwrite.patch |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |