xperseguers / t3ext-ig_ldap_sso_auth

TYPO3 Extension ig_ldap_sso_auth. This extension provides LDAP and SSO support for TYPO3.
https://extensions.typo3.org/extension/ig_ldap_sso_auth
27 stars 62 forks source link

Version 3.6.99 works, Version 3.7.1 cannot find any users to import #159

Closed hartundweich closed 1 year ago

hartundweich commented 1 year ago

Today I upgraded a typo3 V9 to V10. After the upgrade I updatet ig_ldap_sso_auth from 3.6.99 to 3.7.1 - LDAP connection is still working but I cannot import any users. It is saying "no users found" - I cannot state why my import is not working any more after upgrade from 3.6.99 to 3.7.1 Maybe it is because I still have to use PHP 7.2?

hartundweich commented 1 year ago

Just a little step further after some debug playing: File: Classes/Utility/LdapUtility.php line 345:

If I remove the "$controls" variable from the line the extension is working as desired.... So something seems to be wrong here for PHP 7.2?

bnf commented 1 year ago

We experienced the same issue with an old cronjob that still used PHP 7.2.

Good catch @hartundweich, it indeed broke due to adding $controls as argument in https://github.com/xperseguers/t3ext-ig_ldap_sso_auth/commit/1512f7efb451c9217614a53a6cf4d891ea4bf24f
All arguments to ldap_search are passed-through to the native C-function – see https://github.com/php/php-src/blob/PHP-7.2.34/ext/ldap/ldap.c#L1049-L1054 – so $controls = [] actually causes a reset of the previous ldap_control_paged_result() call, even in PHP 7.2 where the parameter is documneted to be not existent.

So yea, solution is to switch to PHP 7.4/8 or to avoid $controls. Will push a PR.