Index: net/third_party/nss/patches/cbcrandomiv.patch |
diff --git a/net/third_party/nss/patches/cbcrandomiv.patch b/net/third_party/nss/patches/cbcrandomiv.patch |
deleted file mode 100644 |
index 1edc04a19b76a821da2040366b3bbbaf9a74661b..0000000000000000000000000000000000000000 |
--- a/net/third_party/nss/patches/cbcrandomiv.patch |
+++ /dev/null |
@@ -1,73 +0,0 @@ |
-commit 95cc0cf361c92681803e7ee5d4afe5e40673a4b8 |
-Author: Adam Langley <agl@chromium.org> |
-Date: Wed Jun 22 13:36:50 2011 -0400 |
- |
- cbcrandomiv.patch |
- |
-diff --git a/mozilla/security/nss/lib/ssl/ssl3con.c b/mozilla/security/nss/lib/ssl/ssl3con.c |
-index f7064ef..c39b8f8 100644 |
---- a/mozilla/security/nss/lib/ssl/ssl3con.c |
-+++ b/mozilla/security/nss/lib/ssl/ssl3con.c |
-@@ -2229,7 +2229,7 @@ ssl3_SendRecord( sslSocket * ss, |
- return SECFailure; |
- } |
- |
-- while (nIn > 0) { |
-+ do { |
- PRUint32 contentLen = PR_MIN(nIn, MAX_FRAGMENT_LENGTH); |
- |
- if (wrBuf->space < contentLen + SSL3_BUFFER_FUDGE) { |
-@@ -2306,7 +2306,7 @@ ssl3_SendRecord( sslSocket * ss, |
- } |
- } |
- totalSent += contentLen; |
-- } |
-+ } while (nIn > 0); |
- return totalSent; |
- } |
- |
-@@ -2321,6 +2321,7 @@ ssl3_SendApplicationData(sslSocket *ss, const unsigned char *in, |
- { |
- PRInt32 totalSent = 0; |
- PRInt32 discarded = 0; |
-+ PRBool isBlockCipher; |
- |
- PORT_Assert( ss->opt.noLocks || ssl_HaveXmitBufLock(ss) ); |
- if (len < 0 || !in) { |
-@@ -2345,6 +2346,28 @@ ssl3_SendApplicationData(sslSocket *ss, const unsigned char *in, |
- len--; |
- discarded = 1; |
- } |
-+ |
-+ ssl_GetSpecReadLock(ss); |
-+ isBlockCipher = ss->ssl3.cwSpec->cipher_def->type == type_block; |
-+ ssl_ReleaseSpecReadLock(ss); |
-+ |
-+ if (isBlockCipher && len > 0) { |
-+ // We assume that block ciphers are used in CBC mode and prepend an |
-+ // empty record. This effectively randomizes the IV in a backwards |
-+ // compatible way. |
-+ PRInt32 sent = ssl3_SendRecord(ss, content_application_data, |
-+ in, 0 /* no payload */, flags); |
-+ if (sent < 0) { |
-+ return SECFailure; /* error code set by ssl3_SendRecord */ |
-+ } |
-+ if (ss->pendingBuf.len) { |
-+ /* must be a non-blocking socket */ |
-+ PORT_Assert(!ssl_SocketIsBlocking(ss)); |
-+ PORT_Assert(ss->lastWriteBlocked); |
-+ return SECFailure; |
-+ } |
-+ } |
-+ |
- while (len > totalSent) { |
- PRInt32 sent, toSend; |
- |
-@@ -2377,6 +2400,7 @@ ssl3_SendApplicationData(sslSocket *ss, const unsigned char *in, |
- break; |
- } |
- } |
-+ |
- if (ss->pendingBuf.len) { |
- /* Must be non-blocking. */ |
- PORT_Assert(!ssl_SocketIsBlocking(ss)); |