Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: chrome/utility/importer/nss_decryptor_win.cc

Issue 23799008: Fix import Firefox passwords on Windows (silent failure); plds4.dll and nspr4.dll no longer exist (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/utility/importer/nss_decryptor_win.h" 5 #include "chrome/utility/importer/nss_decryptor_win.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/strings/sys_string_conversions.h" 8 #include "base/strings/sys_string_conversions.h"
9 9
10 namespace { 10 namespace {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 softokn3_dll_ = LoadLibraryEx(path.value().c_str(), NULL, 80 softokn3_dll_ = LoadLibraryEx(path.value().c_str(), NULL,
81 LOAD_WITH_ALTERED_SEARCH_PATH); 81 LOAD_WITH_ALTERED_SEARCH_PATH);
82 if (softokn3_dll_ == NULL) { 82 if (softokn3_dll_ == NULL) {
83 Free(); 83 Free();
84 return false; 84 return false;
85 } 85 }
86 } 86 }
87 HMODULE plds4_dll = GetModuleHandle(kPLDS4Library); 87 HMODULE plds4_dll = GetModuleHandle(kPLDS4Library);
88 HMODULE nspr4_dll = GetModuleHandle(kNSPR4Library); 88 HMODULE nspr4_dll = GetModuleHandle(kNSPR4Library);
89 89
90 // On Firefox 22 and higher, NSPR is part of nss3.dll rather than separate
91 // DLLs.
wtc 2013/09/18 18:29:05 For future reference: In Firefox 22, the NSPR and
92 if (plds4_dll == NULL) {
93 plds4_dll = nss3_dll_;
94 nspr4_dll = nss3_dll_;
95 }
90 return InitNSS(db_path, plds4_dll, nspr4_dll); 96 return InitNSS(db_path, plds4_dll, nspr4_dll);
91 } 97 }
92 98
93 NSSDecryptor::NSSDecryptor() 99 NSSDecryptor::NSSDecryptor()
94 : NSS_Init(NULL), NSS_Shutdown(NULL), PK11_GetInternalKeySlot(NULL), 100 : NSS_Init(NULL), NSS_Shutdown(NULL), PK11_GetInternalKeySlot(NULL),
95 PK11_CheckUserPassword(NULL), PK11_FreeSlot(NULL), 101 PK11_CheckUserPassword(NULL), PK11_FreeSlot(NULL),
96 PK11_Authenticate(NULL), PK11SDR_Decrypt(NULL), SECITEM_FreeItem(NULL), 102 PK11_Authenticate(NULL), PK11SDR_Decrypt(NULL), SECITEM_FreeItem(NULL),
97 PL_ArenaFinish(NULL), PR_Cleanup(NULL), 103 PL_ArenaFinish(NULL), PR_Cleanup(NULL),
98 nss3_dll_(NULL), softokn3_dll_(NULL), 104 nss3_dll_(NULL), softokn3_dll_(NULL),
99 is_nss_initialized_(false) { 105 is_nss_initialized_(false) {
100 } 106 }
101 107
102 NSSDecryptor::~NSSDecryptor() { 108 NSSDecryptor::~NSSDecryptor() {
103 Free(); 109 Free();
104 } 110 }
105 111
106 bool NSSDecryptor::InitNSS(const base::FilePath& db_path, 112 bool NSSDecryptor::InitNSS(const base::FilePath& db_path,
107 base::NativeLibrary plds4_dll, 113 base::NativeLibrary plds4_dll,
108 base::NativeLibrary nspr4_dll) { 114 base::NativeLibrary nspr4_dll) {
109 // NSPR DLLs are already loaded now.
110 if (plds4_dll == NULL || nspr4_dll == NULL) {
111 Free();
112 return false;
113 }
Ilya Sherman 2013/09/17 06:14:36 nit: Are you sure that this code is no longer nece
wtc 2013/09/18 00:03:47 Yes. This function (InitNSS) is only called on lin
114
115 // Gets the function address. 115 // Gets the function address.
116 NSS_Init = (NSSInitFunc) 116 NSS_Init = (NSSInitFunc)
117 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, "NSS_Init"); 117 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, "NSS_Init");
118 NSS_Shutdown = (NSSShutdownFunc) 118 NSS_Shutdown = (NSSShutdownFunc)
119 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, "NSS_Shutdown"); 119 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, "NSS_Shutdown");
120 PK11_GetInternalKeySlot = (PK11GetInternalKeySlotFunc) 120 PK11_GetInternalKeySlot = (PK11GetInternalKeySlotFunc)
121 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, 121 base::GetFunctionPointerFromNativeLibrary(nss3_dll_,
122 "PK11_GetInternalKeySlot"); 122 "PK11_GetInternalKeySlot");
123 PK11_FreeSlot = (PK11FreeSlotFunc) 123 PK11_FreeSlot = (PK11FreeSlotFunc)
124 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, "PK11_FreeSlot"); 124 base::GetFunctionPointerFromNativeLibrary(nss3_dll_, "PK11_FreeSlot");
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 PK11_GetInternalKeySlot = NULL; 168 PK11_GetInternalKeySlot = NULL;
169 PK11_FreeSlot = NULL; 169 PK11_FreeSlot = NULL;
170 PK11_Authenticate = NULL; 170 PK11_Authenticate = NULL;
171 PK11SDR_Decrypt = NULL; 171 PK11SDR_Decrypt = NULL;
172 SECITEM_FreeItem = NULL; 172 SECITEM_FreeItem = NULL;
173 PL_ArenaFinish = NULL; 173 PL_ArenaFinish = NULL;
174 PR_Cleanup = NULL; 174 PR_Cleanup = NULL;
175 nss3_dll_ = NULL; 175 nss3_dll_ = NULL;
176 softokn3_dll_ = NULL; 176 softokn3_dll_ = NULL;
177 } 177 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698