From 57edb42a58bbec98063345d50da52197721c16f0 Mon Sep 17 00:00:00 2001 From: Olav Morken <olav.morken@uninett.no> Date: Thu, 13 Aug 2009 12:00:19 +0000 Subject: [PATCH] SAML2: Trim text nodes which are parsed. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1662 44740490-163a-0410-bde0-09ae8108e29a --- lib/SAML2/Assertion.php | 8 ++++---- lib/SAML2/AttributeQuery.php | 2 +- lib/SAML2/LogoutRequest.php | 2 +- lib/SAML2/Message.php | 2 +- lib/SAML2/StatusResponse.php | 2 +- lib/SAML2/Utils.php | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/SAML2/Assertion.php b/lib/SAML2/Assertion.php index e08c87e5a..327e104a0 100644 --- a/lib/SAML2/Assertion.php +++ b/lib/SAML2/Assertion.php @@ -194,7 +194,7 @@ class SAML2_Assertion implements SAML2_SignedElement { if (empty($issuer)) { throw new Exception('Missing <saml:Issuer> in assertion.'); } - $this->issuer = $issuer[0]->textContent; + $this->issuer = trim($issuer[0]->textContent); $this->parseSubject($xml); $this->parseConditions($xml); @@ -316,7 +316,7 @@ class SAML2_Assertion implements SAML2_SignedElement { case 'AudienceRestriction': $audiences = SAML2_Utils::xpQuery($node, './saml:Audience'); foreach ($audiences as &$audience) { - $audience = $audience->textContent; + $audience = trim($audience->textContent); } if ($this->validAudiences === NULL) { /* The first (and probably last) AudienceRestriction element. */ @@ -388,7 +388,7 @@ class SAML2_Assertion implements SAML2_SignedElement { } $accr = $accr[0]; - $this->authnContext = $accr->textContent; + $this->authnContext = trim($accr->textContent); } @@ -428,7 +428,7 @@ class SAML2_Assertion implements SAML2_SignedElement { $values = SAML2_Utils::xpQuery($attribute, './saml:AttributeValue'); foreach ($values as $value) { - $this->attributes[$name][] = $value->textContent; + $this->attributes[$name][] = trim($value->textContent); } } } diff --git a/lib/SAML2/AttributeQuery.php b/lib/SAML2/AttributeQuery.php index 69b31bb63..3be052bd3 100644 --- a/lib/SAML2/AttributeQuery.php +++ b/lib/SAML2/AttributeQuery.php @@ -82,7 +82,7 @@ class SAML2_AttributeQuery extends SAML2_SubjectQuery { $values = SAML2_Utils::xpQuery($attribute, './saml:AttributeValue'); foreach ($values as $value) { - $this->attributes[$name][] = $value->textContent; + $this->attributes[$name][] = trim($value->textContent); } } } diff --git a/lib/SAML2/LogoutRequest.php b/lib/SAML2/LogoutRequest.php index f239c9a01..c0718e45b 100644 --- a/lib/SAML2/LogoutRequest.php +++ b/lib/SAML2/LogoutRequest.php @@ -45,7 +45,7 @@ class SAML2_LogoutRequest extends SAML2_Request { $sessionIndex = SAML2_Utils::xpQuery($xml, './samlp:SessionIndex'); if (!empty($sessionIndex)) { - $this->sessionIndex = $sessionIndex[0]->textContent; + $this->sessionIndex = trim($sessionIndex[0]->textContent); } } diff --git a/lib/SAML2/Message.php b/lib/SAML2/Message.php index 735b9ac65..b135eca87 100644 --- a/lib/SAML2/Message.php +++ b/lib/SAML2/Message.php @@ -142,7 +142,7 @@ abstract class SAML2_Message implements SAML2_SignedElement { $issuer = SAML2_Utils::xpQuery($xml, './saml:Issuer'); if (!empty($issuer)) { - $this->issuer = $issuer[0]->textContent; + $this->issuer = trim($issuer[0]->textContent); } diff --git a/lib/SAML2/StatusResponse.php b/lib/SAML2/StatusResponse.php index 8093da30c..cb7422136 100644 --- a/lib/SAML2/StatusResponse.php +++ b/lib/SAML2/StatusResponse.php @@ -83,7 +83,7 @@ abstract class SAML2_StatusResponse extends SAML2_Message { $message = SAML2_Utils::xpQuery($status, './samlp:StatusMessage'); if (!empty($message)) { - $this->status['Message'] = $message[0]->textContent; + $this->status['Message'] = trim($message[0]->textContent); } } diff --git a/lib/SAML2/Utils.php b/lib/SAML2/Utils.php index 84bfa347b..f62a06052 100644 --- a/lib/SAML2/Utils.php +++ b/lib/SAML2/Utils.php @@ -68,7 +68,7 @@ class SAML2_Utils { /* Now we extract all available X509 certificates in the signature element. */ $certificates = array(); foreach (self::xpQuery($signatureElement, './ds:KeyInfo/ds:X509Data/ds:X509Certificate') as $certNode) { - $certData = $certNode->textContent; + $certData = trim($certNode->textContent); $certData = str_replace(array("\r", "\n", "\t", ' '), '', $certData); $certificates[] = $certData; } @@ -198,7 +198,7 @@ class SAML2_Utils { */ public static function parseNameId(DOMElement $xml) { - $ret = array('Value' => $xml->textContent); + $ret = array('Value' => trim($xml->textContent)); foreach (array('NameQualifier', 'SPNameQualifier', 'Format') as $attr) { if ($xml->hasAttribute($attr)) { -- GitLab