summaryrefslogtreecommitdiffstats
path: root/net/third_party/nss
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-13 18:08:41 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-13 18:08:41 +0000
commit1a95abb685dfc97764fec49ff601bbcfeb5aa787 (patch)
treece74da2322da5be3d0e39d08d71e2c007d30303e /net/third_party/nss
parentf5e70dfb8ddeecd2ef116cbb039132a0dcb74aef (diff)
downloadchromium_src-1a95abb685dfc97764fec49ff601bbcfeb5aa787.zip
chromium_src-1a95abb685dfc97764fec49ff601bbcfeb5aa787.tar.gz
chromium_src-1a95abb685dfc97764fec49ff601bbcfeb5aa787.tar.bz2
net: add padding extension to all handshakes.
This, temporary, change adds the padding extension to all handshakes to check whether we encounter any servers with problems. BUG=315828 Review URL: https://codereview.chromium.org/62443004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234850 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/third_party/nss')
-rw-r--r--net/third_party/nss/README.chromium1
-rwxr-xr-xnet/third_party/nss/patches/applypatches.sh2
-rw-r--r--net/third_party/nss/patches/paddingextensionall.patch26
-rw-r--r--net/third_party/nss/ssl/ssl3ext.c8
4 files changed, 35 insertions, 2 deletions
diff --git a/net/third_party/nss/README.chromium b/net/third_party/nss/README.chromium
index 98f209f..ab2d0b03 100644
--- a/net/third_party/nss/README.chromium
+++ b/net/third_party/nss/README.chromium
@@ -143,6 +143,7 @@ Patches:
add an extension to make it 512 bytes. This works around a bug in F5
terminators.
patches/paddingextension.patch
+ patches/paddingextensionall.patch
Apply the patches to NSS by running the patches/applypatches.sh script. Read
the comments at the top of patches/applypatches.sh for instructions.
diff --git a/net/third_party/nss/patches/applypatches.sh b/net/third_party/nss/patches/applypatches.sh
index f19776e..5bdc670 100755
--- a/net/third_party/nss/patches/applypatches.sh
+++ b/net/third_party/nss/patches/applypatches.sh
@@ -67,3 +67,5 @@ patch -p4 < $patches_dir/canfalsestart.patch
patch -p4 < $patches_dir/nullcipher_934016.patch
patch -p4 < $patches_dir/paddingextension.patch
+
+patch -p4 < $patches_dir/paddingextensionall.patch
diff --git a/net/third_party/nss/patches/paddingextensionall.patch b/net/third_party/nss/patches/paddingextensionall.patch
new file mode 100644
index 0000000..f226aac
--- /dev/null
+++ b/net/third_party/nss/patches/paddingextensionall.patch
@@ -0,0 +1,26 @@
+diff --git a/nss/lib/ssl/ssl3ext.c b/nss/lib/ssl/ssl3ext.c
+index cdebcc9..03cf05c 100644
+--- a/nss/lib/ssl/ssl3ext.c
++++ b/nss/lib/ssl/ssl3ext.c
+@@ -2306,7 +2306,11 @@ ssl3_CalculatePaddingExtensionLength(unsigned int clientHelloLength)
+ clientHelloLength;
+ unsigned int extensionLength;
+
+- if (recordLength < 256 || recordLength >= 512) {
++ /* This condition should be:
++ * if (recordLength < 256 || recordLength >= 512) {
++ * It has been changed, temporarily, to test whether 512 byte ClientHellos
++ * are a compatibility problem. */
++ if (recordLength >= 512) {
+ return 0;
+ }
+
+@@ -2327,7 +2331,7 @@ ssl3_AppendPaddingExtension(sslSocket *ss, unsigned int extensionLen,
+ PRUint32 maxBytes)
+ {
+ unsigned int paddingLen = extensionLen - 4;
+- unsigned char padding[256];
++ unsigned char padding[512];
+
+ if (extensionLen == 0) {
+ return 0;
diff --git a/net/third_party/nss/ssl/ssl3ext.c b/net/third_party/nss/ssl/ssl3ext.c
index cdebcc9..03cf05c 100644
--- a/net/third_party/nss/ssl/ssl3ext.c
+++ b/net/third_party/nss/ssl/ssl3ext.c
@@ -2306,7 +2306,11 @@ ssl3_CalculatePaddingExtensionLength(unsigned int clientHelloLength)
clientHelloLength;
unsigned int extensionLength;
- if (recordLength < 256 || recordLength >= 512) {
+ /* This condition should be:
+ * if (recordLength < 256 || recordLength >= 512) {
+ * It has been changed, temporarily, to test whether 512 byte ClientHellos
+ * are a compatibility problem. */
+ if (recordLength >= 512) {
return 0;
}
@@ -2327,7 +2331,7 @@ ssl3_AppendPaddingExtension(sslSocket *ss, unsigned int extensionLen,
PRUint32 maxBytes)
{
unsigned int paddingLen = extensionLen - 4;
- unsigned char padding[256];
+ unsigned char padding[512];
if (extensionLen == 0) {
return 0;