[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