summaryrefslogtreecommitdiff
path: root/src/x509.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/x509.c')
-rw-r--r--src/x509.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/x509.c b/src/x509.c
index 2bdcb3fa..ed8788ae 100644
--- a/src/x509.c
+++ b/src/x509.c
@@ -1,11 +1,19 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
+ *
* This is free software; see Copyright file in the source
* distribution for preciese wording.
*
* Copyright (C) 2002-2016 Aleksey Sanin <aleksey@aleksey.com>. All Rights Reserved.
*/
+/**
+ * SECTION:x509
+ * @Short_description: &lt;dsig:X509Certificate/&gt; node parser functions.
+ * @Stability: Stable
+ *
+ */
+
#include "globals.h"
#ifndef XMLSEC_NO_X509
@@ -30,7 +38,6 @@
/**
* xmlSecX509DataGetNodeContent:
* @node: the pointer to <dsig:X509Data/> node.
- * @deleteChildren: the flag that indicates whether to remove node children after reading.
* @keyInfoCtx: the pointer to <dsig:KeyInfo/> node processing context.
*
* Reads the contents of <dsig:X509Data/> node and returns it as
@@ -40,10 +47,8 @@
* or a negative value if an error occurs.
*/
int
-xmlSecX509DataGetNodeContent (xmlNodePtr node, int deleteChildren,
- xmlSecKeyInfoCtxPtr keyInfoCtx) {
- xmlNodePtr cur, next;
- int deleteCurNode;
+xmlSecX509DataGetNodeContent (xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx) {
+ xmlNodePtr cur;
int content = 0;
xmlSecAssert2(node != NULL, 0);
@@ -52,42 +57,30 @@ xmlSecX509DataGetNodeContent (xmlNodePtr node, int deleteChildren,
/* determine the current node content */
cur = xmlSecGetNextElementNode(node->children);
while(cur != NULL) {
- deleteCurNode = 0;
if(xmlSecCheckNodeName(cur, xmlSecNodeX509Certificate, xmlSecDSigNs)) {
if(xmlSecIsEmptyNode(cur) == 1) {
content |= XMLSEC_X509DATA_CERTIFICATE_NODE;
- deleteCurNode = 1;
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) {
if(xmlSecIsEmptyNode(cur) == 1) {
content |= XMLSEC_X509DATA_SUBJECTNAME_NODE;
- deleteCurNode = 1;
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) {
if(xmlSecIsEmptyNode(cur) == 1) {
content |= XMLSEC_X509DATA_ISSUERSERIAL_NODE;
- deleteCurNode = 1;
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) {
if(xmlSecIsEmptyNode(cur) == 1) {
content |= XMLSEC_X509DATA_SKI_NODE;
- deleteCurNode = 1;
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) {
if(xmlSecIsEmptyNode(cur) == 1) {
content |= XMLSEC_X509DATA_CRL_NODE;
- deleteCurNode = 1;
}
} else {
/* todo: fail on unknown child node? */
}
- next = xmlSecGetNextElementNode(cur->next);
- if((deleteCurNode != 0) && (deleteChildren != 0)) {
- /* remove "template" nodes */
- xmlUnlinkNode(cur);
- xmlFreeNode(cur);
- }
- cur = next;
+ cur = xmlSecGetNextElementNode(cur->next);
}
return (content);