Skip to content
Snippets Groups Projects
Commit 118a03cf authored by Andreas Åkre Solberg's avatar Andreas Åkre Solberg
Browse files

fix bug when comment nodes where inside an entitydescriptor did fail

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1036 44740490-163a-0410-bde0-09ae8108e29a
parent 854c957b
No related branches found
No related tags found
No related merge requests found
...@@ -163,10 +163,8 @@ class SimpleSAML_Metadata_SAMLParser { ...@@ -163,10 +163,8 @@ class SimpleSAML_Metadata_SAMLParser {
for($i = 0; $i < $entityElement->childNodes->length; $i++) { for($i = 0; $i < $entityElement->childNodes->length; $i++) {
$child = $entityElement->childNodes->item($i); $child = $entityElement->childNodes->item($i);
/* Skip text nodes. */ // Unless the child is a DOMElement, skip.
if($child instanceof DOMText) { if ( !($child instanceof DOMelement) ) continue;
continue;
}
if(SimpleSAML_Utilities::isDOMElementOfType($child, 'Signature', '@ds') === TRUE) { if(SimpleSAML_Utilities::isDOMElementOfType($child, 'Signature', '@ds') === TRUE) {
$this->processSignature($child); $this->processSignature($child);
...@@ -262,12 +260,15 @@ class SimpleSAML_Metadata_SAMLParser { ...@@ -262,12 +260,15 @@ class SimpleSAML_Metadata_SAMLParser {
*/ */
public static function parseDescriptorsFile($file) { public static function parseDescriptorsFile($file) {
if ($file === NULL) throw new Exception('Cannot open file NULL. File name not specified.');
$doc = new DOMDocument(); $doc = new DOMDocument();
$res = $doc->load($file); $res = $doc->load($file);
if($res !== TRUE) { if($res !== TRUE) {
throw new Exception('Failed to read XML from file: ' . $file); throw new Exception('Failed to read XML from file: ' . $file);
} }
if ($doc->documentElement === NULL) throw new Exception('Opened file is not an XML document: ' . $file);
return self::parseDescriptorsElement($doc->documentElement); return self::parseDescriptorsElement($doc->documentElement);
} }
...@@ -309,7 +310,7 @@ class SimpleSAML_Metadata_SAMLParser { ...@@ -309,7 +310,7 @@ class SimpleSAML_Metadata_SAMLParser {
} }
assert('$element instanceof DOMElement'); assert('$element instanceof DOMElement');
$entitiesValidator = NULL; $entitiesValidator = NULL;
if(SimpleSAML_Utilities::isDOMElementOfType($element, 'EntityDescriptor', '@md') === TRUE) { if(SimpleSAML_Utilities::isDOMElementOfType($element, 'EntityDescriptor', '@md') === TRUE) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment