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

WebDav "OPTIONS" response lists extended-mkcol, but not MKCOL in "Allow" header #11156

Closed
ghost opened this issue Sep 11, 2018 · 4 comments
Closed

Comments

@ghost
Copy link

ghost commented Sep 11, 2018

Steps to reproduce

  1. Send OPTIONS webdav request with according auth info

Expected behaviour

This example in the RFC appears to suggest that even for extended-mkcol support, MKCOL should still be listed in the OPTIONS Allow header: https://greenbytes.de/tech/webdav/draft-ietf-vcarddav-webdav-mkcol-04.html#n-example--using-options-for-the-discovery-of-support-for-extended-mkcol

Therefore, I expected Allow in the OPTIONS response to list MKCOL in case creating directories is supported, which doesn't seem to be the case for nextcloud

Actual behaviour

No trace of MKCOL in the Allow header:

...
Allow: OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT
DAV: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nc-calendar-search, nc-enable-birthday-calendar
MS-Author-Via: DAV
...

(nextcloud response to an OPTIONS webdav request)

Server configuration

Operating system: official docker image on ubuntu host

Web server: official docker image

Database: mariadb (docker image)

PHP version: PHP/7.1.18 (as in official nextclou docker image)

Nextcloud version: 13.0.4

Updated from an older Nextcloud/ownCloud or fresh install: fresh install (created docker image with fresh data with 13.0.4

Where did you install Nextcloud from:

Signing status:

Signing status
No errors have been found.

List of activated apps:

unchanged, just installed it

Nextcloud configuration:

unchanged other than env vars provided through docker for passwords, and an additional user

Are you using external storage, if yes which one: docker volume on ext4 filesystem

Are you using encryption: no

Are you using an external user-backend, if yes which one: tried with tcp poking around WebDAV protocol

(browser/client part not really applicable since I poked around with raw tcp sockets)

@nextcloud-bot
Copy link
Member

GitMate.io thinks possibly related issues are #3738 (Webdav), #4114 (Allow ordering of user lists), #2874 ([WebDAV] Wrong server response if file was not found), #5246 (X-Frame-Options headers conflicting values), and #5947 (webDAV PROPFIND).

@ghost
Copy link
Author

ghost commented Sep 11, 2018

I mean no feature is truly missing, it's just the fields look incorrect - so this seems more like a bug to me. Unless I'm misunderstanding this particular part of the protocol, which is very possible

@georgehrke
Copy link
Member

@Jonast What URL did you send the options request to?

It doesn't work on any URL but only on non existing URLs.

https://github.com/nextcloud/3rdparty/blob/3fa9e3b916013dcef794b44829b99331f5abe3e9/sabre/dav/lib/DAV/Server.php#L527L532

@ghost
Copy link
Author

ghost commented Oct 19, 2018

Ah, so on existing folders it won't show? That makes sense then, so it's just a protocol misunderstanding on my side 😄 thanks for clearing it up! (I did a PROPFIND on /, so definitely an existing location)

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

No branches or pull requests

2 participants