Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2022-01-31 16:44:59 +0300
committerCôme Chilliet <come.chilliet@nextcloud.com>2022-02-17 11:58:28 +0300
commit75ce9a4832425f6a0226815c5d3407108a36d1ba (patch)
tree0a55469b09abde230903e788e6e1e1c0caffbdd0
parent5ee0fb3acb918d16c78addaa54d3a581f9e4f982 (diff)
Fix ldap:check-user method for newly created LDAP users
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
-rw-r--r--apps/user_ldap/lib/Command/CheckUser.php26
1 files changed, 11 insertions, 15 deletions
diff --git a/apps/user_ldap/lib/Command/CheckUser.php b/apps/user_ldap/lib/Command/CheckUser.php
index e6b5a634a24..d05d341f6d9 100644
--- a/apps/user_ldap/lib/Command/CheckUser.php
+++ b/apps/user_ldap/lib/Command/CheckUser.php
@@ -90,7 +90,7 @@ class CheckUser extends Command {
try {
$uid = $input->getArgument('ocName');
$this->isAllowed($input->getOption('force'));
- $this->confirmUserIsMapped($uid);
+ $wasMapped = $this->userWasMapped($uid);
$exists = $this->backend->userExistsOnLDAP($uid, true);
if ($exists === true) {
$output->writeln('The user is still available on LDAP.');
@@ -98,13 +98,15 @@ class CheckUser extends Command {
$this->updateUser($uid, $output);
}
return 0;
+ } elseif ($wasMapped) {
+ $this->dui->markUser($uid);
+ $output->writeln('The user does not exists on LDAP anymore.');
+ $output->writeln('Clean up the user\'s remnants by: ./occ user:delete "'
+ . $uid . '"');
+ return 0;
+ } else {
+ throw new \Exception('The given user is not a recognized LDAP user.');
}
-
- $this->dui->markUser($uid);
- $output->writeln('The user does not exists on LDAP anymore.');
- $output->writeln('Clean up the user\'s remnants by: ./occ user:delete "'
- . $uid . '"');
- return 0;
} catch (\Exception $e) {
$output->writeln('<error>' . $e->getMessage(). '</error>');
return 1;
@@ -114,16 +116,10 @@ class CheckUser extends Command {
/**
* checks whether a user is actually mapped
* @param string $ocName the username as used in Nextcloud
- * @throws \Exception
- * @return true
*/
- protected function confirmUserIsMapped($ocName) {
+ protected function userWasMapped(string $ocName): bool {
$dn = $this->mapping->getDNByName($ocName);
- if ($dn === false) {
- throw new \Exception('The given user is not a recognized LDAP user.');
- }
-
- return true;
+ return ($dn !== false);
}
/**