Skip to content

Can't upload empty file when encryption app is enabled #13276

@LEDfan

Description

@LEDfan

Steps to reproduce

  1. create empty file (e.g. touch emptyfile)
  2. upload the empty file using web or client

Expected behaviour

The file should be uploaded fine.

Actual behaviour

The file isn't uploaded (error 500) and an error is reported.

Server configuration

Operating system: Centos 7.6

Web server: Apache/2.4.6

Database: mysql Ver 15.1 Distrib 5.5.60-MariaDB,

PHP version: PHP 7.3.0

Nextcloud version: 15.0.0

Updated from an older Nextcloud/ownCloud or fresh install: updated from 14 (and 15 beta/rc)

Where did you install Nextcloud from: zip file

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.1.0
  - activity: 2.8.2
  - bookmarks: 0.15.1
  - calendar: 1.6.4
  - cloud_federation_api: 0.1.0
  - comments: 1.5.0
  - contacts: 3.0.1
  - dav: 1.8.0
  - deck: 0.5.2
  - encryption: 2.3.0
  - federatedfilesharing: 1.5.0
  - federation: 1.5.0
  - files: 1.10.0
  - files_external: 1.6.0
  - 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
  - gallery: 18.2.0
  - logreader: 2.0.0
  - lookup_server_connector: 1.3.0
  - mail: 0.11.0
  - news: 13.0.3
  - nextcloud_announcements: 1.4.0
  - notifications: 2.3.0
  - oauth2: 1.3.0
  - password_policy: 1.5.0
  - previewgenerator: 2.0.0
  - provisioning_api: 1.5.0
  - serverinfo: 1.5.0
  - sharebymail: 1.5.0
  - spreed: 5.0.0
  - support: 1.0.0
  - survey_client: 1.3.0
  - systemtags: 1.5.0
  - theming: 1.6.0
  - twofactor_backupcodes: 1.4.1
  - twofactor_totp: 2.1.0
  - updatenotification: 1.5.0
  - workflowengine: 1.5.0
Disabled:
  - admin_audit
  - bookmarks.bak
  - caniupdate
  - drawio
  - end_to_end_encryption
  - files_downloadactivity
  - firstrunwizard
  - user_external
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            ""
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "15.0.0.10",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "theme": "",
        "maintenance": false,
        "maxZipInputSize": 0,
        "allowZipDownload": true,
        "secret": "***REMOVED SENSITIVE VALUE***",
        "app.mail.server-side-cache.enabled": true,
        "trashbin_retention_obligation": "auto",
        "preview_max_scale_factor": 1,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "htaccess.RewriteBase": "\/",
        "overwrite.cli.url": "",
        "updater.release.channel": "stable",
        "mysql.utf8mb4": true,
        "mail_smtpmode": "sendmail",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "loglevel": 2
    }
}

**Are you using external storage, if yes which one:**No

Are you using encryption: No, but the encryption app was enabled

Logs

Web server error log

Nextcloud log (data/nextcloud.log)

Nextcloud log
[webdav] Fatal: Sabre\DAV\Exception: Error while copying file to target location (copied bytes: 0, expected filesize: 0 ) at <<closure>>

0. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php line 156
   put(null)
1. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1096
   createFile("emptyfile", null)
2. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 525
   createFile("emptyfile", null, null)
3. <<closure>>
   httpPut(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
4. /var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php line 105
   call_user_func_array([Sabre\DAV\CorePlugin {},"httpPut"], [Sabre\HTTP\Requ ... }])
5. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 479
   emit("method:PUT", [Sabre\HTTP\Requ ... }])
6. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 254
   invokeMethod(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
7. /var/www/nextcloud/apps/dav/appinfo/v1/webdav.php line 80
   exec()
8. /var/www/nextcloud/remote.php line 163
   require_once("/var/www/nextcl ... p")

PUT /remote.php/webdav/emptyfile
from 172.17.0.1 by admin at 2018-12-27T15:43:57+00:00


[PHP] Error: feof(): supplied resource is not a valid stream resource at /var/www/nextcloud/apps/dav/lib/Connector/Sabre/File.php#172

PUT /remote.php/webdav/emptyfile
from 172.17.0.1 by admin at 2018-12-27T15:43:57+00:00

I tried disabling all the apps I could and then re-enable them one for one. As soon as I re-enable the encryption app, the error occurs. I don't have encryption enabled though.
I tried on a fresh installation and enabling the encryption app (without configuring anything) gives the same error.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions