diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index e924faa8fd..26a546d019 100755 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -23,24 +23,7 @@ class OC_USER_LDAP extends OC_User_Backend { - protected $ds; - protected $configured = false; - // cached settings - protected $ldap_host; - protected $ldap_port; - protected $ldap_dn; - protected $ldap_password; - protected $ldap_base; - protected $ldap_login_filter; - protected $ldap_userlist_filter; - protected $ldap_tls; - protected $ldap_nocase; - protected $ldap_display_name; - protected $ldap_quota; - protected $ldap_quota_def; - protected $ldap_email; - protected $ldapUserFilter; protected $ldapLoginFilter; protected $ldapQuotaAttribute; @@ -51,42 +34,11 @@ class OC_USER_LDAP extends OC_User_Backend { protected $ldap_dc = false; public function __construct() { - $this->ldap_host = OCP\Config::getAppValue('user_ldap', 'ldap_host',''); - $this->ldap_port = OCP\Config::getAppValue('user_ldap', 'ldap_port', OC_USER_BACKEND_LDAP_DEFAULT_PORT ); - $this->ldap_dn = OCP\Config::getAppValue('user_ldap', 'ldap_dn',''); - $this->ldap_password = OCP\Config::getAppValue('user_ldap', 'ldap_password',''); - $this->ldap_base = OCP\Config::getAppValue('user_ldap', 'ldap_base',''); - $this->ldap_login_filter = OCP\Config::getAppValue('user_ldap', 'ldap_login_filter',''); - $this->ldap_userlist_filter = OCP\Config::getAppValue('user_ldap', 'ldap_userlist_filter','objectClass=person'); - $this->ldap_tls = OCP\Config::getAppValue('user_ldap', 'ldap_tls', 0); - $this->ldap_nocase = OCP\Config::getAppValue('user_ldap', 'ldap_nocase', 0); - $this->ldap_display_name = OCP\Config::getAppValue('user_ldap', 'ldap_display_name', OC_USER_BACKEND_LDAP_DEFAULT_DISPLAY_NAME); - $this->ldap_quota_attr = OCP\Config::getAppValue('user_ldap', 'ldap_quota_attr',''); - $this->ldap_quota_def = OCP\Config::getAppValue('user_ldap', 'ldap_quota_def',''); - $this->ldap_email_attr = OCP\Config::getAppValue('user_ldap', 'ldap_email_attr',''); - $this->ldapUserFilter = OCP\Config::getAppValue('user_ldap', 'ldap_userlist_filter', '(objectClass=posixAccount)'); $this->ldapLoginFilter = OCP\Config::getAppValue('user_ldap', 'ldap_login_filter', '(uid=%uid)'); $this->ldapQuotaAttribute = OCP\Config::getAppValue('user_ldap', 'ldap_quota_attr', ''); $this->ldapQuotaDefault = OCP\Config::getAppValue('user_ldap', 'ldap_quota_def', ''); $this->ldapEmailAttribute = OCP\Config::getAppValue('user_ldap', 'ldap_email_attr', ''); - - if( !empty($this->ldap_host) - && !empty($this->ldap_port) - && ((!empty($this->ldap_dn) && !empty($this->ldap_password)) || (empty($this->ldap_dn) && empty($this->ldap_password))) - && !empty($this->ldap_base) - && !empty($this->ldap_login_filter) - && !empty($this->ldap_display_name) - ) - { - $this->configured = true; - } - } - - function __destruct() { - // close the connection - if( $this->ds ) - ldap_unbind($this->ds); } private function updateQuota($dn) { @@ -119,50 +71,6 @@ class OC_USER_LDAP extends OC_User_Backend { } } - //Connect to LDAP and store the resource - private function getDs() { - if(!$this->ds) { - $this->ds = ldap_connect( $this->ldap_host, $this->ldap_port ); - if(ldap_set_option($this->ds, LDAP_OPT_PROTOCOL_VERSION, 3)) - if(ldap_set_option($this->ds, LDAP_OPT_REFERRALS, 0)) - if($this->ldap_tls) - ldap_start_tls($this->ds); - } - //TODO: Not necessary to perform a bind each time, is it? - // login - if(!empty($this->ldap_dn)) { - $ldap_login = @ldap_bind( $this->ds, $this->ldap_dn, $this->ldap_password ); - if(!$ldap_login) { - return false; - } - } - - return $this->ds; - } - - private function getDc( $uid ) { - if(!$this->configured) - return false; - - // connect to server - $ds = $this->getDs(); - if( !$ds ) - return false; - - // get dn - $filter = str_replace('%uid', $uid, $this->ldap_login_filter); - $sr = ldap_search( $this->getDs(), $this->ldap_base, $filter ); - $entries = ldap_get_entries( $this->getDs(), $sr ); - - if( $entries['count'] == 0 ) { - return false; - } - - $this->ldap_dc = $entries[0]; - - return $this->ldap_dc; - } - /** * @brief Check if the password is correct * @param $uid The username @@ -214,7 +122,6 @@ class OC_USER_LDAP extends OC_User_Backend { return in_array($uid, self::getUsers()); } - } ?>