b=129067 Backing out unreliable patch.
See bugzilla for details. Better patch will be checked in a minute. git-svn-id: svn://10.0.0.236/trunk@121599 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
cfaa81bf8d
commit
6057d8ceae
@ -80,6 +80,7 @@ function LoadCerts()
|
||||
enableBackupAllButton.setAttribute("enabled",true);
|
||||
}
|
||||
|
||||
|
||||
var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
|
||||
var verifiedColText;
|
||||
if (certdb.ocspOn) {
|
||||
@ -99,14 +100,6 @@ function ReloadCerts()
|
||||
userTreeView.loadCerts(nsIX509Cert.USER_CERT);
|
||||
}
|
||||
|
||||
function CleanUp()
|
||||
{
|
||||
caTreeView = null;
|
||||
serverTreeView = null;
|
||||
emailTreeView = null;
|
||||
userTreeView = null;
|
||||
}
|
||||
|
||||
function getSelectedTab()
|
||||
{
|
||||
var selTab = document.getElementById('certMgrTabbox').selectedItem;
|
||||
@ -271,7 +264,6 @@ function backupCerts()
|
||||
certdb.exportPKCS12File(null, fp.file,
|
||||
selected_certs.length, selected_certs);
|
||||
}
|
||||
selected_certs = [];
|
||||
}
|
||||
|
||||
function backupAllCerts()
|
||||
@ -297,7 +289,6 @@ function editCerts()
|
||||
'chrome,width=100,resizable=1,modal');
|
||||
}
|
||||
}
|
||||
selected_certs = [];
|
||||
}
|
||||
|
||||
function restoreCerts()
|
||||
@ -347,7 +338,6 @@ function deleteCerts()
|
||||
}
|
||||
else
|
||||
{
|
||||
selected_certs = [];
|
||||
return;
|
||||
}
|
||||
|
||||
@ -356,10 +346,7 @@ function deleteCerts()
|
||||
{
|
||||
var cert = selected_certs[t];
|
||||
params.SetString(t+1, cert.dbKey);
|
||||
cert = null;
|
||||
}
|
||||
|
||||
selected_certs = [];
|
||||
|
||||
window.openDialog('chrome://pippki/content/deletecert.xul', "",
|
||||
'chrome,resizable=1,modal',params);
|
||||
@ -374,7 +361,6 @@ function viewCerts()
|
||||
for (var t=0; t<numcerts; t++) {
|
||||
selected_certs[t].view();
|
||||
}
|
||||
selected_certs = [];
|
||||
}
|
||||
|
||||
/* XXX future - import a DER cert from a file? */
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
<window id="certmanager"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&certmgr.title;"
|
||||
onload="LoadCerts();" onclose="CleanUp();">
|
||||
onload="LoadCerts();">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://help/content/contextHelp.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
|
||||
|
||||
@ -94,8 +94,6 @@ function setWindowName()
|
||||
var text;
|
||||
for(x=0;x<certs.length;x++)
|
||||
{
|
||||
if (!certs[x])
|
||||
continue;
|
||||
text = document.createElement("text");
|
||||
text.setAttribute("value",certs[x].commonName);
|
||||
box.appendChild(text);
|
||||
@ -109,10 +107,7 @@ function doOK()
|
||||
{
|
||||
for(var i=0;i<certs.length;i++)
|
||||
{
|
||||
if (certs[i]) {
|
||||
certdb.deleteCertificate(certs[i]);
|
||||
certs[i] = null;
|
||||
}
|
||||
certdb.deleteCertificate(certs[i]);
|
||||
}
|
||||
window.close();
|
||||
}
|
||||
|
||||
@ -78,17 +78,12 @@ nsCertTree::FreeCertArray()
|
||||
if (mCertArray) {
|
||||
PRUint32 count;
|
||||
nsresult rv = mCertArray->Count(&count);
|
||||
if (NS_FAILED(rv))
|
||||
{
|
||||
NS_ASSERTION(0, "Count failed");
|
||||
return;
|
||||
}
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "Count failed");
|
||||
PRInt32 i;
|
||||
for (i = count - 1; i >= 0; i--)
|
||||
{
|
||||
mCertArray->RemoveElementAt(i);
|
||||
}
|
||||
}
|
||||
mCertArray = nsnull;
|
||||
}
|
||||
|
||||
// CmpByToken
|
||||
@ -298,7 +293,7 @@ nsCertTree::LoadCerts(PRUint32 aType)
|
||||
if (rowsChanged) {
|
||||
PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("[%d,%d]", mNumRows, numChanged));
|
||||
numChanged = mNumRows - numChanged;
|
||||
if (mTree) mTree->RowCountChanged(0, mNumRows);
|
||||
if (mTree) mTree->RowCountChanged(0, numChanged);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -2889,57 +2889,6 @@ nsNSSCertificateDB::GetCertsByType(PRUint32 aType,
|
||||
!CERT_LIST_END(node, certList);
|
||||
node = CERT_LIST_NEXT(node)) {
|
||||
if (getCertType(node->cert) == aType) {
|
||||
|
||||
// Work around bug 138626.
|
||||
|
||||
PRBool deleted = PR_FALSE;
|
||||
|
||||
{
|
||||
SECItem key;
|
||||
key.len = NS_NSS_LONG*4+node->cert->serialNumber.len+node->cert->derIssuer.len;
|
||||
key.data = (unsigned char *)nsMemory::Alloc(key.len);
|
||||
NS_NSS_PUT_LONG(0,key.data); // later put moduleID
|
||||
NS_NSS_PUT_LONG(0,&key.data[NS_NSS_LONG]); // later put slotID
|
||||
NS_NSS_PUT_LONG(node->cert->serialNumber.len,&key.data[NS_NSS_LONG*2]);
|
||||
NS_NSS_PUT_LONG(node->cert->derIssuer.len,&key.data[NS_NSS_LONG*3]);
|
||||
memcpy(&key.data[NS_NSS_LONG*4],node->cert->serialNumber.data,
|
||||
node->cert->serialNumber.len);
|
||||
memcpy(&key.data[NS_NSS_LONG*4+node->cert->serialNumber.len],
|
||||
node->cert->derIssuer.data, node->cert->derIssuer.len);
|
||||
|
||||
SECItem &keyItem = key;
|
||||
|
||||
CERTIssuerAndSN issuerSN;
|
||||
unsigned long moduleID,slotID;
|
||||
|
||||
// someday maybe we can speed up the search using the moduleID and slotID
|
||||
moduleID = NS_NSS_GET_LONG(keyItem.data);
|
||||
slotID = NS_NSS_GET_LONG(&keyItem.data[NS_NSS_LONG]);
|
||||
|
||||
// build the issuer/SN structure
|
||||
issuerSN.serialNumber.len = NS_NSS_GET_LONG(&keyItem.data[NS_NSS_LONG*2]);
|
||||
issuerSN.derIssuer.len = NS_NSS_GET_LONG(&keyItem.data[NS_NSS_LONG*3]);
|
||||
issuerSN.serialNumber.data= &keyItem.data[NS_NSS_LONG*4];
|
||||
issuerSN.derIssuer.data= &keyItem.data[NS_NSS_LONG*4+
|
||||
issuerSN.serialNumber.len];
|
||||
|
||||
CERTCertificate *cert = CERT_FindCertByIssuerAndSN(CERT_GetDefaultCertDB(), &issuerSN);
|
||||
|
||||
nsMemory::Free(key.data); // SECItem is a 'c' type without a destrutor
|
||||
|
||||
if (!cert)
|
||||
{
|
||||
deleted = PR_TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
CERT_DestroyCertificate(cert);
|
||||
}
|
||||
}
|
||||
|
||||
if (deleted)
|
||||
continue;
|
||||
|
||||
nsCOMPtr<nsIX509Cert> pipCert = new nsNSSCertificate(node->cert);
|
||||
if (pipCert) {
|
||||
for (i=0; i<count; i++) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user