diff options
author | ian.mcgreer%sun.com <devnull@localhost> | 2002-01-31 17:08:32 +0000 |
---|---|---|
committer | ian.mcgreer%sun.com <devnull@localhost> | 2002-01-31 17:08:32 +0000 |
commit | c80481501c5f15f41e3280c58e441f7751a5fb25 (patch) | |
tree | 7e0742162d6b70923e017d276bcb262d844aca6b | |
parent | 83f44d4bf87bc0676cf3297f8d902e07583ac3d1 (diff) | |
download | nss-hg-c80481501c5f15f41e3280c58e441f7751a5fb25.tar.gz |
bug 90518, implement methods for dumping the state of the cache and temp cert store in NSS 3.4
-rw-r--r-- | security/nss/lib/pki/pki3hack.c | 23 | ||||
-rw-r--r-- | security/nss/lib/pki/pkim.h | 8 | ||||
-rw-r--r-- | security/nss/lib/pki/pkistore.c | 13 | ||||
-rw-r--r-- | security/nss/lib/pki/pkistore.h | 8 | ||||
-rw-r--r-- | security/nss/lib/pki/tdcache.c | 12 |
5 files changed, 64 insertions, 0 deletions
diff --git a/security/nss/lib/pki/pki3hack.c b/security/nss/lib/pki/pki3hack.c index 210c477ae..3239051ef 100644 --- a/security/nss/lib/pki/pki3hack.c +++ b/security/nss/lib/pki/pki3hack.c @@ -959,3 +959,26 @@ nssTrustDomain_AddTempCertToPerm #endif return PR_FAILURE; } + +static void cert_dump_iter(const void *k, void *v, void *a) +{ + NSSCertificate *c = (NSSCertificate *)k; + CERTCertificate *cert = STAN_GetCERTCertificate(c); + printf("[%2d] \"%s\"\n", c->object.refCount, cert->subjectName); +} + +void +nss_DumpCertificateCacheInfo() +{ + NSSTrustDomain *td; + NSSCryptoContext *cc; + td = STAN_GetDefaultTrustDomain(); + cc = STAN_GetDefaultCryptoContext(); + printf("\n\nCertificates in the cache:\n"); + nssTrustDomain_DumpCacheInfo(td, cert_dump_iter, NULL); + printf("\n\nCertificates in the temporary store:\n"); + if (cc->certStore) { + nssCertificateStore_DumpStoreInfo(cc->certStore, cert_dump_iter, NULL); + } +} + diff --git a/security/nss/lib/pki/pkim.h b/security/nss/lib/pki/pkim.h index f574dbaf0..bd16fd3ad 100644 --- a/security/nss/lib/pki/pkim.h +++ b/security/nss/lib/pki/pkim.h @@ -321,6 +321,14 @@ NSSTime_GetPRTime NSSTime *time ); +NSS_EXTERN void +nssTrustDomain_DumpCacheInfo +( + NSSTrustDomain *td, + void (* cert_dump_iter)(const void *, void *, void *), + void *arg +); + PR_END_EXTERN_C #endif /* PKIM_H */ diff --git a/security/nss/lib/pki/pkistore.c b/security/nss/lib/pki/pkistore.c index c6b572938..c2664f15d 100644 --- a/security/nss/lib/pki/pkistore.c +++ b/security/nss/lib/pki/pkistore.c @@ -681,3 +681,16 @@ nssHash_CreateCertificate PL_CompareValues); } +NSS_IMPLEMENT void +nssCertificateStore_DumpStoreInfo +( + nssCertificateStore *store, + void (* cert_dump_iter)(const void *, void *, void *), + void *arg +) +{ + PZ_Lock(store->lock); + nssHash_Iterate(store->issuer_and_serial, cert_dump_iter, arg); + PZ_Unlock(store->lock); +} + diff --git a/security/nss/lib/pki/pkistore.h b/security/nss/lib/pki/pkistore.h index 15e9150ed..a13186118 100644 --- a/security/nss/lib/pki/pkistore.h +++ b/security/nss/lib/pki/pkistore.h @@ -165,6 +165,14 @@ nssCertificateStore_FindSMIMEProfileForCertificate NSSCertificate *cert ); +NSS_EXTERN void +nssCertificateStore_DumpStoreInfo +( + nssCertificateStore *store, + void (* cert_dump_iter)(const void *, void *, void *), + void *arg +); + PR_END_EXTERN_C #endif /* PKISTORE_H */ diff --git a/security/nss/lib/pki/tdcache.c b/security/nss/lib/pki/tdcache.c index 1ad21e39f..5077af584 100644 --- a/security/nss/lib/pki/tdcache.c +++ b/security/nss/lib/pki/tdcache.c @@ -1026,3 +1026,15 @@ nssTrustDomain_GetCertsFromCache return rvArray; } +NSS_IMPLEMENT void +nssTrustDomain_DumpCacheInfo +( + NSSTrustDomain *td, + void (* cert_dump_iter)(const void *, void *, void *), + void *arg +) +{ + PZ_Lock(td->cache->lock); + nssHash_Iterate(td->cache->issuerAndSN, cert_dump_iter, arg); + PZ_Unlock(td->cache->lock); +} |