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

Unified Diff: net/cert/multi_log_ct_verifier.cc

Issue 1100003006: Certificate Transparency: Fetching of Signed Tree Heads (DRAFT) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revised design, addressed some comments Created 5 years, 6 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: net/cert/multi_log_ct_verifier.cc
diff --git a/net/cert/multi_log_ct_verifier.cc b/net/cert/multi_log_ct_verifier.cc
index 2a654ab9815e207f747473b87ec61c52617f61c8..6e290396b9affd934484d90ed93b2e8fb1f9b3fc 100644
--- a/net/cert/multi_log_ct_verifier.cc
+++ b/net/cert/multi_log_ct_verifier.cc
@@ -60,26 +60,17 @@ MultiLogCTVerifier::MultiLogCTVerifier() { }
MultiLogCTVerifier::~MultiLogCTVerifier() { }
-void MultiLogCTVerifier::AddLog(scoped_ptr<CTLogVerifier> log_verifier) {
- DCHECK(log_verifier);
- if (!log_verifier)
- return;
-
- linked_ptr<CTLogVerifier> log(log_verifier.release());
- logs_[log->key_id()] = log;
-}
-
void MultiLogCTVerifier::AddLogs(
- ScopedVector<CTLogVerifier> log_verifiers) {
- for (ScopedVector<CTLogVerifier>::iterator it =
- log_verifiers.begin(); it != log_verifiers.end(); ++it) {
+ const std::vector<linked_ptr<CTLogVerifier>>& log_verifiers) {
+ for (auto it = log_verifiers.begin(); it != log_verifiers.end(); ++it) {
linked_ptr<CTLogVerifier> log(*it);
VLOG(1) << "Adding CT log: " << log->description();
logs_[log->key_id()] = log;
}
+}
- // Ownership of the pointers in |log_verifiers| is transferred to |logs_|
- log_verifiers.weak_clear();
+void MultiLogCTVerifier::SetObserver(Observer* observer) {
+ observer_ = observer;
}
int MultiLogCTVerifier::Verify(
@@ -231,7 +222,14 @@ bool MultiLogCTVerifier::VerifySingleSCT(
LogSCTStatusToUMA(ct::SCT_STATUS_OK);
result->verified_scts.push_back(sct);
+ if (observer_)
+ observer_->OnSCTVerified(sct.get(), it->second.get());
return true;
}
+void MultiLogCTVerifier::StopNotifications() {
+ DVLOG(1) << "Stopping notifications.";
+ observer_ = nullptr;
+}
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698