diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2025-02-27 13:50:17 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2025-03-03 12:53:24 +0100 |
commit | 939a8d5ea56def06d788b11f9fae9642befbdde6 (patch) | |
tree | 210c6cbe0badb6bbdcebf27f2ca86b8ed202d14f /apps/user_ldap | |
parent | 7bab703dff8b44f7f8b15c5658351f7aa1aa3742 (diff) | |
download | nextcloud-server-939a8d5ea56def06d788b11f9fae9642befbdde6.tar.gz nextcloud-server-939a8d5ea56def06d788b11f9fae9642befbdde6.zip |
fix(LDAP): use ldap_set_option over putenv to disable cert checkfix/noid/ldap-setopt-for-disabling-certcheck
the putenv option was not working reliable anymore anyway
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/user_ldap')
-rw-r--r-- | apps/user_ldap/lib/Connection.php | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php index 14dfcdb1bc5..a4af0d68bd5 100644 --- a/apps/user_ldap/lib/Connection.php +++ b/apps/user_ldap/lib/Connection.php @@ -627,19 +627,6 @@ class Connection extends LDAPUtility { return false; } - if ($this->configuration->turnOffCertCheck) { - if (putenv('LDAPTLS_REQCERT=never')) { - $this->logger->debug( - 'Turned off SSL certificate validation successfully.', - ['app' => 'user_ldap'] - ); - } else { - $this->logger->warning( - 'Could not turn off SSL certificate validation.', - ['app' => 'user_ldap'] - ); - } - } $hasBackupHost = (trim($this->configuration->ldapBackupHost ?? '') !== ''); $hasBackgroundHost = (trim($this->configuration->ldapBackgroundHost ?? '') !== ''); @@ -718,6 +705,20 @@ class Connection extends LDAPUtility { } if ($this->configuration->ldapTLS) { + if ($this->configuration->turnOffCertCheck) { + if ($this->ldap->setOption($this->ldapConnectionRes, LDAP_OPT_X_TLS_REQUIRE_CERT, LDAP_OPT_X_TLS_NEVER)) { + $this->logger->debug( + 'Turned off SSL certificate validation successfully.', + ['app' => 'user_ldap'] + ); + } else { + $this->logger->warning( + 'Could not turn off SSL certificate validation.', + ['app' => 'user_ldap'] + ); + } + } + if (!$this->ldap->startTls($this->ldapConnectionRes)) { throw new ServerNotAvailableException('Start TLS failed, when connecting to LDAP host ' . $host . '.'); } |