From 5735c2040d69fe11251eb04fa101bdfdcb35e067 Mon Sep 17 00:00:00 2001
From: Olav Morken <olav.morken@uninett.no>
Date: Wed, 21 Sep 2011 06:33:22 +0000
Subject: [PATCH] SimpleSAML_Auth_LDAP: Also include the cause in exceptions.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2919 44740490-163a-0410-bde0-09ae8108e29a
---
 lib/SimpleSAML/Auth/LDAP.php | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/SimpleSAML/Auth/LDAP.php b/lib/SimpleSAML/Auth/LDAP.php
index dc2aaa309..61ff47799 100644
--- a/lib/SimpleSAML/Auth/LDAP.php
+++ b/lib/SimpleSAML/Auth/LDAP.php
@@ -141,18 +141,21 @@ class SimpleSAML_Auth_LDAP {
 					return new SimpleSAML_Error_AuthSource('ldap', $description);
 			}
 		}else{
+			if ($errNo !== 0) {
+				$description .= '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')';
+			}
 			switch ($errNo){
 				case 0x20://LDAP_NO_SUCH_OBJECT
-					SimpleSAML_Logger::warning($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::warning($description);
 					return new SimpleSAML_Error_UserNotFound($description, $errNo);
 				case 0x31://LDAP_INVALID_CREDENTIALS
-					SimpleSAML_Logger::info($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::info($description);
 					return new SimpleSAML_Error_InvalidCredential($description, $errNo);
 				case -1://NO_SERVER_CONNECTION
-					SimpleSAML_Logger::error($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::error($description);
 					return new SimpleSAML_Error_AuthSource('ldap', $description);
 				default:
-					SimpleSAML_Logger::error($description . '; cause: \'' . ldap_error($this->ldap) . '\' (0x' . dechex($errNo) . ')');
+					SimpleSAML_Logger::error($description);
 					return new SimpleSAML_Error_AuthSource('ldap', $description);
 			}
 		}
-- 
GitLab