namespace OCA\User_LDAP;
-use OCA\user_ldap\lib\ILDAPWrapper;
-
class Group_Proxy extends Proxy implements \OCP\GroupInterface {
private $backends = array();
private $refBackend = null;
--- /dev/null
+<?php
+/**
+ * @author Arthur Schiwon <blizzz@owncloud.com>
+ * @author Jörn Friedrich Dreyer <jfd@butonic.de>
+ * @author Lukas Reschke <lukas@owncloud.com>
+ * @author Morris Jobke <hey@morrisjobke.de>
+ * @author Robin McCorkell <robin@mccorkell.me.uk>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\User_LDAP;
+
+interface ILDAPWrapper {
+
+ //LDAP functions in use
+
+ /**
+ * Bind to LDAP directory
+ * @param resource $link LDAP link resource
+ * @param string $dn an RDN to log in with
+ * @param string $password the password
+ * @return bool true on success, false otherwise
+ *
+ * with $dn and $password as null a anonymous bind is attempted.
+ */
+ public function bind($link, $dn, $password);
+
+ /**
+ * connect to an LDAP server
+ * @param string $host The host to connect to
+ * @param string $port The port to connect to
+ * @return mixed a link resource on success, otherwise false
+ */
+ public function connect($host, $port);
+
+ /**
+ * Send LDAP pagination control
+ * @param resource $link LDAP link resource
+ * @param int $pageSize number of results per page
+ * @param bool $isCritical Indicates whether the pagination is critical of not.
+ * @param string $cookie structure sent by LDAP server
+ * @return bool true on success, false otherwise
+ */
+ public function controlPagedResult($link, $pageSize, $isCritical, $cookie);
+
+ /**
+ * Retrieve the LDAP pagination cookie
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP result resource
+ * @param string $cookie structure sent by LDAP server
+ * @return bool true on success, false otherwise
+ *
+ * Corresponds to ldap_control_paged_result_response
+ */
+ public function controlPagedResultResponse($link, $result, &$cookie);
+
+ /**
+ * Count the number of entries in a search
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP result resource
+ * @return int|false number of results on success, false otherwise
+ */
+ public function countEntries($link, $result);
+
+ /**
+ * Return the LDAP error number of the last LDAP command
+ * @param resource $link LDAP link resource
+ * @return string error message as string
+ */
+ public function errno($link);
+
+ /**
+ * Return the LDAP error message of the last LDAP command
+ * @param resource $link LDAP link resource
+ * @return int error code as integer
+ */
+ public function error($link);
+
+ /**
+ * Splits DN into its component parts
+ * @param string $dn
+ * @param int @withAttrib
+ * @return array|false
+ * @link http://www.php.net/manual/en/function.ldap-explode-dn.php
+ */
+ public function explodeDN($dn, $withAttrib);
+
+ /**
+ * Return first result id
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP result resource
+ * @return Resource an LDAP search result resource
+ * */
+ public function firstEntry($link, $result);
+
+ /**
+ * Get attributes from a search result entry
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP result resource
+ * @return array containing the results, false on error
+ * */
+ public function getAttributes($link, $result);
+
+ /**
+ * Get the DN of a result entry
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP result resource
+ * @return string containing the DN, false on error
+ */
+ public function getDN($link, $result);
+
+ /**
+ * Get all result entries
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP result resource
+ * @return array containing the results, false on error
+ */
+ public function getEntries($link, $result);
+
+ /**
+ * Return next result id
+ * @param resource $link LDAP link resource
+ * @param resource $result LDAP entry result resource
+ * @return resource an LDAP search result resource
+ * */
+ public function nextEntry($link, $result);
+
+ /**
+ * Read an entry
+ * @param resource $link LDAP link resource
+ * @param array $baseDN The DN of the entry to read from
+ * @param string $filter An LDAP filter
+ * @param array $attr array of the attributes to read
+ * @return resource an LDAP search result resource
+ */
+ public function read($link, $baseDN, $filter, $attr);
+
+ /**
+ * Search LDAP tree
+ * @param resource $link LDAP link resource
+ * @param string $baseDN The DN of the entry to read from
+ * @param string $filter An LDAP filter
+ * @param array $attr array of the attributes to read
+ * @param int $attrsOnly optional, 1 if only attribute types shall be returned
+ * @param int $limit optional, limits the result entries
+ * @return resource|false an LDAP search result resource, false on error
+ */
+ public function search($link, $baseDN, $filter, $attr, $attrsOnly = 0, $limit = 0);
+
+ /**
+ * Sets the value of the specified option to be $value
+ * @param resource $link LDAP link resource
+ * @param string $option a defined LDAP Server option
+ * @param int $value the new value for the option
+ * @return bool true on success, false otherwise
+ */
+ public function setOption($link, $option, $value);
+
+ /**
+ * establish Start TLS
+ * @param resource $link LDAP link resource
+ * @return bool true on success, false otherwise
+ */
+ public function startTls($link);
+
+ /**
+ * Unbind from LDAP directory
+ * @param resource $link LDAP link resource
+ * @return bool true on success, false otherwise
+ */
+ public function unbind($link);
+
+ //additional required methods in ownCloud
+
+ /**
+ * Checks whether the server supports LDAP
+ * @return bool true if it the case, false otherwise
+ * */
+ public function areLDAPFunctionsAvailable();
+
+ /**
+ * Checks whether PHP supports LDAP Paged Results
+ * @return bool true if it the case, false otherwise
+ * */
+ public function hasPagedResultSupport();
+
+ /**
+ * Checks whether the submitted parameter is a resource
+ * @param resource $resource the resource variable to check
+ * @return bool true if it is a resource, false otherwise
+ */
+ public function isResource($resource);
+
+}
namespace OCA\User_LDAP;
use OC\ServerNotAvailableException;
-use OCA\user_ldap\lib\ILDAPWrapper;
class LDAP implements ILDAPWrapper {
protected $curFunc = '';
namespace OCA\User_LDAP;
-use OCA\user_ldap\lib\ILDAPWrapper;
-
abstract class LDAPUtility {
protected $ldap;
use OCA\user_ldap\lib\Access;
use OCA\user_ldap\lib\Connection;
use OCA\user_ldap\lib\FilesystemHelper;
-use OCA\user_ldap\lib\ILDAPWrapper;
use OCA\User_LDAP\Mapping\UserMapping;
use OCA\User_LDAP\Mapping\GroupMapping;
namespace OCA\User_LDAP;
-use OCA\user_ldap\lib\ILDAPWrapper;
use OCA\User_LDAP\User\User;
use OCP\IConfig;
use OCA\user_ldap\lib\Access;
use OCA\user_ldap\lib\Configuration;
use OCA\user_ldap\lib\Helper;
-use OCA\user_ldap\lib\ILDAPWrapper;
class Wizard extends LDAPUtility {
static protected $l;
namespace OCA\user_ldap\lib;
+use OCA\User_LDAP\ILDAPWrapper;
use OCA\User_LDAP\LDAPUtility;
use OCA\User_LDAP\User\IUserTools;
use OCA\User_LDAP\User\Manager;
namespace OCA\user_ldap\lib;
use OC\ServerNotAvailableException;
+use OCA\User_LDAP\ILDAPWrapper;
use OCA\User_LDAP\LDAPUtility;
/**
+++ /dev/null
-<?php
-/**
- * @author Arthur Schiwon <blizzz@owncloud.com>
- * @author Jörn Friedrich Dreyer <jfd@butonic.de>
- * @author Lukas Reschke <lukas@owncloud.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin McCorkell <robin@mccorkell.me.uk>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\user_ldap\lib;
-
-interface ILDAPWrapper {
-
- //LDAP functions in use
-
- /**
- * Bind to LDAP directory
- * @param resource $link LDAP link resource
- * @param string $dn an RDN to log in with
- * @param string $password the password
- * @return bool true on success, false otherwise
- *
- * with $dn and $password as null a anonymous bind is attempted.
- */
- public function bind($link, $dn, $password);
-
- /**
- * connect to an LDAP server
- * @param string $host The host to connect to
- * @param string $port The port to connect to
- * @return mixed a link resource on success, otherwise false
- */
- public function connect($host, $port);
-
- /**
- * Send LDAP pagination control
- * @param resource $link LDAP link resource
- * @param int $pageSize number of results per page
- * @param bool $isCritical Indicates whether the pagination is critical of not.
- * @param string $cookie structure sent by LDAP server
- * @return bool true on success, false otherwise
- */
- public function controlPagedResult($link, $pageSize, $isCritical, $cookie);
-
- /**
- * Retrieve the LDAP pagination cookie
- * @param resource $link LDAP link resource
- * @param resource $result LDAP result resource
- * @param string $cookie structure sent by LDAP server
- * @return bool true on success, false otherwise
- *
- * Corresponds to ldap_control_paged_result_response
- */
- public function controlPagedResultResponse($link, $result, &$cookie);
-
- /**
- * Count the number of entries in a search
- * @param resource $link LDAP link resource
- * @param resource $result LDAP result resource
- * @return int|false number of results on success, false otherwise
- */
- public function countEntries($link, $result);
-
- /**
- * Return the LDAP error number of the last LDAP command
- * @param resource $link LDAP link resource
- * @return string error message as string
- */
- public function errno($link);
-
- /**
- * Return the LDAP error message of the last LDAP command
- * @param resource $link LDAP link resource
- * @return int error code as integer
- */
- public function error($link);
-
- /**
- * Splits DN into its component parts
- * @param string $dn
- * @param int @withAttrib
- * @return array|false
- * @link http://www.php.net/manual/en/function.ldap-explode-dn.php
- */
- public function explodeDN($dn, $withAttrib);
-
- /**
- * Return first result id
- * @param resource $link LDAP link resource
- * @param resource $result LDAP result resource
- * @return Resource an LDAP search result resource
- * */
- public function firstEntry($link, $result);
-
- /**
- * Get attributes from a search result entry
- * @param resource $link LDAP link resource
- * @param resource $result LDAP result resource
- * @return array containing the results, false on error
- * */
- public function getAttributes($link, $result);
-
- /**
- * Get the DN of a result entry
- * @param resource $link LDAP link resource
- * @param resource $result LDAP result resource
- * @return string containing the DN, false on error
- */
- public function getDN($link, $result);
-
- /**
- * Get all result entries
- * @param resource $link LDAP link resource
- * @param resource $result LDAP result resource
- * @return array containing the results, false on error
- */
- public function getEntries($link, $result);
-
- /**
- * Return next result id
- * @param resource $link LDAP link resource
- * @param resource $result LDAP entry result resource
- * @return resource an LDAP search result resource
- * */
- public function nextEntry($link, $result);
-
- /**
- * Read an entry
- * @param resource $link LDAP link resource
- * @param array $baseDN The DN of the entry to read from
- * @param string $filter An LDAP filter
- * @param array $attr array of the attributes to read
- * @return resource an LDAP search result resource
- */
- public function read($link, $baseDN, $filter, $attr);
-
- /**
- * Search LDAP tree
- * @param resource $link LDAP link resource
- * @param string $baseDN The DN of the entry to read from
- * @param string $filter An LDAP filter
- * @param array $attr array of the attributes to read
- * @param int $attrsOnly optional, 1 if only attribute types shall be returned
- * @param int $limit optional, limits the result entries
- * @return resource|false an LDAP search result resource, false on error
- */
- public function search($link, $baseDN, $filter, $attr, $attrsOnly = 0, $limit = 0);
-
- /**
- * Sets the value of the specified option to be $value
- * @param resource $link LDAP link resource
- * @param string $option a defined LDAP Server option
- * @param int $value the new value for the option
- * @return bool true on success, false otherwise
- */
- public function setOption($link, $option, $value);
-
- /**
- * establish Start TLS
- * @param resource $link LDAP link resource
- * @return bool true on success, false otherwise
- */
- public function startTls($link);
-
- /**
- * Unbind from LDAP directory
- * @param resource $link LDAP link resource
- * @return bool true on success, false otherwise
- */
- public function unbind($link);
-
- //additional required methods in ownCloud
-
- /**
- * Checks whether the server supports LDAP
- * @return bool true if it the case, false otherwise
- * */
- public function areLDAPFunctionsAvailable();
-
- /**
- * Checks whether PHP supports LDAP Paged Results
- * @return bool true if it the case, false otherwise
- * */
- public function hasPagedResultSupport();
-
- /**
- * Checks whether the submitted parameter is a resource
- * @param resource $resource the resource variable to check
- * @return bool true if it is a resource, false otherwise
- */
- public function isResource($resource);
-
-}
use OCA\User_LDAP\Group_LDAP as GroupLDAP;
use \OCA\user_ldap\lib\Access;
use \OCA\user_ldap\lib\Connection;
-use \OCA\user_ldap\lib\ILDAPWrapper;
/**
* Class GroupLDAPTest
$conMethods = get_class_methods('\OCA\user_ldap\lib\Connection');
$accMethods = get_class_methods('\OCA\user_ldap\lib\Access');
}
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
$connector = $this->getMock('\OCA\user_ldap\lib\Connection',
$conMethods,
array($lw, null, null));
$userMgr = $this->getMock('\OCP\IUserManager');
$connection = new \OCA\user_ldap\lib\Connection(
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper'),
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper'),
'',
null
);
unset($accMethods[array_search('getConnection', $accMethods)]);
$umMethods = get_class_methods('\OCA\User_LDAP\User\Manager');
}
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
$im = $this->getMock('\OCP\Image');
if (is_null($userMgr)) {
$userMgr = $this->getMock('\OCP\IUserManager');
use OCA\User_LDAP\User_LDAP as UserLDAP;
use \OCA\user_ldap\lib\Access;
use \OCA\user_ldap\lib\Connection;
-use \OCA\user_ldap\lib\ILDAPWrapper;
/**
* Class Test_User_Ldap_Direct
unset($uMethods[array_search('getDN', $uMethods)]);
unset($uMethods[array_search('__construct', $uMethods)]);
}
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
$connector = $this->getMock('\OCA\user_ldap\lib\Connection',
$conMethods,
array($lw, null, null));
use \OCA\User_LDAP\Wizard;
-// use \OCA\user_ldap\User_LDAP as UserLDAP;
+// use \OCA\User_LDAP\User_LDAP as UserLDAP;
// use \OCA\user_ldap\lib\Access;
// use \OCA\user_ldap\lib\Configuration;
-// use \OCA\user_ldap\lib\ILDAPWrapper;
+// use \OCA\User_LDAP\ILDAPWrapper;
/**
* Class Test_Wizard
$connMethods = get_class_methods('\OCA\user_ldap\lib\Connection');
$accMethods = get_class_methods('\OCA\user_ldap\lib\Access');
}
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
$conf = $this->getMock('\OCA\user_ldap\lib\Configuration',
$confMethods,
array($lw, null, null));
use \OCA\user_ldap\lib\Access;
use \OCA\user_ldap\lib\Connection;
-use \OCA\user_ldap\lib\ILDAPWrapper;
/**
* Class Test_Access
$accMethods = get_class_methods('\OCA\user_ldap\lib\Access');
$umMethods = get_class_methods('\OCA\User_LDAP\User\Manager');
}
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
$connector = $this->getMock('\OCA\user_ldap\lib\Connection',
$conMethods,
array($lw, null, null));
* @package OCA\user_ldap\tests
*/
class Test_Connection extends \Test\TestCase {
- /** @var \OCA\user_ldap\lib\ILDAPWrapper */
+ /** @var \OCA\User_LDAP\ILDAPWrapper */
protected $ldap;
/** @var Connection */
public function setUp() {
parent::setUp();
- $this->ldap = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $this->ldap = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
// we use a mock here to replace the cache mechanism, due to missing DI in LDAP backend.
$this->connection = $this->getMockBuilder('OCA\user_ldap\lib\Connection')
->setMethods(['getFromCache', 'writeToCache'])
//background: upon login a bind is done with the user credentials
//which is valid for the whole LDAP resource. It needs to be reset
//to the agent's credentials
- $lw = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+ $lw = $this->getMock('\OCA\User_LDAP\ILDAPWrapper');
$connection = new Connection($lw, '', null);
$agent = array(