Webdav problems (Webdav server by PowerFolder)

Hello everyone,

I am experiencing problems with the Webdav synchronization. I suspect that the problem is connected with an update of the Webdav server (i.e., webdav server is part of PowerFolder, some sort of DropBox).

Report ID: 751204673
Debug ID: D1840425504

Currently, even testing the connection to the server ends up in some sort of infinite loop, with a repetition of the message

(1)(+0000034): Error: HTTP GET http://myaccountname:********@unibox.uni-rostock.de/webdav/zotero/nonexistent.prop failed with status code 501: <!DOCTYPE html> Error - PowerFolder

501

Please use a webdav client

Die zur Erfüllung der Anfrage erforderliche Funktionalität wird nicht unterstützt:

Picasso.set("baseUrl", "https://unibox.uni-rostock.de"); Picasso.set("CSRF", ""); /* Finally update language stuff */ Picasso.Lang.update(); /* Check browser after page load */ $(document).ready(function () { if (Picasso.Helper.isInternetExplorer()) { Picasso.Notification.show( Picasso.Lang.get("notification_error_internet_explorer"), "warning", true); } }); Error: HTTP GET http://myaccountname:********@unibox.uni-rostock.de/webdav/zotero/nonexistent.prop failed with status code 501: <!DOCTYPE html> Error - PowerFolder

501

Please use a webdav client

Die zur Erfüllung der Anfrage erforderliche Funktionalität wird nicht unterstützt:

Picasso.set("baseUrl", "https://unibox.uni-rostock.de"); Picasso.set("CSRF", ""); /* Finally update language stuff */ Picasso.Lang.update(); /* Check browser after page load */ $(document).ready(function () { if (Picasso.Helper.isInternetExplorer()) { Picasso.Notification.show( Picasso.Lang.get("notification_error_internet_explorer"), "warning", true); } }); Zotero.HTTP</this.UnexpectedStatusException@chrome://zotero/content/xpcom/http.js:21:18 Zotero.HTTP</this._requestInternal/xmlhttp.onloadend<@chrome://zotero/content/xpcom/http.js:522:25 From previous event: Zotero.HTTP</this._requestInternal@chrome://zotero/content/xpcom/http.js:266:20 Zotero.HTTP</this.request@chrome://zotero/content/xpcom/http.js:156:47 reportErrors@chrome://zotero/content/zoteroPane.js:4814:15 oncommand@chrome://zotero/content/standalone/standalone.xul:1:1

(3)(+0000023): HTTP GET http://myaccountname:********@unibox.uni-rostock.de/webdav/zotero/nonexistent.prop

(3)(+0000021): {}

(3)(+0000020): CookieBlocker: Ignoring cookies for http://myaccountname:********@unibox.uni-rostock.de/webdav/zotero/nonexistent.prop
  • edited November 26, 2021
    501 is a Not Implemented error from the WebDAV server. It's not a client error. You'll have to ask your WebDAV provider.
  • I got feedback from the WebDAV provider.

    They say that Zotero is using the HTML-Rendering interface, that this, Zotero is trying to acquire the data as a web browser.

    Apparently, this interface has been disabled by the WebDAV provider due to security reasons.

    My questions are:
    1) Is the observation by the WebDAV provider true that Zotero is acting like a web browser?
    2) Are there legitimate security concerns that could justify deactivating the web browser protocol?

    Thanks a lot in advance!
  • That's a nonsensical response. Zotero is making standard HTTP/WebDAV requests and works with all properly functioning WebDAV servers.

    WebDAV is an extension of HTTP. A web server, WebDAV-supporting or otherwise, should respond to a GET request with either the requested file or a 404. Here your provider is returning a 501 Not Implemented error instead of a 404, and saying "Please use a webdav client ".

    If they're doing some sort of user-agent detection to decide what is and isn't a "webdav client" and returning a 501 rather than responding to a standard GET request, that has nothing to do with us.

    Ask them to stop breaking standard requests to WebDAV resources. If they won't, switch to a different WebDAV provider or use Zotero Storage.
  • Thank you for your response, dstillman.

    I got feedback from the provider:

    »The HTTP-Errors are the standard errors that we are using as other software providers, as a explanation for the Error 501, the HTTP-rendering is not supported in our software and also we do a user-agent-detection because we only allow the standard WebDav clients to connect with our server.

    Zotero is the only sotware that is making issues, we have implemented Webdav support for more then ten years and sorry to say but we can define our responses and design them as we want, anyhow thanks for the advice.

    Other desktop clients that use WebDAV requests are working fine with our software e.g. CarotDav or KeyPass.

    HTTP-rendering is not a standard WebDav request, the standard WebDav requests are as stated above allowed and working as expected.«

    I am not able to make much sense out of the WebDAV provider's reply. What are the standard WebDAV requests “as stated above”? And what does it mean that there is a “user-agent-detection”?
  • Yeah, that person doesn't know what they're talking about.

    1) They're saying "HTTP-rendering", which isn't a thing. Presumably they mean "HTML-rendering".

    2) "[HTML]-rendering is not supported in our software" / "[HTML]-rendering is not a standard WebDav request": This is nonsense. Nothing is asking for HTML. Zotero is making a standard GET request for a file, with an Accept: */* header to indicate it will accept any content type. A properly functioning WebDAV server will return the file as is. This has absolutely nothing to do with HTML.

    3) "we do a user-agent-detection because we only allow the standard WebDav clients to connect with our server": Right, so they're just confirming what I said above. Zotero isn't "making issues" — they're arbitrarily blocking Zotero. HTTP clients send a User-Agent string with all requests to identify themselves. Zotero's claims to be Firefox, because Zotero is based on Firefox and that provides the greatest compatibility with websites that might block something without a standard browser user agent. But that doesn't mean that Zotero is somehow requesting an HTML interface or that they should be doing anything other than returning the requested file.

    4) "the standard WebDav requests are as stated above allowed": This just isn't true. A GET request is a "standard WebDAV request". In fact, you should be able to retrieve any WebDAV resource with a regular web browser — that's the entire point of WebDAV. The WebDAV spec just adds additional methods to HTTP to allow things like listing and making folders. It doesn't change the basic GET method that all HTTP clients make.

    5) "we have implemented Webdav support for more then ten years": Except they're not implementing WebDAV, because a properly functioning WebDAV server responds to a GET request for a file with the file — it doesn't respond that GET is "Not Implemented". Zotero has actually supported WebDAV for over ten years and works with all properly functioning WebDAV servers.

    Zotero could send a different User-Agent string for WebDAV requests, but I'm not going to spend time on that, since there's no reason it should be necessary.

    As I say, you should use another provider that correctly implements WebDAV.
  • (And even the 501 Not Implemented is incorrect, for what it's worth, so even that part of what they told you is wrong. If they want to say that a specific client isn't allowed to connect, they should be responding with a client (4xx) error like 403 Forbidden. They're returning a server (5xx) error, saying that they haven't implemented that type of request. But it's just a standard GET request for a file, which is part of WebDAV. So they're in effect saying that they don't support WebDAV.)
Sign In or Register to comment.