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:
kaie%netscape.com 2002-05-16 03:59:36 +00:00
parent cfaa81bf8d
commit 6057d8ceae
5 changed files with 6 additions and 81 deletions

View File

@ -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? */

View 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"/>

View File

@ -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();
}

View File

@ -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;
}

View File

@ -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++) {