summaryrefslogtreecommitdiffstats
path: root/crypto/nss_util.cc
diff options
context:
space:
mode:
authorgspencer@google.com <gspencer@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-08 19:46:42 +0000
committergspencer@google.com <gspencer@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-08 19:46:42 +0000
commitdd24ffcb6086d6ac46e46353007a80bf9f46831c (patch)
tree823464c487ef8bbbffbba3009a8ef579803a0c83 /crypto/nss_util.cc
parent36b70ae13ee2c7051b8ce9b531b2d72da7c1b3cb (diff)
downloadchromium_src-dd24ffcb6086d6ac46e46353007a80bf9f46831c.zip
chromium_src-dd24ffcb6086d6ac46e46353007a80bf9f46831c.tar.gz
chromium_src-dd24ffcb6086d6ac46e46353007a80bf9f46831c.tar.bz2
Search all slots when looking for a key in NSS
This should make it possible to run on a VM, and still find the private key created for the owner in the software slot. BUG=chromium-os:15817 TEST=Built an image and tried it on a VM and a device. Both showed restricted users list. Review URL: http://codereview.chromium.org/7066070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88380 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto/nss_util.cc')
-rw-r--r--crypto/nss_util.cc28
1 files changed, 10 insertions, 18 deletions
diff --git a/crypto/nss_util.cc b/crypto/nss_util.cc
index 9901e3a..e484abe 100644
--- a/crypto/nss_util.cc
+++ b/crypto/nss_util.cc
@@ -155,24 +155,6 @@ void UseLocalCacheOfNSSDatabaseIfNFS(const FilePath& database_dir) {
#endif // defined(OS_LINUX)
}
-// A helper class that acquires the SECMOD list read lock while the
-// AutoSECMODListReadLock is in scope.
-class AutoSECMODListReadLock {
- public:
- AutoSECMODListReadLock()
- : lock_(SECMOD_GetDefaultModuleListLock()) {
- SECMOD_GetReadLock(lock_);
- }
-
- ~AutoSECMODListReadLock() {
- SECMOD_ReleaseReadLock(lock_);
- }
-
- private:
- SECMODListLock* lock_;
- DISALLOW_COPY_AND_ASSIGN(AutoSECMODListReadLock);
-};
-
PK11SlotInfo* FindSlotWithTokenName(const std::string& token_name) {
AutoSECMODListReadLock auto_lock;
SECMODModuleList* head = SECMOD_GetDefaultModuleList();
@@ -670,6 +652,16 @@ AutoNSSWriteLock::~AutoNSSWriteLock() {
lock_->Release();
}
}
+
+AutoSECMODListReadLock::AutoSECMODListReadLock()
+ : lock_(SECMOD_GetDefaultModuleListLock()) {
+ SECMOD_GetReadLock(lock_);
+ }
+
+AutoSECMODListReadLock::~AutoSECMODListReadLock() {
+ SECMOD_ReleaseReadLock(lock_);
+}
+
#endif // defined(USE_NSS)
#if defined(OS_CHROMEOS)