nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.44k stars 4.08k forks source link

WebDAV Undefined index: {DAV:}getlastmodified #15363

Closed sushifrick closed 2 years ago

sushifrick commented 5 years ago

Steps to reproduce

  1. Add OpenOLAT webdav share from in the external_files app
  2. Credentials are Checked successfully (green arrow)
  3. The folder stays empty (No files in here)

Expected behaviour

WebDAV Files are listed and accessible. Any other tested WebDAV client (Windows, Konquerer, Nautilus, cadaver work just fine.

Actual behaviour

The external_share shows up, but is empty (No files in here) The log shows

{"reqId":"XMwmVv1CgHdPL6Q-Y8M6lAAAAAE","level":3,"time":"2019-05-03T11:30:30+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"PROPFIND","url":"\/remote.php\/dav\/files\/username\/OLAT","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/DAV.php#800","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"}
{"reqId":"XMwmVv1CgHdPL6Q-Y8M6lQAAAAE","level":3,"time":"2019-05-03T11:30:30+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/DAV.php#800","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"}
{"reqId":"XMwmVv1CgHdPL6Q-Y8M6lQAAAAE","level":3,"time":"2019-05-03T11:30:30+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"}
{"reqId":"XMwmVv1CgHdPL6Q-Y8M6lQAAAAE","level":3,"time":"2019-05-03T11:30:30+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"}
{"reqId":"XMwmVv1CgHdPL6Q-Y8M6lQAAAAE","level":3,"time":"2019-05-03T11:30:30+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"}
{"reqId":"XMwmVv1CgHdPL6Q-Y8M6lQAAAAE","level":3,"time":"2019-05-03T11:30:30+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"}

Server configuration

Operating system: CentOS Linux release 7.6.1810 (Core)

Web server: Apache 2.4.6-89.el7.centos

Database: mariadb-server 5.5.60

PHP version: PHP 7.1.28

Nextcloud version: Nextcloud 15.0.7

Updated from an older Nextcloud/ownCloud or fresh install: fresh install

Where did you install Nextcloud from: ZIP from nextcloud.com

Signing status:

Signing status ``` No errors have been found. ```

List of activated apps:

App list ``` bash-4.2$ php occ app:list Enabled: - accessibility: 1.1.0 - activity: 2.8.2 - admin_audit: 1.5.0 - calendar: 1.6.5 - cloud_federation_api: 0.1.0 - comments: 1.5.0 - contacts: 3.1.1 - dav: 1.8.1 - external: 3.2.0 - federatedfilesharing: 1.5.0 - federation: 1.5.0 - files: 1.10.0 - files_accesscontrol: 1.5.0 - files_external: 1.6.0 - files_markdown: 2.0.6 - files_pdfviewer: 1.4.0 - files_sharing: 1.7.0 - files_texteditor: 2.7.0 - files_trashbin: 1.5.0 - files_versions: 1.8.0 - files_videoplayer: 1.4.0 - firstrunwizard: 2.4.0 - gallery: 18.2.0 - groupfolders: 2.0.4 - logreader: 2.0.0 - lookup_server_connector: 1.3.0 - notes: 2.6.0 - notifications: 2.3.0 - oauth2: 1.3.0 - onlyoffice: 2.1.10 - ownpad: 0.6.12 - password_policy: 1.5.0 - provisioning_api: 1.5.0 - qownnotesapi: 19.4.0 - serverinfo: 1.5.0 - sharebymail: 1.5.0 - systemtags: 1.5.0 - theming: 1.6.0 - twofactor_admin: 0.2.0 - twofactor_backupcodes: 1.4.1 - twofactor_totp: 2.1.2 - updatenotification: 1.5.0 - user_ldap: 1.5.0 - workflowengine: 1.5.0 ```

Nextcloud configuration:

Config report ``` bash-4.2$ php occ config:list { "system": { "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "cloud.example.com" ], "allow_user_to_change_display_name": false, "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "mysql", "version": "15.0.7.0", "overwrite.cli.url": "https:\/\/cloud.example.com", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "oc_", "mysql.utf8mb4": true, "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "proxy": "www-proxy.example.com:80", "mail_smtpmode": "smtp", "mail_smtpauthtype": "LOGIN", "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_domain": "***REMOVED SENSITIVE VALUE***", "mail_smtphost": "***REMOVED SENSITIVE VALUE***", "mail_smtpport": "25", "ldapIgnoreNamingRules": false, "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory", "maintenance": false, "memcache.local": "\\OC\\Memcache\\APCu", "filelocking.enabled": true, "memcache.locking": "\\OC\\Memcache\\Redis", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "port": 0, "timeout": 0 }, "logfile": "\/data\/nextcloud.log", "loglevel": 2, "mail_sendmailmode": "smtp", "updater.release.channel": "stable" }, "apps": { "accessibility": { "enabled": "yes", "installed_version": "1.1.0", "types": "" }, "activity": { "enabled": "yes", "installed_version": "2.8.2", "types": "filesystem" }, "admin_audit": { "enabled": "yes", "installed_version": "1.5.0", "types": "logging" }, "backgroundjob": { "lastjob": "15" }, "calendar": { "enabled": "[\"Calendar\"]", "installed_version": "1.6.5", "types": "" }, "cloud_federation_api": { "enabled": "yes", "installed_version": "0.1.0", "types": "filesystem" }, "comments": { "enabled": "yes", "installed_version": "1.5.0", "types": "logging" }, "contacts": { "enabled": "[\"Contacts\"]", "installed_version": "3.1.1", "types": "" }, "core": { "backgroundjobs_mode": "cron", "installedat": "1555054181.0879", "lastcron": "1556886713", "lastupdateResult": "[]", "lastupdatedat": "0", "oc.integritycheck.checker": "[]", "public_files": "files_sharing\/public.php", "public_webdav": "dav\/appinfo\/v1\/publicwebdav.php", "scss.variables": "ab669a3a54b500234cd0c2b15c389b61", "shareapi_default_permission_canshare": "no", "shareapi_default_permission_canupdate": "no", "shareapi_default_permissions": "13", "vendor": "nextcloud" }, "dav": { "enabled": "yes", "installed_version": "1.8.1", "types": "filesystem" }, "external": { "enabled": "yes", "installed_version": "3.2.0", "max_site": "3", "sites": "{\"1\":{\"icon\":\"roundcubemail.svg\",\"lang\":\"\",\"type\":\"link\",\"device\":\"browser\",\"groups\":[\"External_Sites\"],\"redirect\":true,\"id\":1,\"name\":\"Webmail\",\"url\":\"https:\\\/\\\/webmail.example.com\\\/roundcube\\\/\"},\"2\":{\"id\":2,\"name\":\"CIM Portal\",\"url\":\"https:\\\/\\\/cim.example.com\\\/cimportal\",\"lang\":\"\",\"type\":\"settings\",\"device\":\"browser\",\"icon\":\"cim-dark.svg\",\"groups\":[\"External_Sites\"],\"redirect\":false},\"3\":{\"icon\":\"external.svg\",\"lang\":\"\",\"type\":\"link\",\"device\":\"\",\"groups\":[\"External_Sites\"],\"redirect\":false,\"id\":3,\"name\":\"Calendar\",\"url\":\"https:\\\/\\\/cal.mail.example.com\\\/cal\\\/\"}}", "types": "" }, "federatedfilesharing": { "enabled": "yes", "installed_version": "1.5.0", "types": "" }, "federation": { "autoAddServers": "1", "enabled": "yes", "installed_version": "1.5.0", "types": "authentication" }, "files": { "cronjob_scan_files": "500", "default_quota": "5 GB", "enabled": "yes", "installed_version": "1.10.0", "types": "filesystem" }, "files_accesscontrol": { "enabled": "yes", "installed_version": "1.5.0", "types": "filesystem" }, "files_external": { "allow_user_mounting": "yes", "enabled": "yes", "installed_version": "1.6.0", "types": "filesystem", "user_mounting_backends": "dav" }, "files_markdown": { "enabled": "[\"Markdown\"]", "installed_version": "2.0.6", "types": "" }, "files_pdfviewer": { "enabled": "yes", "installed_version": "1.4.0", "types": "" }, "files_sharing": { "enabled": "yes", "installed_version": "1.7.0", "lookupServerUploadEnabled": "no", "types": "filesystem" }, "files_texteditor": { "enabled": "yes", "installed_version": "2.7.0", "types": "" }, "files_trashbin": { "enabled": "yes", "installed_version": "1.5.0", "types": "filesystem,dav" }, "files_versions": { "enabled": "yes", "installed_version": "1.8.0", "types": "filesystem,dav" }, "files_videoplayer": { "enabled": "yes", "installed_version": "1.4.0", "types": "" }, "firstrunwizard": { "enabled": "yes", "installed_version": "2.4.0", "types": "logging" }, "gallery": { "enabled": "yes", "installed_version": "18.2.0", "types": "" }, "groupfolders": { "enabled": "yes", "installed_version": "2.0.4", "types": "filesystem" }, "logreader": { "enabled": "yes", "installed_version": "2.0.0", "levels": "00111", "types": "" }, "lookup_server_connector": { "enabled": "yes", "installed_version": "1.3.0", "types": "authentication" }, "nextcloud_announcements": { "enabled": "no", "installed_version": "1.4.0", "pub_date": "Sat, 10 Dec 2016 00:00:00 +0100", "types": "logging" }, "notes": { "enabled": "yes", "installed_version": "2.6.0", "types": "" }, "notifications": { "enabled": "yes", "installed_version": "2.3.0", "types": "logging" }, "oauth2": { "enabled": "yes", "installed_version": "1.3.0", "types": "authentication" }, "onlyoffice": { "DocumentServerInternalUrl": "", "DocumentServerUrl": "https:\/\/ood1.example.com\/", "StorageUrl": "", "defFormats": "{\"csv\":\"false\",\"doc\":\"false\",\"docm\":\"false\",\"docx\":\"true\",\"dotx\":\"false\",\"epub\":\"false\",\"html\":\"false\",\"odp\":\"false\",\"ods\":\"false\",\"odt\":\"true\",\"pdf\":\"false\",\"potm\":\"false\",\"potx\":\"false\",\"ppsm\":\"false\",\"ppsx\":\"true\",\"ppt\":\"false\",\"pptm\":\"false\",\"pptx\":\"true\",\"rtf\":\"false\",\"txt\":\"false\",\"xls\":\"false\",\"xlsm\":\"false\",\"xlsx\":\"true\",\"xltm\":\"false\",\"xltx\":\"false\"}", "editFormats": "{\"csv\":\"true\",\"odp\":\"false\",\"ods\":\"false\",\"odt\":\"false\",\"rtf\":\"false\",\"txt\":\"true\"}", "enabled": "yes", "groups": "[]", "installed_version": "2.1.10", "jwt_secret": "", "ocsid": "174798", "sameTab": "true", "settings_error": "", "types": "filesystem" }, "ownpad": { "enabled": "yes", "installed_version": "0.6.12", "types": "" }, "password_policy": { "enabled": "yes", "installed_version": "1.5.0", "types": "" }, "provisioning_api": { "enabled": "yes", "installed_version": "1.5.0", "types": "prevent_group_restriction" }, "qownnotesapi": { "enabled": "yes", "installed_version": "19.4.0", "types": "" }, "serverinfo": { "enabled": "yes", "installed_version": "1.5.0", "types": "" }, "sharebymail": { "enabled": "yes", "installed_version": "1.5.0", "types": "filesystem" }, "spreed": { "enabled": "no", "installed_version": "5.0.3", "signaling_servers": "{\"servers\":[],\"secret\":\"\"}", "stun_servers": "[\"stun.nextcloud.com:443\"]", "types": "prevent_group_restriction" }, "support": { "enabled": "no", "installed_version": "1.0.0", "types": "" }, "survey_client": { "enabled": "no", "installed_version": "1.3.0", "types": "" }, "systemtags": { "enabled": "yes", "installed_version": "1.5.0", "types": "logging" }, "theming": { "backgroundMime": "image\/png", "cachebuster": "20", "color": "#9B0A7D", "enabled": "yes", "installed_version": "1.6.0", "logoMime": "image\/png", "name": "CAU Cloud", "slogan": "Testinstanz f\u00fcr einen CAU Sync und Share Dienst", "types": "logging", "url": "https:\/\/cloud.example.com" }, "twofactor_admin": { "enabled": "yes", "installed_version": "0.2.0", "types": "" }, "twofactor_backupcodes": { "enabled": "yes", "installed_version": "1.4.1", "types": "" }, "twofactor_totp": { "enabled": "yes", "installed_version": "2.1.2", "types": "" }, "updatenotification": { "enabled": "[\"admin\"]", "groupfolders": "3.0.0", "installed_version": "1.5.0", "notes": "2.6.0", "onlyoffice": "2.1.10", "qownnotesapi": "19.4.0", "types": "", "update_check_errors": "0" }, "user_ldap": { "background_sync_interval": "43200", "background_sync_offset": "0", "background_sync_prefix": "s01", "cleanUpJobOffset": "50", "enabled": "yes", "installed_version": "1.5.0", "s01_lastChange": "1556550192", "s01has_memberof_filter_support": "0", "s01home_folder_naming_rule": "attr:sAMAccountName", "s01last_jpegPhoto_lookup": "0", "s01ldap_agent_password": "***REMOVED SENSITIVE VALUE***", "s01ldap_attributes_for_group_search": "", "s01ldap_attributes_for_user_search": "", "s01ldap_backup_host": "***REMOVED SENSITIVE VALUE***", "s01ldap_backup_port": "636", "s01ldap_base": "***REMOVED SENSITIVE VALUE***", "s01ldap_base_groups": "***REMOVED SENSITIVE VALUE***", "s01ldap_base_users": "***REMOVED SENSITIVE VALUE***", "s01ldap_cache_ttl": "600", "s01ldap_configuration_active": "1", "s01ldap_default_ppolicy_dn": "", "s01ldap_display_name": "displayname", "s01ldap_dn": "***REMOVED SENSITIVE VALUE***", "s01ldap_dynamic_group_member_url": "", "s01ldap_email_attr": "mail", "s01ldap_experienced_admin": "1", "s01ldap_expert_username_attr": "sAMAccountName", "s01ldap_expert_uuid_group_attr": "", "s01ldap_expert_uuid_user_attr": "sAMAccountName", "s01ldap_gid_number": "gidNumber", "s01ldap_group_display_name": "cn", "s01ldap_group_filter": "***REMOVED SENSITIVE VALUE***", "s01ldap_group_filter_mode": "0", "s01ldap_group_member_assoc_attribute": "member", "s01ldap_groupfilter_groups": "", "s01ldap_groupfilter_objectclass": "", "s01ldap_host": "***REMOVED SENSITIVE VALUE***", "s01ldap_login_filter": "***REMOVED SENSITIVE VALUE***", "s01ldap_login_filter_mode": "0", "s01ldap_loginfilter_attributes": "", "s01ldap_loginfilter_email": "0", "s01ldap_loginfilter_username": "1", "s01ldap_nested_groups": "1", "s01ldap_override_main_server": "", "s01ldap_paging_size": "500", "s01ldap_port": "636", "s01ldap_quota_attr": "", "s01ldap_quota_def": "", "s01ldap_tls": "0", "s01ldap_turn_off_cert_check": "0", "s01ldap_turn_on_pwd_change": "0", "s01ldap_user_avatar_rule": "default", "s01ldap_user_display_name_2": "", "s01ldap_user_filter_mode": "0", "s01ldap_userfilter_groups": "", "s01ldap_userfilter_objectclass": "", "s01ldap_userlist_filter": "***REMOVED SENSITIVE VALUE***", "s01use_memberof_to_detect_membership": "1", "s02_lastChange": "1556185882", "s02has_memberof_filter_support": "0", "s02home_folder_naming_rule": "attr:unixHomeDirectory", "s02last_jpegPhoto_lookup": "0", "s02ldap_agent_password": "***REMOVED SENSITIVE VALUE***", "s02ldap_attributes_for_group_search": "", "s02ldap_attributes_for_user_search": "", "s02ldap_backup_host": "***REMOVED SENSITIVE VALUE***", "s02ldap_backup_port": "636", "s02ldap_base": "***REMOVED SENSITIVE VALUE***", "s02ldap_base_groups": "***REMOVED SENSITIVE VALUE***", "s02ldap_base_users": "***REMOVED SENSITIVE VALUE***", "s02ldap_cache_ttl": "600", "s02ldap_configuration_active": "1", "s02ldap_default_ppolicy_dn": "", "s02ldap_display_name": "displayname", "s02ldap_dn": "***REMOVED SENSITIVE VALUE***", "s02ldap_dynamic_group_member_url": "", "s02ldap_email_attr": "mail", "s02ldap_experienced_admin": "1", "s02ldap_expert_username_attr": "sAMAccountName", "s02ldap_expert_uuid_group_attr": "", "s02ldap_expert_uuid_user_attr": "sAMAccountName", "s02ldap_gid_number": "gidNumber", "s02ldap_group_display_name": "cn", "s02ldap_group_filter": "", "s02ldap_group_filter_mode": "0", "s02ldap_group_member_assoc_attribute": "member", "s02ldap_groupfilter_groups": "", "s02ldap_groupfilter_objectclass": "", "s02ldap_host": "***REMOVED SENSITIVE VALUE***", "s02ldap_login_filter": "***REMOVED SENSITIVE VALUE***", "s02ldap_login_filter_mode": "0", "s02ldap_loginfilter_attributes": "", "s02ldap_loginfilter_email": "0", "s02ldap_loginfilter_username": "1", "s02ldap_nested_groups": "1", "s02ldap_override_main_server": "", "s02ldap_paging_size": "500", "s02ldap_port": "636", "s02ldap_quota_attr": "", "s02ldap_quota_def": "", "s02ldap_tls": "0", "s02ldap_turn_off_cert_check": "0", "s02ldap_turn_on_pwd_change": "0", "s02ldap_user_avatar_rule": "default", "s02ldap_user_display_name_2": "", "s02ldap_user_filter_mode": "0", "s02ldap_userfilter_groups": "", "s02ldap_userfilter_objectclass": "", "s02ldap_userlist_filter": "***REMOVED SENSITIVE VALUE***", "s02use_memberof_to_detect_membership": "1", "types": "authentication" }, "user_saml": { "enabled": "no", "general-allow_multiple_user_back_ends": "1", "general-idp0_display_name": "Shibboleth", "general-require_provisioned_account": "1", "general-uid_mapping": "urn:oid:1.3.6.1.4.1.5923.1.1.1.6", "idp-entityId": "***REMOVED SENSITIVE VALUE***", "idp-singleSignOnService.url": "***REMOVED SENSITIVE VALUE***", "idp-x509cert": "***REMOVED SENSITIVE VALUE***", "installed_version": "2.2.0", "saml-attribute-mapping-displayName_mapping": "urn:oid:2.16.840.1.113730.3.1.241", "saml-attribute-mapping-email_mapping": "urn:oid:0.9.2342.19200300.100.1.3", "security-authnRequestsSigned": "1", "security-wantAssertionsEncrypted": "1", "security-wantAssertionsSigned": "1", "sp-privateKey": "***REMOVED SENSITIVE VALUE***", "sp-x509cert": "***REMOVED SENSITIVE VALUE***", "type": "saml", "types": "authentication" }, "workflowengine": { "enabled": "yes", "installed_version": "1.5.0", "types": "filesystem" } } } ```

Are you using external storage, if yes which one: webdav

Are you using encryption: no

Are you using an external user-backend, if yes which one: ActiveDirectory and tested shibboleth before (deactivated)

LDAP configuration (delete this part if not used)

LDAP config ``` not an LDAP problem... ```

Client configuration

Browser: Google Chrome 73.0.3683.103

Operating system: Archlinux

Logs

Web server error log

Web server error log ``` error_log: no entries for the problem described. ssl_access_log: 123.123.123.123 - - [03/May/2019:14:54:55 +0200] "GET /index.php/apps/files/?dir=/OLAT&fileid=4328499 HTTP/1.1" 303 - 123.123.123.123 - - [03/May/2019:14:54:55 +0200] "GET /index.php/apps/files/?dir=/OLAT HTTP/1.1" 200 53121 123.123.123.123 - - [03/May/2019:14:54:55 +0200] "GET /apps/files_markdown/build/styles.css?v=637e04f2-20 HTTP/1.1" 302 - 123.123.123.123 - - [03/May/2019:14:54:55 +0200] "GET /index.php/apps/files/ HTTP/1.1" 200 53119 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 200 74 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /index.php/apps/gallery/config?extramediatypes=1 HTTP/1.1" 200 102 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /index.php/apps/ownpad/ajax/v1.0/getconfig HTTP/1.1" 200 138 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /index.php/apps/onlyoffice/ajax/settings HTTP/1.1" 200 2975 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /ocs/v2.php/core/whatsnew?format=json HTTP/1.1" 204 - 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /index.php/apps/systemtags/lastused HTTP/1.1" 200 2 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "PROPFIND /remote.php/dav/files/username/OLAT HTTP/1.1" 207 1110 123.123.123.123 - - [03/May/2019:14:54:56 +0200] "GET /index.php/apps/files/ajax/getstoragestats.php?dir=%2FOLAT HTTP/1.1" 200 210 ```

Nextcloud log (data/nextcloud.log)

Nextcloud log ``` {"reqId":"XMw5kSLUC9r7rCK6Veka5AAAAAo","level":3,"time":"2019-05-03T12:52:33+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"PROPFIND","url":"\/remote.php\/dav\/files\/username\/OLAT","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/DAV.php#800","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"} {"reqId":"XMw5kSLUC9r7rCK6Veka5QAAAAo","level":3,"time":"2019-05-03T12:52:33+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/DAV.php#800","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"} {"reqId":"XMw5kSLUC9r7rCK6Veka5QAAAAo","level":3,"time":"2019-05-03T12:52:33+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"} {"reqId":"XMw5kSLUC9r7rCK6Veka5QAAAAo","level":3,"time":"2019-05-03T12:52:33+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"} {"reqId":"XMw5kSLUC9r7rCK6Veka5QAAAAo","level":3,"time":"2019-05-03T12:52:33+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"} {"reqId":"XMw5kSLUC9r7rCK6Veka5QAAAAo","level":3,"time":"2019-05-03T12:52:33+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/73.0.3683.103 Safari\/537.36","version":"15.0.7.0"} ```

Browser log

Browser log ``` console: Refused to apply style from 'https://cloud.example.com/index.php/apps/files/' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. core.js?v=6f70d6f9-20:7 JQMIGRATE: Migrate is installed, version 1.4.0 ```

Curl Logs

This is the PROPFIND reply of the webdav server. ``` user@host:~>curl -su username example.com/webdav/ -X PROPFIND Enter host password for user 'username': /webdav/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/groupfolders/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/home/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/sharedfolders/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/coursefolders/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/doc-pool/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/home/private/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/home/public/ 1970-01-01T00:00:00Z HTTP/1.1 200 OK /webdav/home/private/person-dark.svg 2019-05-03T11:15:31Z Fri, 03 May 2019 11:15:31 GMT 2199 image/svg+xml W/"2199-1556882131000" HTTP/1.1 200 OK ```
solracsf commented 5 years ago

Similar problem here with Alfresco DAV server:

[PHP] Error: Undefined variable: response at /var/www/html/lib/private/Files/Storage/DAV.php#283
[PHP] Error: Undefined offset: 1 at /var/www/html/3rdparty/sabre/dav/lib/DAV/Xml/Element/Response.php#237
[PHP] Error: Undefined index: {DAV:}status at /var/www/html/3rdparty/sabre/dav/lib/DAV/Xml/Element/Response.php#236
kesselb commented 5 years ago

@sushifrick mind to try this patch?

Index: lib/private/Files/Storage/DAV.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- lib/private/Files/Storage/DAV.php   (revision 77c09252d5333a3665ccd5bf058666d5a26ee3b7)
+++ lib/private/Files/Storage/DAV.php   (date 1563828493000)
@@ -796,9 +796,11 @@
                } else {
                    return false;
                }
-           } else {
+           } else if (isset($response['{DAV:}getlastmodified'])) {
                $remoteMtime = strtotime($response['{DAV:}getlastmodified']);
                return $remoteMtime > $time;
+           } else {
+               return true;
            }
        } catch (ClientHttpException $e) {
            if ($e->getHttpStatus() === 405) {

Nextclouds dav clients tries to read {DAV:}getlastmodified but it's missing.

http://webdav.org/specs/rfc4918.html#METHOD_PROPFIND https://lists.w3.org/Archives/Public/w3c-dist-auth/2003JulSep/0149.html

@rullzer @icewind1991 How do you read the rfc? I think getlastmodified property is not required for a collection but recommended?

sushifrick commented 5 years ago

Thanks @kesselb for the patch. Sorry for the late response, I was on a vacation.

I tried your patch today (sorry, still under 16.0.1.1) and now another line in the DAV.php is not happy:

{"reqId":"XUlRcDeuZ20Clm2LHGB2dgAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"PROPFIND","url":"\/remote.php\/dav\/files\/szrzs312\/OLAT","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/DAV.php#579","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dgAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"PROPFIND","url":"\/remote.php\/dav\/files\/szrzs312\/OLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dgAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"PROPFIND","url":"\/remote.php\/dav\/files\/szrzs312\/OLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/nextcloud\/lib\/private\/Files\/Storage\/DAV.php#579","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined index: {DAV:}status at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#236","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}
{"reqId":"XUlRcDeuZ20Clm2LHGB2dwAAAAE","level":3,"time":"2019-08-06T10:07:44+00:00","remoteAddr":"123.123.123.123","user":"username","app":"PHP","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=%2FOLAT","message":"Undefined offset: 1 at \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Xml\/Element\/Response.php#237","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.87 Safari\/537.36","version":"16.0.1.1"}

The problem seems to be in the function stat now:

public function stat($path) {
                try {
                        $response = $this->propfind($path);
                        if (!$response) {
                                return false;
                        }
                        return [
                                'mtime' => strtotime($response['{DAV:}getlastmodified']),
...
nook24 commented 3 years ago

I have the same error when trying to connect a Seafile WebDAV with Nextcloud 20.

szaimen commented 3 years ago

I suppose this is still valid on NC21.0.2?

ghost commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity and seems to be missing some essential information. It will be closed if no further activity occurs. Thank you for your contributions.

ghost commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity and seems to be missing some essential information. It will be closed if no further activity occurs. Thank you for your contributions.

solracsf commented 3 years ago

Confirmed valid on 22.1.1.

Maaxxs commented 2 years ago

Hi, I can confirm that this error is still happening on version 23.0.2.1.

However, I'm getting this error with a nextcloud share, which was shared with me (so similar issue but I thought I comment here first before creating a new issue).

The patch at the bottom fixes the undefined index in the stat function. I also took the changes from the patch by @kesselb. However, I changed the return value in the else clause to false if neither getetag nor getlastmodified is set. At least, I would argue that it should return false because false is returned if there is no response ($response === false), and in the exceptions, too.

In the issue description are some errors from other php files as well. This patch fixes the errors in the DAV.php file. So, I guess, it would be nice to merge this anyway, if someone could check this and if it looks good :)

diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php
index b4a85755b2..e4cea9dd60 100644
--- a/lib/private/Files/Storage/DAV.php
+++ b/lib/private/Files/Storage/DAV.php
@@ -587,7 +587,7 @@ class DAV extends Common {
                return false;
            }
            return [
-               'mtime' => strtotime($response['{DAV:}getlastmodified']),
+               'mtime' => isset($response['{DAV:}getlastmodified']) ? strtotime($response['{DAV:}getlastmodified']) : false,
                'size' => (int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
            ];
        } catch (\Exception $e) {
@@ -804,9 +804,12 @@ class DAV extends Common {
                } else {
                    return false;
                }
-           } else {
+           } elseif (isset($response['{DAV:}getlastmodified'])) {
                $remoteMtime = strtotime($response['{DAV:}getlastmodified']);
                return $remoteMtime > $time;
+           } else {
+               // neither `getetag` nor `getlastmodified` is set
+               return false;
            }
        } catch (ClientHttpException $e) {
            if ($e->getHttpStatus() === 405) {
solracsf commented 2 years ago

@Maaxxs please open a PR for reviewing. 👍

the-moog commented 2 years ago

Would this patch be an attempted fix for https://github.com/nextcloud/calendar/issues/4921 If it is, I applied the patch and it did not fix it. :(