InstantUpload not working - bug?


#1

First of all: great software, thanks guys!

Steps to reproduce

  1. Install owncloud server behind apache 2.2.15 on CentOS.
  2. Install the iOS application on an iphone, iOS ver. 11.0.3.
  3. Install the owncloud app from the store.
  4. Setup for Instant Upload of photos and videos.
  5. Take a picture.
  6. Go to the Uploads tab.

Expected behaviour

Photo should be uploaded to the server.

Actual behaviour

The picture stays in the folder awiating, with the message "Waiting for server connection".

Server configuration

**Web server:
Server version: Apache/2.2.15 (Unix)
Server built: Oct 19 2017 16:43:38
Server's Module Magic Number: 20051115:25
Server loaded: APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)

**Database: mysql 5.6

**PHP version:
PHP 5.6.31 (cli) (built: Jul 7 2017 08:12:50)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

**ownCloud version:owncloud-files-10.0.3-1.1.noarch

**Storage backend (external storage): No external, only local disk folders.

Client

**iOS version:11.0.3

**ownCloud app version: iOS 3.6.2. (dcf4a45)

**Device model: iPhone 5

Logs

Web server error log

[partial log]
98.201.60.225 - jfarjona [29/Oct/2017:23:55:38 -0400] "PROPFIND /cloud/remote.php/webdav/InstantUpload/Photo-2017-10-29-21-03-35_4115.JPG HTTP/1.1" 404 276
98.201.60.225 - jfarjona [29/Oct/2017:23:55:39 -0400] "MKCOL /cloud/remote.php/webdav/InstantUpload/ HTTP/1.1" 405 247
98.201.60.225 - - [29/Oct/2017:23:55:42 -0400] "PUT /cloud/remote.php/webdav/InstantUpload/Photo-2017-10-29-21-03-35_4115.JPG HTTP/1.1" 413 483

ownCloud log (data/owncloud.log)

{"reqId":"Wfaiu2w7@xIAADJRcPMAAAAF","level":4,"time":"2017-10-30T03:55:39+00:00","remoteAddr":"98.201.60.225","user":"jfarjona","app":"webdav","method":"MKCOL","url":"\/cloud\/remote.php\/webdav\/InstantUpload\/","message":"Exception: {\"Message\":\"HTTP\\/1.1 405 The resource you tried to create already exists\",\"Exception\":\"Sabre\\DAV\\Exception\\MethodNotAllowed\",\"Code\":0,\"Trace\":\"#0 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/CorePlugin.php(590): Sabre\\DAV\\Server->createCollection('InstantUpload', Object(Sabre\\DAV\\MkCol))\n#1 [internal function]: Sabre\\DAV\\CorePlugin->httpMkcol(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#2 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/event\\/lib\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\n#3 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(479): Sabre\\Event\\EventEmitter->emit('method:MKCOL', Array)\n#4 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(254): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#5 \\/var\\/www\\/html\\/owncloud\\/apps\\/dav\\/appinfo\\/v1\\/webdav.php(63): Sabre\\DAV\\Server->exec()\n#6 \\/var\\/www\\/html\\/owncloud\\/remote.php(165): require_once('\\/var\\/www\\/html\\/o...')\n#7 {main}\",\"File\":\"\\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php\",\"Line\":1180,\"User\":\"jfarjona\"}"}
{"reqId":"WfajvGw7@xIAAClkBi4AAAAC","level":4,"time":"2017-10-30T03:59:56+00:00","remoteAddr":"98.201.60.225","user":"jfarjona","app":"webdav","method":"MKCOL","url":"\/cloud\/remote.php\/webdav\/InstantUpload\/","message":"Exception: {\"Message\":\"HTTP\\/1.1 405 The resource you tried to create already exists\",\"Exception\":\"Sabre\\DAV\\Exception\\MethodNotAllowed\",\"Code\":0,\"Trace\":\"#0 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/CorePlugin.php(590): Sabre\\DAV\\Server->createCollection('InstantUpload', Object(Sabre\\DAV\\MkCol))\n#1 [internal function]: Sabre\\DAV\\CorePlugin->httpMkcol(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#2 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/event\\/lib\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\n#3 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(479): Sabre\\Event\\EventEmitter->emit('method:MKCOL', Array)\n#4 \\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(254): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#5 \\/var\\/www\\/html\\/owncloud\\/apps\\/dav\\/appinfo\\/v1\\/webdav.php(63): Sabre\\DAV\\Server->exec()\n#6 \\/var\\/www\\/html\\/owncloud\\/remote.php(165): require_once('\\/var\\/www\\/html\\/o...')\n#7 {main}\",\"File\":\"\\/var\\/www\\/html\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php\",\"Line\":1180,\"User\":\"jfarjona\"}"}

Tell us what could be improved:

It seems that the client tries to create the folder that already exists, but once it fails, it seems to try to send the file without the login information. Notice the lack of username in the webserver log, and the lack of the PUT call in the owncloud logs.

Am I doing something wrong? My httpd configuration file:


Alias /cloud /var/www/html/owncloud

Header always set Strict-Transport-Security "max-age=15553000; includeSubDomains; preload"


Options +FollowSymlinks
AllowOverride All


Dav off


Order allow,deny
Allow from all

SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
LimitRequestBody 0

Redirect /owncloud /cloud


Please note: I do use Webdav for other applications in the same apache server.

Thanks for any help you can give.

Juan