[evolvis-commits] r10008: cleaning up and adding checks to ldap plugin so it↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 17:35:42 CET 2011


Author: mirabilos
Date: 2011-02-24 17:35:42 +0100 (Thu, 24 Feb 2011)
New Revision: 10008

Added:
   trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/session.diff
Modified:
   trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/include/LdapExtAuthPlugin.class
Log:
cleaning up and adding checks to ldap plugin so it


Modified: trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/include/LdapExtAuthPlugin.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/include/LdapExtAuthPlugin.class	2011-02-24 16:35:41 UTC (rev 10007)
+++ trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/include/LdapExtAuthPlugin.class	2011-02-24 16:35:42 UTC (rev 10008)
@@ -86,15 +86,18 @@
 				// Password from form is valid in LDAP
 				if (session_login_valid_dbonly ($loginname, $passwd, false)) {
 					// Also according to DB
+					$GLOBALS['ldap_auth_failed']=false;
 					return true ;
 				} else {
 					// Passwords mismatch, update DB's
 					$u->setPasswd ($passwd) ;
+					$GLOBALS['ldap_auth_failed']=false;
 					return true ;
 				}
 			} else {
 				// Wrong password according to LDAP
 				$feedback=$Language->getText('session','invalidpasswd');
+				$GLOBALS['ldap_auth_failed']=true;
 				return false ;
 			}
 		} else {
@@ -170,15 +173,24 @@
 					$ccode = $mappedinfo['ccode'] ;
 				}
 
-				$u->create ($unix_name,$firstname,$lastname,$password1,$password2,$email,
+				if (!$u->create ($unix_name,$firstname,$lastname,$password1,$password2,$email,
 					    $mail_site,$mail_va,$language_id,$timezone,$jabber_address,$jabber_only,$theme_id,
-					    $unix_box, $address, $address2, $phone, $fax, $title, $ccode, $send_mail) ;
+					    $unix_box, $address, $address2, $phone, $fax, $title, $ccode, $send_mail)) {
+					$GLOBALS['ldap_auth_failed']=true;
+					echo "<br>Error Creating User: ".$u->getErrorMessage();
+					return false;
+				}
 
-
-
-				$u->setStatus ('A') ;
+				if (!$u->setStatus ('A')) {
+					$GLOBALS['ldap_auth_failed']=true;
+					echo "<br>Error Activating User: ".$u->getErrorMessage();
+					return false;
+				}
+				$GLOBALS['ldap_auth_failed']=false;
+				$GLOBALS['ldap_first_login']=true;
 				return true ;
 			} else {
+				$GLOBALS['ldap_auth_failed']=true;
 				$feedback=$Language->getText('session','invalidpasswd');
 				return false ; // Probably ignored, but just in case
 			}

Added: trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/session.diff
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/session.diff	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge-plugin-ldapextauth/session.diff	2011-02-24 16:35:42 UTC (rev 10008)
@@ -0,0 +1,33 @@
+--- /home/tperdue/share/dev.gforge.org/common/include/session.php	2004-09-29 16:49:31.000000000 -0500
++++ common/include/session.php	2004-09-29 22:04:27.000000000 -0500
+@@ -4,7 +4,7 @@
+  *
+  * Copyright 1999-2001 (c) VA Linux Systems
+  *
+- * @version   $Id$
++ * @version   $Id$
+  *
+  * This file is part of GForge.
+  *
+@@ -132,8 +132,19 @@
+ 	$hook_params['loginname'] = $loginname ;
+ 	$hook_params['passwd'] = $passwd ;
+ 	plugin_hook ("session_before_login", $hook_params) ;
+-
+-	return session_login_valid_dbonly ($loginname, $passwd, $allowpending) ;}
++	if ($GLOBALS['ldap_auth_failed']) {
++		return false;
++	} elseif ($GLOBALS['ldap_first_login']) {
++		if (session_login_valid_dbonly ($loginname, $passwd, $allowpending)) {
++			header("Location: /account/");
++			return true;
++		} else {
++			return false;
++		}
++	} else {
++		return session_login_valid_dbonly ($loginname, $passwd, $allowpending) ;
++	}
++}
+ 
+ function session_login_valid_dbonly ($loginname, $passwd, $allowpending) {
+ 	global $feedback,$userstatus,$Language;



More information about the evolvis-commits mailing list