diff options
author | rsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-30 23:46:25 +0000 |
---|---|---|
committer | rsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-30 23:46:25 +0000 |
commit | 5ff39fc742bc403e560c13dffc8622672a7d7885 (patch) | |
tree | 0aee836d6938f8a9b0b59cd24ec1e9681e600a8e /net/third_party | |
parent | 33a7c628551d0c10e2e184651a15ed02d39bbac9 (diff) | |
download | chromium_src-5ff39fc742bc403e560c13dffc8622672a7d7885.zip chromium_src-5ff39fc742bc403e560c13dffc8622672a7d7885.tar.gz chromium_src-5ff39fc742bc403e560c13dffc8622672a7d7885.tar.bz2 |
Hack for Mac 10.9 hang when the Keychain is modified with Chrome running.
BUG=326011
R=rsleevi@chromium.org
TEST=On 10.9, open Chrome and Keychain Access. Install a certificate in Keychain. Chrome does not hang.
Review URL: https://codereview.chromium.org/106423010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242742 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/third_party')
-rw-r--r-- | net/third_party/nss/README.chromium | 5 | ||||
-rwxr-xr-x | net/third_party/nss/patches/applypatches.sh | 2 | ||||
-rw-r--r-- | net/third_party/nss/patches/sslnoncestatics.patch | 15 | ||||
-rw-r--r-- | net/third_party/nss/ssl/sslnonce.c | 4 |
4 files changed, 24 insertions, 2 deletions
diff --git a/net/third_party/nss/README.chromium b/net/third_party/nss/README.chromium index d4f9386..8c4e008 100644 --- a/net/third_party/nss/README.chromium +++ b/net/third_party/nss/README.chromium @@ -168,6 +168,11 @@ Patches: asynchronous certificate verification. patches/sessioncache.patch + * Remove static storage qualifier from variables in sslnonce.c. Due to + a clang codegen bug on Mac, this caused an infinite loop. + https://code.google.com/p/chromium/issues/detail?id=326011 + patches/sslnoncestatics.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 c07f6e5..89d97bc 100755 --- a/net/third_party/nss/patches/applypatches.sh +++ b/net/third_party/nss/patches/applypatches.sh @@ -83,3 +83,5 @@ patch -p4 < $patches_dir/fallbackscsv.patch patch -p4 < $patches_dir/disableticketrenewal.patch patch -p4 < $patches_dir/sessioncache.patch + +patch -p4 < $patches_dir/sslnoncestatics.patch diff --git a/net/third_party/nss/patches/sslnoncestatics.patch b/net/third_party/nss/patches/sslnoncestatics.patch new file mode 100644 index 0000000..336fe1d5 --- /dev/null +++ b/net/third_party/nss/patches/sslnoncestatics.patch @@ -0,0 +1,15 @@ +diff --git a/net/third_party/nss/ssl/sslnonce.c b/net/third_party/nss/ssl/sslnonce.c +index 758aa4e..a3e6e0a 100644 +--- a/net/third_party/nss/ssl/sslnonce.c ++++ b/net/third_party/nss/ssl/sslnonce.c +@@ -21,8 +21,8 @@ + PRUint32 ssl_sid_timeout = 100; + PRUint32 ssl3_sid_timeout = 86400L; /* 24 hours */ + +-static sslSessionID *cache = NULL; +-static PZLock * cacheLock = NULL; ++sslSessionID *cache = NULL; ++PZLock * cacheLock = NULL; + + /* sids can be in one of 4 states: + * diff --git a/net/third_party/nss/ssl/sslnonce.c b/net/third_party/nss/ssl/sslnonce.c index 758aa4e..a3e6e0a 100644 --- a/net/third_party/nss/ssl/sslnonce.c +++ b/net/third_party/nss/ssl/sslnonce.c @@ -21,8 +21,8 @@ PRUint32 ssl_sid_timeout = 100; PRUint32 ssl3_sid_timeout = 86400L; /* 24 hours */ -static sslSessionID *cache = NULL; -static PZLock * cacheLock = NULL; +sslSessionID *cache = NULL; +PZLock * cacheLock = NULL; /* sids can be in one of 4 states: * |