- User Since
- May 7 2015, 7:20 PM (215 w, 5 d)
Sat, Jun 1
i was on vacation so sorry for the delayed repsonse.
You're using a very old sabre dav library version (2.x) however nextcloud uses a much newer version (3.x).
There's no reference on the pref you're refering to.
Since my patch works but will be ignored by nextcloud (always sending recursive output), how do you treat the option in you code ? (Sabre dav doesn't support the extension at all )
May 20 2019
first of all, the limit pref has been mentioned in the rfc 8144 not before 2017 and is a Microsoft extension.
Secondly, the Sabre lib, eg. (3.2.3 (2018-10-19)) doesn't support the pref at all.
I scanned the source as well as the Changelog of the Sabre Lib !
You really should treat this pref optional not mandatory though.
You use version 2.1.11 (2016-10-06), so the extension was invented afterwards !
May 9 2019
Mar 21 2019
this is covered in my feature request:
Nov 28 2017
Headers would be possible but then the header: Transfer-Encoding: chunked will be added and fails. (nginx latest doesn't work).
Stated here, http://sabre.io/dav/0bytes/ it should work but it don't.
So, when using fpm either nginx or apaches fastcgi it won't work as expected.
Since my "hacky" workaround works i'll leave it that way.
To be compatible it should be mentioned in the docs.
Task can be closed.
Nov 27 2017
i now solved the problem by reading the C-Source.
f you use http PUT with curl then you have to specify the Content-Length header. Otherwise it is automatically handled by the curl for both GET and POST.
This has to be done by Sabre which it doesn't in the particular version 2.1.6.
So, the Content-Header: will be defined using 0 bytes. That's it. you only have to specify the content-lenght header via setopt and it works.
Since the obsys kolab mirror is down right now, i cannot create a detailed diff. (removed the source files by accident and don't know if git is in sync with the package files).
This explains why there's no error in the logfile visible. I missed the authType in my testscript and so the error appeared ;-)
Sorry for that.
Nevertheless, it works now.
Nov 24 2017
i now scanned the latest php 7 source and the tests are very interesting.
plain jessie php PHP 5.6.30-0+deb8u1 with no modifications.
Also i checked curl C sources. It will read from one file socket and write directly to the remote socket.
So you're right. I can recall have owncloud years before it didn't work either.
Don't know if it was Sabre 2.1.6 back then.
Anyhow, i found this post which is dated from 2013. Nevertheless the options doesn't exist neither in the current CURL version nur in the php module.
I din't know what you mean.
You use the SABRE Client DAV library which takes care of the workflow.
The first requests consists of a PUT request which then creates the file (0 bytes).
The 100-Continue header will be EXPECTed.
Then the data will we sent to the server by reusing the connection (keep alive) and otherwise will generate an error ( e.g 499).
It's clear that there's a bug in your code because it's a fact that you cannot assign a file handle as variable.
And obviously you don't catch the exception raised by SABRE.
Nov 23 2017
Aug 31 2017
i reported the problem by the beginning of 2017 using the mailing list.
Since it hasn't been resolved, i disabled guam by changing the cyrus config.
This was with version 0.9.2-1.
Now, today i gave it a try and installed version 0.9.2-3. (Running on debian jessie).
Thunderbird can get the mails in the inbox, but when it starts to index the folders, thunderbird hangs.
On the server i strace the guam process and see, that there are unjoined threads and they never join.
Perhaps a hint, since erlang is based on threads.
As for now, i disabled guam again.