summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornelson%bolyard.com <devnull@localhost>2007-09-19 22:42:38 +0000
committernelson%bolyard.com <devnull@localhost>2007-09-19 22:42:38 +0000
commit9a347584cd2b248f1e196d3b5db8660059e5de82 (patch)
tree563436d75fb9be2e5d326861e0e131d305840965
parentc64950be6eee2a622b8bd2cab12e8e0c947cbe31 (diff)
downloadnss-hg-9a347584cd2b248f1e196d3b5db8660059e5de82.tar.gz
Bug 396256 - certutil and pp do not print all the GeneralNames in a
CRLDP extension, r=neil.williams
-rw-r--r--security/nss/cmd/lib/secutil.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/security/nss/cmd/lib/secutil.c b/security/nss/cmd/lib/secutil.c
index cb4fce5dc..17eb9455f 100644
--- a/security/nss/cmd/lib/secutil.c
+++ b/security/nss/cmd/lib/secutil.c
@@ -1819,6 +1819,17 @@ secu_PrintGeneralName(FILE *out, CERTGeneralName *gname, char *msg, int level)
}
static void
+secu_PrintGeneralNames(FILE *out, CERTGeneralName *gname, char *msg, int level)
+{
+ CERTGeneralName *name = gname;
+ do {
+ secu_PrintGeneralName(out, name, msg, level);
+ name = CERT_GetNextGeneralName(name);
+ } while (name && name != gname);
+}
+
+
+static void
secu_PrintAuthKeyIDExtension(FILE *out, SECItem *value, char *msg, int level)
{
CERTAuthKeyID *kid = NULL;
@@ -1903,8 +1914,8 @@ secu_PrintCRLDistPtsExtension(FILE *out, SECItem *value, char *msg, int level)
while (NULL != (pPoint = *pPoints++)) {
if (pPoint->distPointType == generalName &&
pPoint->distPoint.fullName != NULL) {
- secu_PrintGeneralName(out, pPoint->distPoint.fullName, NULL,
- level);
+ secu_PrintGeneralNames(out, pPoint->distPoint.fullName, NULL,
+ level);
#if defined(LATER)
} else if (pPoint->distPointType == relativeDistinguishedName) {
/* print the relative name */