|
|
|
|
@ -457,13 +457,13 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
|
|
|
|
|
// look through dynamic groups to add them to the result array if needed
|
|
|
|
|
$groupsToMatch = $this->access->fetchListOfGroups(
|
|
|
|
|
$this->access->connection->ldapGroupFilter,array('dn',$dynamicGroupMemberURL));
|
|
|
|
|
foreach($groupsToMatch as $memberUrl) {
|
|
|
|
|
if (!array_key_exists($dynamicGroupMemberURL, $memberUrl)) {
|
|
|
|
|
foreach($groupsToMatch as $dynamicGroup) {
|
|
|
|
|
if (!array_key_exists($dynamicGroupMemberURL, $dynamicGroup)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
$pos = strpos($memberUrl[$dynamicGroupMemberURL][0], '(');
|
|
|
|
|
$pos = strpos($dynamicGroup[$dynamicGroupMemberURL][0], '(');
|
|
|
|
|
if ($pos !== false) {
|
|
|
|
|
$memberUrlFilter = substr($memberUrl[$dynamicGroupMemberURL][0],$pos);
|
|
|
|
|
$memberUrlFilter = substr($dynamicGroup[$dynamicGroupMemberURL][0],$pos);
|
|
|
|
|
// apply filter via ldap search to see if this user is in this
|
|
|
|
|
// dynamic group
|
|
|
|
|
$userMatch = $this->access->readAttribute(
|
|
|
|
|
@ -473,15 +473,15 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
|
|
|
|
|
);
|
|
|
|
|
if ($userMatch !== false) {
|
|
|
|
|
// match found so this user is in this group
|
|
|
|
|
$pos = strpos($memberUrl['dn'][0], ',');
|
|
|
|
|
$pos = strpos($dynamicGroup['dn'][0], ',');
|
|
|
|
|
if ($pos !== false) {
|
|
|
|
|
$membershipGroup = substr($memberUrl['dn'][0],3,$pos-3);
|
|
|
|
|
$membershipGroup = substr($dynamicGroup['dn'][0],3,$pos-3);
|
|
|
|
|
$groups[] = $membershipGroup;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
\OCP\Util::writeLog('user_ldap', 'No search filter found on member url '.
|
|
|
|
|
'of group ' . $dnGroup, \OCP\Util::DEBUG);
|
|
|
|
|
'of group ' . $dynamicGroup, \OCP\Util::DEBUG);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|