summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2001-03-26 23:18:36 +0000
committerrelyea%netscape.com <devnull@localhost>2001-03-26 23:18:36 +0000
commit4eaebcaf6b017b72aa0afc268c570d15699db3f5 (patch)
tree80d54626a420e2413c6bc354a1b863f83f58f301
parent5bdccafeb958af2d93e0000fcef0ce34b9206b45 (diff)
downloadnss-hg-4eaebcaf6b017b72aa0afc268c570d15699db3f5.tar.gz
Add new functions which adds a an object to the list with associated data.
Fix a bug where the ':' in the nickname is not being removed when it was supposed to be.
-rw-r--r--security/nss/lib/certdb/cert.h8
-rw-r--r--security/nss/lib/certdb/certdb.c21
-rw-r--r--security/nss/lib/certdb/pcertdb.c4
3 files changed, 28 insertions, 5 deletions
diff --git a/security/nss/lib/certdb/cert.h b/security/nss/lib/certdb/cert.h
index da12103f9..59b4031be 100644
--- a/security/nss/lib/certdb/cert.h
+++ b/security/nss/lib/certdb/cert.h
@@ -1076,6 +1076,14 @@ CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert);
SECStatus
CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert);
+SECStatus
+CERT_AddCertToListTailWithData(CERTCertList *certs, CERTCertificate *cert,
+ void *appData);
+
+SECStatus
+CERT_AddCertToListHeadWithData(CERTCertList *certs, CERTCertificate *cert,
+ void *appData);
+
typedef PRBool (* CERTSortCallback)(CERTCertificate *certa,
CERTCertificate *certb,
void *arg);
diff --git a/security/nss/lib/certdb/certdb.c b/security/nss/lib/certdb/certdb.c
index e626581ac..3d35b9673 100644
--- a/security/nss/lib/certdb/certdb.c
+++ b/security/nss/lib/certdb/certdb.c
@@ -2019,8 +2019,10 @@ CERT_RemoveCertListNode(CERTCertListNode *node)
return;
}
+
SECStatus
-CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert)
+CERT_AddCertToListTailWithData(CERTCertList *certs,
+ CERTCertificate *cert, void *appData)
{
CERTCertListNode *node;
@@ -2033,6 +2035,7 @@ CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert)
PR_INSERT_BEFORE(&node->links, &certs->list);
/* certs->count++; */
node->cert = cert;
+ node->appData = appData;
return(SECSuccess);
loser:
@@ -2040,7 +2043,14 @@ loser:
}
SECStatus
-CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert)
+CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert)
+{
+ CERT_AddCertToListTailWithData(certs, cert, NULL);
+}
+
+SECStatus
+CERT_AddCertToListHeadWithData(CERTCertList *certs,
+ CERTCertificate *cert, void *appData)
{
CERTCertListNode *node;
CERTCertListNode *head;
@@ -2058,12 +2068,19 @@ CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert)
PR_INSERT_BEFORE(&node->links, &head->links);
/* certs->count++; */
node->cert = cert;
+ node->appData = appData;
return(SECSuccess);
loser:
return(SECFailure);
}
+SECStatus
+CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert)
+{
+ return CERT_AddCertToListHeadWithData(certs, cert, NULL);
+}
+
/*
* Sort callback function to determine if cert a is newer than cert b.
* Not valid certs are considered older than valid certs.
diff --git a/security/nss/lib/certdb/pcertdb.c b/security/nss/lib/certdb/pcertdb.c
index 611a9b5c6..f4f6d3483 100644
--- a/security/nss/lib/certdb/pcertdb.c
+++ b/security/nss/lib/certdb/pcertdb.c
@@ -3988,8 +3988,6 @@ UpdateV5DB(CERTCertDBHandle *handle, DB *updatedb)
(* updatedb->close)(updatedb);
return(SECSuccess);
-
- return(rv);
}
static PRBool
@@ -4720,7 +4718,7 @@ cert_parseNickname(char *nickname)
for (cp=nickname; *cp && *cp != ':'; cp++);
- if (*cp == ':') return cp++;
+ if (*cp == ':') return cp+1;
return nickname;
}