Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PROPFIND reply is not XML formatted #749

Closed
andreanimus opened this issue Jul 10, 2013 · 20 comments
Closed

PROPFIND reply is not XML formatted #749

andreanimus opened this issue Jul 10, 2013 · 20 comments

Comments

@andreanimus
Copy link

Expected behaviour

Normal first time connection

Actual behaviour

When I try to configure for the first time my access with my OSX client it tells me "PROPFIND reply is not XML formatted"

Steps to reproduce

  1. Add http://my.server.net/ on the client
  2. The clients accept the connection
  3. After few seconds the sync does not begin and it's stuck on the error

Server configuration

Operating system: Mac OS 10.5.8

Web server: MAMP 1.9.6.1 (http://www.mamp.info/en/documentation/releases.html)

Database: SQLite 3.7.3 (2.8.17, SQLiteManager 1.2.4)

PHP version: 5.3.5

ownCloud version: 4.5.12

Storage backend: Don't know what it is

Client configuration

Client version: OC 1.3.0 (i even tried the nightly)

Operating system: OSX 10.7.5 Lion

OS language: french

Installation path of client: ~/Applications

Logs

  1. Output of owncloud --logwindow or owncloud --logfile log.txt
    Don't know how to find it... sorry...
  2. Web server error log:
    ssl_request_log : https://gist.github.com/andreanimus/72dc53175f9ffd51597c
    ssl_error_log : https://gist.github.com/andreanimus/10f2b5241dcd8f5a64f6
    ssl_access_log : https://gist.github.com/andreanimus/086c703a6cbeab327ac1
  3. ownCloud log (data/owncloud.log): there is no owncloud.log, only this:
    Warning core App directory already exists July 8, 2013, 23:36
    Warning core App directory already exists July 8, 2013, 23:35
    Warning core App directory already exists July 8, 2013, 23:31

Question : could it be a problem the fact that I use https? I tried with HTTP too but it won't work either, and I even tried with another server on a OSX 10.8.4 Mountain Lion machine with OC 5.0.7 and it gave me the same error! I searched all over the Git and I did not find anything, please can someone help me find an answer? Thank you so much!
Andrea

P.S. : the webdav client works perfecty via web, via iPhone app and https://myserver.net/remote.php/webdav/clientsync gives me this:
This XML file does not appear to have any style information associated with it. The document tree is shown below. <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> <s:exception>Sabre_DAV_Exception_NotFound</s:exception> <s:message>File with name /clientsync could not be located</s:message> <s:sabredav-version>1.6.8</s:sabredav-version> </d:error>

@danimo
Copy link
Contributor

danimo commented Jul 10, 2013

First of all, installing ownCloud on OS X is currently broken anyway (http://doc.owncloud.org/server/5.0/admin_manual/installation/installation_macos.html) Secondly, this happens when the server times out (php returns garbage in this case). Check the traffic with wireshark or mitmproxy. It probably returns a timeout. That means you should increase your php timeout values.

Also, this looks weird: /status.php/remote.php/webdav/https%3a//prosito.sytes.net. Is this some sort of external storage mount you created?

@andreanimus
Copy link
Author

Thanks for your answer! I did not create any external storage mount, I don't know why it puts an %3a in my server address... Could it be that in some php file the ":" is not right?

@danimo
Copy link
Contributor

danimo commented Jul 10, 2013

What is the URL you entered in the setup wizard?

@andreanimus
Copy link
Author

https://prosito.sytes.net
Sometimes it even tells me "Error downloading https://....net/remote.php/webdav// - server replied: Forbidden" -.-'?

@danimo
Copy link
Contributor

danimo commented Jul 10, 2013

@andreanimus I noticed you have a http auth before the actual ownCloud application. Can you disable that and try again to setup the client?

@andreanimus
Copy link
Author

Done, I moved the .htaccess files from htdocs (the one i created) and htdocs_ssl (the one that OC created) away, but it still gives me the same error...
Should I disable http auth in Apache?

@danimo
Copy link
Contributor

danimo commented Jul 10, 2013

@andreanimus You can try. if that fails looking at the traffic would maybe be veru useful. Can you try with mitmproxy or wireshark?

@andreanimus
Copy link
Author

Should I install it on the client or on the server? Because wireshark won't work on my 10.5.8 (wireshark-bin requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0) and mitmproxy is too complicated for me to install... maybe charles proxy will work, but if it's on the client it's easier for me...

@danimo
Copy link
Contributor

danimo commented Jul 10, 2013

Doesn't really matter as long as you can intercept the complete dialogue. charles is also fine.

@danimo
Copy link
Contributor

danimo commented Jul 10, 2013

@andreanimus btw: 10.5.8 is also not supported by the client. if it starts, it's by mere conincidence (usually the client just crashes with 10.5.8).

@andreanimus
Copy link
Author

Ok, but my client is installed on 10.7.5, it's my server that's installed on 10.5.8 =)

@andreanimus
Copy link
Author

https://dl.dropboxusercontent.com/u/26012557/wireshark%20http.pcapng
https://dl.dropboxusercontent.com/u/26012557/wireshark.pcapng
The first one is with my http owncloud (on the 8889 port) and the second one is in the https one (443)

@andreanimus
Copy link
Author

Any new things?

@brainstorm
Copy link
Member

I can confirm this issue. Happens the same on my MacOSX client test/beta released recently:

08-16 16:18:53:867 oc_module: => Errno after fetch resource list for owncloud://localhost/owncloud/remote.php/webdav: 10011
08-16 16:18:53:867 oc_module:    New attempt 8
08-16 16:18:54:002 oc_module: Simple propfind result code 200.
08-16 16:18:54:002 oc_module: ERROR: Content type of propfind request not XML: text/html; charset=utf-8.
08-16 16:18:54:002 oc_module: WRN: propfind named failed with 5, request error: 200 OK
(...)

The relevant wireshark request/response pair with prepended headers:

Request from client:

PROPFIND /owncloud/remote.php/webdav HTTP/1.1
User-Agent: Mozilla/5.0 (Macintosh) csyncoC/0.81.0 neon/0.29.6
Keep-Alive:
Connection: TE, Keep-Alive
TE: trailers
Host: ids-dev.incf.org
Proxy-Connection: Keep-Alive
Depth: 1
Content-Length: 206
Content-Type: application/xml
Cookie: 5204ae3asdfasdfasdfasdhadfk51lqg2;

<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:"><prop>
<getlastmodified xmlns="DAV:"/>
<getcontentlength xmlns="DAV:"/>
<resourcetype xmlns="DAV:"/>
<getetag xmlns="DAV:"/>
</prop></propfind>

Response from Apache server:

HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 08:11:52 GMT
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7+squeeze16
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 269
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"><d:response><d:href>/owncloud/remote.php/webdav/</d:href><d:propstat><d:prop><d:getetag>"520b917d92561"</d:getetag><d:quota-available-bytes>28015480832</d:quota-available-bytes><d:quota-used-bytes>-1</d:quota-used-bytes></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>

So even if the server replies "HTTP/1.1 200 OK", the client flags it as an error because of the defined content type in the header. In other words, the client expects application/xml instead of text/html:

Content-Type: text/html; charset=utf-8

@brainstorm
Copy link
Member

I would actually mark this issue as a duplicate of issue #285, even if the problem is not any large amount of big files... for me it fails when launching it, irrespective of the number of files in the sync folder.

@broozer
Copy link

broozer commented Dec 4, 2013

Running owncloud 5.0.13 on CentOs 5 with PHP5.4 and SQLite - can report the same issue for Windows Sync Client

--- excerpt of logwindow -- (xxx refers to servername, is not actual name)

Simple propfind result code 200.
12-04 17:02:58:384 oc_module: ERROR: Content type of propfind request not XML: text/html; charset=utf-8.
12-04 17:02:58:384 oc_module: WRN: propfind named failed with 5, request error: 200 OK
12-04 17:02:58:384 oc_module: => Errno after fetch resource list for ownclouds://xxx/owncloud/remote.php/webdav: 10011
12-04 17:02:58:384 oc_module:    New attempt 0
12-04 17:02:58:514 oc_module: Simple propfind result code 200.
12-04 17:02:58:514 oc_module: ERROR: Content type of propfind request not XML: text/html; charset=utf-8.
12-04 17:02:58:514 oc_module: WRN: propfind named failed with 5, request error: 200 OK
12-04 17:02:58:514 oc_module: => Errno after fetch resource list for ownclouds://xxx/owncloud/remote.php/webdav: 10011

Any help appreciated.

@DeepDiver1975
Copy link
Member

@broozer
which web server are you running?
any chance to get a network trace? e.g. using wireshark or mitmproxy?

Maybe you can execute a propfind request using curl - thx

@broozer
Copy link

broozer commented Dec 4, 2013

apache 2.0.64

will come back later with wireshark / curl requests

@broozer
Copy link

broozer commented Dec 5, 2013

Got it solved with excuses for inconveniences. By using Fiddler found out I made a small error when patching remote.php, This created a response which could not be interpreted. Everything works now as expected.

BTW : patch applied : http://forum.owncloud.org/viewtopic.php?f=14&t=15223

@dragotin
Copy link
Contributor

dragotin commented Dec 5, 2013

Thanks for letting us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants