owncloud / owncloud/user_ldap

Uninstalling user_ldap using market app leads to a broken server.

Open
#115 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug p3-medium
Dominant language
PHP
Stars
17
Forks
19
Avg merge
11h 40m
Merged PRs (30d)
2

Description

Steps to reproduce
  1. Having a server with market app installed and enabled.
  2. Using admin user go to market.
  3. Search for user_ldap app.
  4. Install it.
  5. Uninstall it.
  6. Access the server.
Expected behaviour

App user_ldap unsintalled. Server working correctly.

Actual behaviour

500 errors. Server failing in ldap code.

Server configuration

Operating system:
Ubuntu 16.04

Web server:
Apache

Database:
MySQL

PHP version:
7.0

ownCloud version: (see ownCloud admin page)
current master
{"installed":"true","maintenance":"false","needsDbUpgrade":"false","version":"10.0.2.1","versionstring":"10.0.2.1","edition":"Enterprise","productname":"ownCloud"}

Updated from an older ownCloud or fresh install:
Fresh

The content of config/config.php:


Are you using external storage, if yes which one: local/smb/sftp/...
No.

Are you using encryption:
No

Logs
When accessing the server

{"reqId":"puq1JvZi5uE02eMRDztN","level":3,"time":"2017-07-17T12:48:20+00:00","remoteAddr":"HIDDEN_IP","user":"admin","app":"index","method":"GET","url":"\/index.php\/logout?requesttoken=BxYfPTEFK1VzWhQOQCxKDwMQPEZxEhZSBTJ3EhkmbDo%3D%3A1wgrhsXmD2Szsu89isH5EJp4dbCwpn4XnW1v5OPlps8%3D","message":"Exception: {\"Exception\":\"Error\",\"Message\":\"Class 'OCA\\\\User_LDAP\\\\Helper' not found\",\"Code\":0,\"Trace\":\"#0 \\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php(42): OCA\\\\Files_LDAP_Home\\\\Storage::initiateLDAPAccess(Object(OC\\\\AllConfig))\\n#1 \\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php(150): OCA\\\\Files_LDAP_Home\\\\Storage->__construct(Array)\\n#2 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/hook.php(105): OCA\\\\Files_LDAP_Home\\\\Storage::setup(Array)\\n#3 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Filesystem.php(452): OC_Hook::emit('OC_Filesystem', 'post_initMountP...', Array)\\n#4 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Filesystem.php(375): OC\\\\Files\\\\Filesystem::initMountPoints('admin')\\n#5 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/util.php(297): OC\\\\Files\\\\Filesystem::init('admin', '\\\/admin\\\/files')\\n#6 \\\/opt\\\/owncloud\\\/lib\\\/base.php(919): OC_Util::setupFS()\\n#7 \\\/opt\\\/owncloud\\\/index.php(49): OC::handleRequest()\\n#8 {main}\",\"File\":\"\\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php\",\"Line\":97}"}
{"reqId":"6P9H3rs7QWLCmDs1OsoS","level":3,"time":"2017-07-17T12:48:20+00:00","remoteAddr":"HIDDEN_IP","user":"admin","app":"index","method":"GET","url":"\/index.php\/undefined\/img\/notifications.svg","message":"Exception: {\"Exception\":\"Error\",\"Message\":\"Class 'OCA\\\\User_LDAP\\\\Helper' not found\",\"Code\":0,\"Trace\":\"#0 \\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php(42): OCA\\\\Files_LDAP_Home\\\\Storage::initiateLDAPAccess(Object(OC\\\\AllConfig))\\n#1 \\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php(150): OCA\\\\Files_LDAP_Home\\\\Storage->__construct(Array)\\n#2 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/hook.php(105): OCA\\\\Files_LDAP_Home\\\\Storage::setup(Array)\\n#3 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Filesystem.php(452): OC_Hook::emit('OC_Filesystem', 'post_initMountP...', Array)\\n#4 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Filesystem.php(375): OC\\\\Files\\\\Filesystem::initMountPoints('admin')\\n#5 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/util.php(297): OC\\\\Files\\\\Filesystem::init('admin', '\\\/admin\\\/files')\\n#6 \\\/opt\\\/owncloud\\\/lib\\\/base.php(919): OC_Util::setupFS()\\n#7 \\\/opt\\\/owncloud\\\/index.php(49): OC::handleRequest()\\n#8 {main}\",\"File\":\"\\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php\",\"Line\":97}"}
{"reqId":"4ieWGJZEW4dTVUw3v4Ze","level":3,"time":"2017-07-17T12:48:27+00:00","remoteAddr":"HIDDEN_IP","user":"admin","app":"index","method":"GET","url":"\/","message":"Exception: {\"Exception\":\"Error\",\"Message\":\"Class 'OCA\\\\User_LDAP\\\\Helper' not found\",\"Code\":0,\"Trace\":\"#0 \\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php(42): OCA\\\\Files_LDAP_Home\\\\Storage::initiateLDAPAccess(Object(OC\\\\AllConfig))\\n#1 \\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php(150): OCA\\\\Files_LDAP_Home\\\\Storage->__construct(Array)\\n#2 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/hook.php(105): OCA\\\\Files_LDAP_Home\\\\Storage::setup(Array)\\n#3 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Filesystem.php(452): OC_Hook::emit('OC_Filesystem', 'post_initMountP...', Array)\\n#4 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Filesystem.php(375): OC\\\\Files\\\\Filesystem::initMountPoints('admin')\\n#5 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/util.php(297): OC\\\\Files\\\\Filesystem::init('admin', '\\\/admin\\\/files')\\n#6 \\\/opt\\\/owncloud\\\/lib\\\/base.php(919): OC_Util::setupFS()\\n#7 \\\/opt\\\/owncloud\\\/index.php(49): OC::handleRequest()\\n#8 {main}\",\"File\":\"\\\/opt\\\/owncloud\\\/apps\\\/files_ldap_home\\\/lib\\\/Storage.php\",\"Line\":97}"}
Client configuration

Browser
Edge

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with apps/files_ldap_home/lib/Storage.php, especially initiateLDAPAccess and line 97, then reproduce the install/uninstall sequence for user_ldap. Confirm how the missing OCA\User_LDAP\Helper class is reached after uninstall. Done means the server no longer returns 500 errors after user_ldap is removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.