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

Unified Diff: chrome/browser/ui/webui/net_internals/net_internals_ui.cc

Issue 148183013: Use per-user nssdb in onc certificate importer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/net_internals/net_internals_ui.cc
diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
index 1058e076e060f205bd3f9aaabfedfb4b63a9c8d2..2bc1cb32315bb1657ebe81d72591c517d06723dc 100644
--- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
+++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -83,6 +83,7 @@
#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/net/onc_utils.h"
#include "chrome/browser/chromeos/system/syslogs_provider.h"
+#include "chrome/browser/net/nss_context.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/debug_daemon_client.h"
#include "chromeos/network/onc/onc_certificate_importer_impl.h"
@@ -389,6 +390,12 @@ class NetInternalsMessageHandler
void OnSetNetworkDebugMode(const base::ListValue* list);
void OnSetNetworkDebugModeCompleted(const std::string& subsystem,
bool succeeded);
+
+ // Does ONC import once the NSSCertDatabase which should be used for importing
pneubeck (no reviews) 2014/02/05 11:03:27 nit: missing commas? ..., which ... certificates,
tbarzic 2014/02/06 01:19:42 yeah, the comment does not make much sense in the
+ // certificates is fetched.
+ void ImportONCFileToNSSDB(const std::string& onc_blob,
+ const std::string& passcode,
+ net::NSSCertDatabase* nssdb);
#endif
private:
@@ -1503,18 +1510,14 @@ void NetInternalsMessageHandler::OnGetSystemLog(
syslogs_getter_->RequestSystemLog(list);
}
-void NetInternalsMessageHandler::OnImportONCFile(
- const base::ListValue* list) {
- std::string onc_blob;
- std::string passcode;
- if (list->GetSize() != 2 ||
- !list->GetString(0, &onc_blob) ||
- !list->GetString(1, &passcode)) {
- NOTREACHED();
- }
-
+void NetInternalsMessageHandler::ImportONCFileToNSSDB(
+ const std::string& onc_blob,
+ const std::string& passcode,
+ net::NSSCertDatabase* nssdb) {
std::string error;
- const chromeos::User* user = chromeos::UserManager::Get()->GetActiveUser();
+ chromeos::User* user = chromeos::UserManager::Get()->GetUserByProfile(
+ Profile::FromWebUI(web_ui()));
+
if (user) {
onc::ONCSource onc_source = onc::ONC_SOURCE_USER_IMPORT;
@@ -1531,21 +1534,41 @@ void NetInternalsMessageHandler::OnImportONCFile(
}
chromeos::onc::CertificateImporterImpl cert_importer;
- if (!cert_importer.ImportCertificates(certificates, onc_source, NULL))
+ if (!cert_importer.ImportCertificates(certificates,
+ onc_source,
+ nssdb,
+ NULL)) {
error += "Some certificates couldn't be imported. ";
+ }
std::string network_error;
chromeos::onc::ImportNetworksForUser(user, network_configs, &network_error);
if (!network_error.empty())
error += network_error;
} else {
- error = "No active user.";
+ error = "User not found.";
}
LOG_IF(ERROR, !error.empty()) << error;
SendJavascriptCommand("receivedONCFileParse", new base::StringValue(error));
}
+void NetInternalsMessageHandler::OnImportONCFile(
+ const base::ListValue* list) {
+ std::string onc_blob;
+ std::string passcode;
+ if (list->GetSize() != 2 ||
+ !list->GetString(0, &onc_blob) ||
+ !list->GetString(1, &passcode)) {
+ NOTREACHED();
+ }
+
+ GetNSSCertDatabaseForProfile(
+ Profile::FromWebUI(web_ui()),
+ base::Bind(&NetInternalsMessageHandler::ImportONCFileToNSSDB, AsWeakPtr(),
+ onc_blob, passcode));
+}
+
void NetInternalsMessageHandler::OnStoreDebugLogs(const base::ListValue* list) {
DCHECK(list);

Powered by Google App Engine
This is Rietveld 408576698