diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2015-07-09 12:19:04 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2015-07-09 12:19:04 +0200 |
commit | bfdf39b9bd286e7739937f8856f85787e987043a (patch) | |
tree | 81533dea2371f9f50b993e9748309ba967d51984 /apps/user_ldap/tests/integration/setup-scripts | |
parent | 2b86ba43e33b2cd4339722548d22800ea4218a57 (diff) | |
download | nextcloud-server-bfdf39b9bd286e7739937f8856f85787e987043a.tar.gz nextcloud-server-bfdf39b9bd286e7739937f8856f85787e987043a.zip |
LDAP: when checking group for matching filter, also take base DN into consideration. Fixes #17516
Diffstat (limited to 'apps/user_ldap/tests/integration/setup-scripts')
-rw-r--r-- | apps/user_ldap/tests/integration/setup-scripts/createExplicitGroupsDifferentOU.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/apps/user_ldap/tests/integration/setup-scripts/createExplicitGroupsDifferentOU.php b/apps/user_ldap/tests/integration/setup-scripts/createExplicitGroupsDifferentOU.php new file mode 100644 index 00000000000..361881969cc --- /dev/null +++ b/apps/user_ldap/tests/integration/setup-scripts/createExplicitGroupsDifferentOU.php @@ -0,0 +1,52 @@ +<?php + +if(php_sapi_name() !== 'cli') { + print('Only via CLI, please.'); + exit(1); +} + +include __DIR__ . '/config.php'; + +$cr = ldap_connect($host, $port); +ldap_set_option($cr, LDAP_OPT_PROTOCOL_VERSION, 3); +$ok = ldap_bind($cr, $adn, $apwd); + +if (!$ok) { + die(ldap_error($cr)); +} + +$ouName = 'SpecialGroups'; +$ouDN = 'ou=' . $ouName . ',' . $bdn; + +//creates an OU +if (true) { + $entry = []; + $entry['objectclass'][] = 'top'; + $entry['objectclass'][] = 'organizationalunit'; + $entry['ou'] = $ouName; + $b = ldap_add($cr, $ouDN, $entry); + if (!$b) { + die(ldap_error($cr)); + } +} + +$groups = ['SquareGroup', 'CircleGroup', 'TriangleGroup', 'SquaredCircleGroup']; +// groupOfNames requires groups to have at least one member +// the member used is created by createExplicitUsers.php script +$omniMember = 'uid=alice,ou=Users,' . $bdn; + +foreach ($groups as $cn) { + $newDN = 'cn=' . $cn . ',' . $ouDN; + + $entry = []; + $entry['cn'] = $cn; + $entry['objectclass'][] = 'groupOfNames'; + $entry['member'][] = $omniMember; + + $ok = ldap_add($cr, $newDN, $entry); + if ($ok) { + echo('created group ' . ': ' . $entry['cn'] . PHP_EOL); + } else { + die(ldap_error($cr)); + } +} |