Disabled users throw constant fatal frror in logs: `ServiceUnavailable` + `LoginException`
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
I deactivated a user on my installation and this is also the only deactivated user. Apparently a device of said user is still configured to sync and therefore tries to log in. The server log shows fatal errors. If this is standard behaviour, I think that is a bug. Deactivating a user is a standard procedure. Hence a login attempt is not an error. Maybe it justifies some debug / ingo logging, but not to throw an exception.
(And the german "Benutzer deaktiviert" does not belong there either. ^^)
[webdav] Fatal: Sabre\DAV\Exception\ServiceUnavailable: OC\User\LoginException: Benutzer deaktiviert at <<closure>>
0. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php line 193
OCA\DAV\Connector\Sabre\Auth->check(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
1. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php line 144
Sabre\DAV\Auth\Plugin->check(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
2. /var/www/virtual/eppcloud/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
Sabre\DAV\Auth\Plugin->beforeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
3. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Server.php line 458
Sabre\DAV\Server->emit("beforeMethod:PROPFIND", [Sabre\HTTP\Requ ... }])
4. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Server.php line 251
Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
5. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Server.php line 319
Sabre\DAV\Server->start()
6. /var/www/virtual/eppcloud/html/apps/dav/lib/Server.php line 320
Sabre\DAV\Server->exec()
7. /var/www/virtual/eppcloud/html/apps/dav/appinfo/v2/remote.php line 35
OCA\DAV\Server->exec()
8. /var/www/virtual/eppcloud/html/remote.php line 167
require_once("/var/www/virtua ... p")
PROPFIND /remote.php/dav/principals/users/[deactivated-user]/
from 2a01:c23:7c4f:8400:5415:34a9:5636:47ed at 2020-09-09T20:49:48+00:00
[no app in context] Error: OC\User\LoginException: Benutzer deaktiviert at <<closure>>
0. /var/www/virtual/eppcloud/html/lib/private/User/Session.php line 617
OC\User\Session->completeLogin("*** sensitive parameters replaced ***")
1. /var/www/virtual/eppcloud/html/lib/private/User/Session.php line 366
OC\User\Session->loginWithPassword("*** sensitive parameters replaced ***")
2. /var/www/virtual/eppcloud/html/lib/private/User/Session.php line 459
OC\User\Session->login("*** sensitive parameters replaced ***")
3. /var/www/virtual/eppcloud/html/apps/dav/lib/Connector/Sabre/Auth.php line 131
OC\User\Session->logClientIn("*** sensitive parameters replaced ***")
4. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php line 106
OCA\DAV\Connector\Sabre\Auth->validateUserPass("*** sensitive parameters replaced ***")
5. /var/www/virtual/eppcloud/html/apps/dav/lib/Connector/Sabre/Auth.php line 254
Sabre\DAV\Auth\Backend\AbstractBasic->check(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
6. /var/www/virtual/eppcloud/html/apps/dav/lib/Connector/Sabre/Auth.php line 156
OCA\DAV\Connector\Sabre\Auth->auth(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
7. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php line 193
OCA\DAV\Connector\Sabre\Auth->check(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
8. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php line 144
Sabre\DAV\Auth\Plugin->check(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
9. /var/www/virtual/eppcloud/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
Sabre\DAV\Auth\Plugin->beforeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
10. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Server.php line 458
Sabre\DAV\Server->emit("beforeMethod:PROPFIND", [Sabre\HTTP\Requ ... }])
11. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Server.php line 251
Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
12. /var/www/virtual/eppcloud/html/3rdparty/sabre/dav/lib/DAV/Server.php line 319
Sabre\DAV\Server->start()
13. /var/www/virtual/eppcloud/html/apps/dav/lib/Server.php line 320
Sabre\DAV\Server->exec()
14. /var/www/virtual/eppcloud/html/apps/dav/appinfo/v2/remote.php line 35
OCA\DAV\Server->exec()
15. /var/www/virtual/eppcloud/html/remote.php line 167
require_once("/var/www/virtua ... p")
PROPFIND /remote.php/dav/principals/users/[deactivated-user]/
from 2a01:c23:7c4f:8400:5415:34a9:5636:47ed at 2020-09-09T20:49:48+00:00
Server configuration detail
Operating system: Linux 2.6.32-754.15.3.el6.x86_64 #1 SMP Tue Jun 18 16:25:32 UTC 2019 x86_64
Webserver: Apache/2.2.15 (CentOS) (cgi-fcgi)
Database: mysql 5.1.73
PHP version: 7.2.31
Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, bcmath, bz2, calendar, ctype, curl, dom, hash, fileinfo, filter, ftp, gd, gettext, gmp, SPL, iconv, session, intl, json, ldap, mbstring, standard, mysqlnd, pcntl, mysqli, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, Reflection, imap, shmop, SimpleXML, soap, sockets, exif, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, cgi-fcgi, redis, imagick, Zend OPcache
Nextcloud version: 19.0.2 - 19.0.2.2
Updated from an older Nextcloud/ownCloud or fresh install: updated
Where did you install Nextcloud from: updater
Signing status
Array ( )
List of activated apps
Enabled:
- accessibility: 1.5.0
- activity: 2.12.0
- admin_audit: 1.9.0
- bruteforcesettings: 2.0.1
- calendar: 2.0.4
- cloud_federation_api: 1.2.0
- comments: 1.9.0
- contacts: 3.3.0
- contactsinteraction: 1.0.0
- dav: 1.15.0
- federatedfilesharing: 1.9.0
- federation: 1.9.0
- files: 1.14.0
- files_external: 1.10.0
- files_pdfviewer: 1.8.0
- files_rightclick: 0.16.0
- files_sharing: 1.11.0
- files_trashbin: 1.9.0
- files_versions: 1.12.0
- files_videoplayer: 1.8.0
- firstrunwizard: 2.8.0
- logreader: 2.4.0
- lookup_server_connector: 1.7.0
- mail: 1.4.1
- nextcloud_announcements: 1.8.0
- notifications: 2.7.0
- oauth2: 1.7.0
- password_policy: 1.9.1
- photos: 1.1.0
- polls: 1.4.3
- privacy: 1.3.0
- provisioning_api: 1.9.0
- recommendations: 0.7.0
- serverinfo: 1.9.0
- settings: 1.1.0
- sharebymail: 1.9.0
- support: 1.2.1
- survey_client: 1.7.0
- tasks: 0.13.3
- text: 3.0.1
- theming: 1.10.0
- twofactor_backupcodes: 1.8.0
- twofactor_totp: 5.0.0
- twofactor_u2f: 6.0.0
- updatenotification: 1.9.0
- viewer: 1.3.0
- workflowengine: 2.1.0
Disabled: - encryption
- files_markdown
- news
- notes
- systemtags
- user_ldap
Configuration (config/config.php)
{
"instanceid": "REMOVED SENSITIVE VALUE",
"passwordsalt": "REMOVED SENSITIVE VALUE",
"secret": "REMOVED SENSITIVE VALUE",
"trusted_domains": [
"REMOVED SENSITIVE VALUE"
],
"datadirectory": "REMOVED SENSITIVE VALUE",
"dbtype": "mysql",
"version": "19.0.2.2",
"dbname": "REMOVED SENSITIVE VALUE",
"dbhost": "REMOVED SENSITIVE VALUE",
"dbtableprefix": "oc_",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"logtimezone": "UTC",
"installed": true,
"loglevel": 0,
"filelocking.enabled": "true",
"memcache.locking": "\OC\Memcache\Redis",
"memcache.local": "\OC\Memcache\Redis",
"redis": {
"host": "REMOVED SENSITIVE VALUE",
"port": 0,
"timeout": 0
},
"forcessl": true,
"mail_from_address": "REMOVED SENSITIVE VALUE",
"mail_smtpmode": "smtp",
"mail_domain": "REMOVED SENSITIVE VALUE",
"maintenance": false,
"updater.release.channel": "stable",
"debug": false,
"appstore.experimental.enabled": true,
"theme": "",
"log_rotate_size": 104857600,
"overwrite.cli.url": "REMOVED SENSITIVE VALUE",
"htaccess.RewriteBase": "/",
"htaccess.IgnoreFrontController": true,
"mail_smtpsecure": "ssl",
"mail_smtpauthtype": "LOGIN",
"mail_smtpauth": 1,
"mail_smtphost": "REMOVED SENSITIVE VALUE",
"mail_smtpport": "465",
"mail_smtpname": "REMOVED SENSITIVE VALUE",
"mail_smtppassword": "REMOVED SENSITIVE VALUE",
"twofactor_enforced": "true",
"twofactor_enforced_groups": [
"admin"
],
"twofactor_enforced_excluded_groups": [
"Familie",
"test"
],
"preview_max_x": "2048",
"preview_max_y": "2048",
"jpeg_quality": "60"
}
External storages: yes
External storage configuration
Encryption: no
User-backends:
OC\User\Database
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with apps/dav/lib/Connector/Sabre/Auth.php and lib/private/User/Session.php, then reproduce the DAV PROPFIND request using a deactivated user's credentials. Trace how the disabled-user LoginException becomes a fatal ServiceUnavailable log entry. Done means the expected authentication response remains intact without repeated fatal errors or the German exception text in server logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- authentication, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100