Upon upgrading to Nextcloud 32, Nextcloud throws an exception due to LDAP connection problems with an LDAP config that has worked in previous versions of Nextcloud. This is due to assumptions that the User/Group base is always the same as root base, but this may not be true for some overlay directory schemas. This doesn't just break LDAP login, but causes Nextcloud to throw an exception generally for web based requests.
Commenting out the checks allows users and groups to resolve normally with the previous config.
Upgrades between Nextcloud versions continue to generally function and/or gracefully handle breaking configuration changes between versions.
Upgraded to a MAJOR version (ex. 31 to 32)
{"reqId":"fpTz1k9Kb2FqJhBzk984","level":3,"time":"2025-10-07T17:40:42+00:00","remoteAddr":"184.189.235.227","user":"--","app":"no app in context","method":"PROPFIND","url":"/remote.php/dav/files/scottwilliams_3700/","message":"Connection to LDAP server could not be established","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.3daily (Nextcloud, fedora-6.16.8-200.fc42.x86_64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"32.0.0.13","clientReqId":"ad464a43-a1eb-49fa-bc93-eed8107ea1a7","exception":{"Exception":"OC\\ServerNotAvailableException","Message":"Connection to LDAP server could not be established","Code":0,"Trace":[{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":1118,"function":"getConnectionResource","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":1294,"function":"executeSearch","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":985,"function":"search","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":894,"function":"searchUsers","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":874,"function":"fetchListOfUsers","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/User_LDAP.php","line":120,"function":"fetchUsersByLoginName","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/User_LDAP.php","line":80,"function":"getLDAPUserByLoginName","class":"OCA\\User_LDAP\\User_LDAP","type":"->"},{"function":"loginName2UserName","class":"OCA\\User_LDAP\\User_LDAP","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/user_ldap/lib/User_Proxy.php","line":66,"function":"call_user_func_array"},{"file":"/var/www/html/apps/user_ldap/lib/Proxy.php","line":153,"function":"walkBackends","class":"OCA\\User_LDAP\\User_Proxy","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/User_Proxy.php","line":226,"function":"handleRequest","class":"OCA\\User_LDAP\\Proxy","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Helper.php","line":298,"function":"loginName2UserName","class":"OCA\\User_LDAP\\User_Proxy","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/legacy/OC_Hook.php","line":85,"function":"loginName2UserName","class":"OCA\\User_LDAP\\Helper","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/public/Util.php","line":432,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/var/www/html/apps/password_policy/lib/ComplianceService.php","line":61,"function":"emitHook","class":"OCP\\Util","type":"::"},{"file":"/var/www/html/apps/password_policy/lib/Listener/BeforeUserLoggedInEventListener.php","line":31,"function":"entryControl","class":"OCA\\Password_Policy\\ComplianceService","type":"->"},{"file":"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php","line":57,"function":"handle","class":"OCA\\Password_Policy\\Listener\\BeforeUserLoggedInEventListener","type":"->"},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":220,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->"},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":56,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":67,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":79,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/lib/private/Server.php","line":518,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"function":"OC\\{closure}","class":"OC\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Hooks/EmitterTrait.php","line":89,"function":"call_user_func_array"},{"file":"/var/www/html/lib/private/Hooks/PublicEmitter.php","line":23,"function":"emit","class":"OC\\Hooks\\BasicEmitter","type":"->"},{"file":"/var/www/html/lib/private/User/Session.php","line":388,"function":"emit","class":"OC\\Hooks\\PublicEmitter","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":81,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":193,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":106,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/user_ldap/lib/Connection.php","Line":249,"message":"Connection to LDAP server could not be established","exception":{},"CustomMessage":"Connection to LDAP server could not be established"}}
{"reqId":"fpTz1k9Kb2FqJhBzk984","level":3,"time":"2025-10-07T17:40:42+00:00","remoteAddr":"184.189.235.227","user":"--","app":"webdav","method":"PROPFIND","url":"/remote.php/dav/files/scottwilliams_3700/","message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.3daily (Nextcloud, fedora-6.16.8-200.fc42.x86_64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"32.0.0.13","clientReqId":"ad464a43-a1eb-49fa-bc93-eed8107ea1a7","exception":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","Line":113,"message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","exception":{},"CustomMessage":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established"}}
{"reqId":"fpTz1k9Kb2FqJhBzk984","level":3,"time":"2025-10-07T17:40:42+00:00","remoteAddr":"184.189.235.227","user":"--","app":"no app in context","method":"PROPFIND","url":"/remote.php/dav/files/scottwilliams_3700/","message":"Uncaught exception","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.3daily (Nextcloud, fedora-6.16.8-200.fc42.x86_64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"32.0.0.13","clientReqId":"ad464a43-a1eb-49fa-bc93-eed8107ea1a7","exception":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","Line":113,"message":"Uncaught exception","exception":{},"CustomMessage":"Uncaught exception"}}
{"reqId":"YfMGzafIVpwypISXVsRT","level":2,"time":"2025-10-07T17:41:05+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"Configuration Error (prefix s01): User base is not in root base","userAgent":"--","version":"32.0.0.13","exception":{"Exception":"OCA\\User_LDAP\\Exceptions\\ConfigurationIssueException","Message":"User base is not in root base","Code":0,"Trace":[{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":584,"function":"doCriticalValidation","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":329,"function":"validateConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":369,"function":"readConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":77,"function":"getConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":53,"function":"testConfig","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/console.php","line":90,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/occ","line":33,"args":["/var/www/html/console.php"],"function":"require_once"}],"File":"/var/www/html/apps/user_ldap/lib/Connection.php","Line":524,"Hint":"User base DN is not a subnode of global base DN","message":"Configuration Error (prefix s01): User base is not in root base","exception":{},"CustomMessage":"Configuration Error (prefix s01): User base is not in root base"}}
{"reqId":"YfMGzafIVpwypISXVsRT","level":2,"time":"2025-10-07T17:41:05+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"Configuration Error (prefix s01): User base is not in root base","userAgent":"--","version":"32.0.0.13","exception":{"Exception":"OCA\\User_LDAP\\Exceptions\\ConfigurationIssueException","Message":"User base is not in root base","Code":0,"Trace":[{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":584,"function":"doCriticalValidation","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":347,"function":"validateConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":79,"function":"setConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":53,"function":"testConfig","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/console.php","line":90,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/occ","line":33,"args":["/var/www/html/console.php"],"function":"require_once"}],"File":"/var/www/html/apps/user_ldap/lib/Connection.php","Line":524,"Hint":"User base DN is not a subnode of global base DN","message":"Configuration Error (prefix s01): User base is not in root base","exception":{},"CustomMessage":"Configuration Error (prefix s01): User base is not in root base"}}
Bug description
Upon upgrading to Nextcloud 32, Nextcloud throws an exception due to LDAP connection problems with an LDAP config that has worked in previous versions of Nextcloud. This is due to assumptions that the User/Group base is always the same as root base, but this may not be true for some overlay directory schemas. This doesn't just break LDAP login, but causes Nextcloud to throw an exception generally for web based requests.
Commenting out the checks allows users and groups to resolve normally with the previous config.
Steps to reproduce
Expected behavior
Upgrades between Nextcloud versions continue to generally function and/or gracefully handle breaking configuration changes between versions.
Nextcloud Server version
32
Operating system
RHEL/CentOS
PHP engine version
PHP 8.2
Web server
Other
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 31 to 32)
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
{ "system": { "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "nextcloud.lsit.ucsb.edu" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "mysql", "version": "32.0.0.13", "overwrite.cli.url": "https:\/\/nextcloud.lsit.ucsb.edu", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "oc_", "default_language": "en", "default_locale": "en_US", "default_phone_region": "US", "mysql.utf8mb4": true, "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory", "memcache.local": "\\OC\\Memcache\\APCu", "memcache.distributed": "\\OC\\Memcache\\Redis", "memcache.locking": "\\OC\\Memcache\\Redis", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "port": 6379 }, "updater.secret": "***REMOVED SENSITIVE VALUE***", "maintenance": false, "theme": "", "loglevel": 2 } }List of activated Apps
Nextcloud Signing status
Nextcloud Logs
{"reqId":"fpTz1k9Kb2FqJhBzk984","level":3,"time":"2025-10-07T17:40:42+00:00","remoteAddr":"184.189.235.227","user":"--","app":"no app in context","method":"PROPFIND","url":"/remote.php/dav/files/scottwilliams_3700/","message":"Connection to LDAP server could not be established","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.3daily (Nextcloud, fedora-6.16.8-200.fc42.x86_64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"32.0.0.13","clientReqId":"ad464a43-a1eb-49fa-bc93-eed8107ea1a7","exception":{"Exception":"OC\\ServerNotAvailableException","Message":"Connection to LDAP server could not be established","Code":0,"Trace":[{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":1118,"function":"getConnectionResource","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":1294,"function":"executeSearch","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":985,"function":"search","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":894,"function":"searchUsers","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Access.php","line":874,"function":"fetchListOfUsers","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/User_LDAP.php","line":120,"function":"fetchUsersByLoginName","class":"OCA\\User_LDAP\\Access","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/User_LDAP.php","line":80,"function":"getLDAPUserByLoginName","class":"OCA\\User_LDAP\\User_LDAP","type":"->"},{"function":"loginName2UserName","class":"OCA\\User_LDAP\\User_LDAP","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/user_ldap/lib/User_Proxy.php","line":66,"function":"call_user_func_array"},{"file":"/var/www/html/apps/user_ldap/lib/Proxy.php","line":153,"function":"walkBackends","class":"OCA\\User_LDAP\\User_Proxy","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/User_Proxy.php","line":226,"function":"handleRequest","class":"OCA\\User_LDAP\\Proxy","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Helper.php","line":298,"function":"loginName2UserName","class":"OCA\\User_LDAP\\User_Proxy","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/legacy/OC_Hook.php","line":85,"function":"loginName2UserName","class":"OCA\\User_LDAP\\Helper","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/public/Util.php","line":432,"function":"emit","class":"OC_Hook","type":"::"},{"file":"/var/www/html/apps/password_policy/lib/ComplianceService.php","line":61,"function":"emitHook","class":"OCP\\Util","type":"::"},{"file":"/var/www/html/apps/password_policy/lib/Listener/BeforeUserLoggedInEventListener.php","line":31,"function":"entryControl","class":"OCA\\Password_Policy\\ComplianceService","type":"->"},{"file":"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php","line":57,"function":"handle","class":"OCA\\Password_Policy\\Listener\\BeforeUserLoggedInEventListener","type":"->"},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":220,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->"},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":56,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":67,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":79,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/lib/private/Server.php","line":518,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->"},{"function":"OC\\{closure}","class":"OC\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Hooks/EmitterTrait.php","line":89,"function":"call_user_func_array"},{"file":"/var/www/html/lib/private/Hooks/PublicEmitter.php","line":23,"function":"emit","class":"OC\\Hooks\\BasicEmitter","type":"->"},{"file":"/var/www/html/lib/private/User/Session.php","line":388,"function":"emit","class":"OC\\Hooks\\PublicEmitter","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":81,"function":"logClientIn","class":"OC\\User\\Session","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php","line":103,"function":"validateUserPass","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":193,"function":"check","class":"Sabre\\DAV\\Auth\\Backend\\AbstractBasic","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","line":106,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/user_ldap/lib/Connection.php","Line":249,"message":"Connection to LDAP server could not be established","exception":{},"CustomMessage":"Connection to LDAP server could not be established"}} {"reqId":"fpTz1k9Kb2FqJhBzk984","level":3,"time":"2025-10-07T17:40:42+00:00","remoteAddr":"184.189.235.227","user":"--","app":"webdav","method":"PROPFIND","url":"/remote.php/dav/files/scottwilliams_3700/","message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.3daily (Nextcloud, fedora-6.16.8-200.fc42.x86_64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"32.0.0.13","clientReqId":"ad464a43-a1eb-49fa-bc93-eed8107ea1a7","exception":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","Line":113,"message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","exception":{},"CustomMessage":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established"}} {"reqId":"fpTz1k9Kb2FqJhBzk984","level":3,"time":"2025-10-07T17:40:42+00:00","remoteAddr":"184.189.235.227","user":"--","app":"no app in context","method":"PROPFIND","url":"/remote.php/dav/files/scottwilliams_3700/","message":"Uncaught exception","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.3daily (Nextcloud, fedora-6.16.8-200.fc42.x86_64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"32.0.0.13","clientReqId":"ad464a43-a1eb-49fa-bc93-eed8107ea1a7","exception":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"OC\\ServerNotAvailableException: Connection to LDAP server could not be established","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->"},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":211,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/apps/dav/lib/Server.php","line":424,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":22,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/Auth.php","Line":113,"message":"Uncaught exception","exception":{},"CustomMessage":"Uncaught exception"}} {"reqId":"YfMGzafIVpwypISXVsRT","level":2,"time":"2025-10-07T17:41:05+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"Configuration Error (prefix s01): User base is not in root base","userAgent":"--","version":"32.0.0.13","exception":{"Exception":"OCA\\User_LDAP\\Exceptions\\ConfigurationIssueException","Message":"User base is not in root base","Code":0,"Trace":[{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":584,"function":"doCriticalValidation","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":329,"function":"validateConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":369,"function":"readConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":77,"function":"getConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":53,"function":"testConfig","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/console.php","line":90,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/occ","line":33,"args":["/var/www/html/console.php"],"function":"require_once"}],"File":"/var/www/html/apps/user_ldap/lib/Connection.php","Line":524,"Hint":"User base DN is not a subnode of global base DN","message":"Configuration Error (prefix s01): User base is not in root base","exception":{},"CustomMessage":"Configuration Error (prefix s01): User base is not in root base"}} {"reqId":"YfMGzafIVpwypISXVsRT","level":2,"time":"2025-10-07T17:41:05+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"Configuration Error (prefix s01): User base is not in root base","userAgent":"--","version":"32.0.0.13","exception":{"Exception":"OCA\\User_LDAP\\Exceptions\\ConfigurationIssueException","Message":"User base is not in root base","Code":0,"Trace":[{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":584,"function":"doCriticalValidation","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Connection.php","line":347,"function":"validateConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":79,"function":"setConfiguration","class":"OCA\\User_LDAP\\Connection","type":"->"},{"file":"/var/www/html/apps/user_ldap/lib/Command/TestConfig.php","line":53,"function":"testConfig","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OCA\\User_LDAP\\Command\\TestConfig","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/console.php","line":90,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/occ","line":33,"args":["/var/www/html/console.php"],"function":"require_once"}],"File":"/var/www/html/apps/user_ldap/lib/Connection.php","Line":524,"Hint":"User base DN is not a subnode of global base DN","message":"Configuration Error (prefix s01): User base is not in root base","exception":{},"CustomMessage":"Configuration Error (prefix s01): User base is not in root base"}}Additional info
Workaround is to comment out these checks in user_ldap/lib/Connection.php:523
After doing so, verify LDAP now works again via occ: