зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1182959 (part 3) - Use nsTHashtable::Iterator in CertBlockList. r=honzab.
--HG-- extra : rebase_source : 4df2d9845e7a04c11bc6076ea7844fba7b5ca3a9
This commit is contained in:
Родитель
e0bd2455c1
Коммит
6ceff73a0f
|
@ -398,37 +398,6 @@ WriteLine(nsIOutputStream* outputStream, const nsACString& string)
|
|||
return rv;
|
||||
}
|
||||
|
||||
// Write issuer data to the output stream
|
||||
PLDHashOperator
|
||||
WriteIssuer(nsCStringHashKey* aHashKey, void* aUserArg)
|
||||
{
|
||||
BlocklistSaveInfo* saveInfo = reinterpret_cast<BlocklistSaveInfo*>(aUserArg);
|
||||
nsAutoPtr<BlocklistStringSet> issuerSet;
|
||||
|
||||
saveInfo->issuerTable.RemoveAndForget(aHashKey->GetKey(), issuerSet);
|
||||
|
||||
nsresult rv = WriteLine(saveInfo->outputStream, aHashKey->GetKey());
|
||||
if (NS_FAILED(rv)) {
|
||||
return PL_DHASH_STOP;
|
||||
}
|
||||
|
||||
// Write serial data to the output stream
|
||||
for (auto iter = issuerSet->Iter(); !iter.Done(); iter.Next()) {
|
||||
nsresult rv = WriteLine(saveInfo->outputStream,
|
||||
NS_LITERAL_CSTRING(" ") + iter.Get()->GetKey());
|
||||
if (NS_FAILED(rv)) {
|
||||
saveInfo->success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!saveInfo->success) {
|
||||
saveInfo->success = false;
|
||||
return PL_DHASH_STOP;
|
||||
}
|
||||
return PL_DHASH_NEXT;
|
||||
}
|
||||
|
||||
// void saveEntries();
|
||||
// Store the blockist in a text file containing base64 encoded issuers and
|
||||
// serial numbers.
|
||||
|
@ -512,7 +481,32 @@ CertBlocklist::SaveEntries()
|
|||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
saveInfo.issuers.EnumerateEntries(WriteIssuer, &saveInfo);
|
||||
for (auto iter = saveInfo.issuers.Iter(); !iter.Done(); iter.Next()) {
|
||||
nsCStringHashKey* hashKey = iter.Get();
|
||||
nsAutoPtr<BlocklistStringSet> issuerSet;
|
||||
saveInfo.issuerTable.RemoveAndForget(hashKey->GetKey(), issuerSet);
|
||||
|
||||
nsresult rv = WriteLine(saveInfo.outputStream, hashKey->GetKey());
|
||||
if (NS_FAILED(rv)) {
|
||||
break;
|
||||
}
|
||||
|
||||
// Write serial data to the output stream
|
||||
for (auto iter = issuerSet->Iter(); !iter.Done(); iter.Next()) {
|
||||
nsresult rv = WriteLine(saveInfo.outputStream,
|
||||
NS_LITERAL_CSTRING(" ") + iter.Get()->GetKey());
|
||||
if (NS_FAILED(rv)) {
|
||||
saveInfo.success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!saveInfo.success) {
|
||||
saveInfo.success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!saveInfo.success) {
|
||||
MOZ_LOG(gCertBlockPRLog, LogLevel::Warning,
|
||||
("CertBlocklist::SaveEntries writing revocation data failed"));
|
||||
|
|
Загрузка…
Ссылка в новой задаче