Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gnome-online-accounts gnome-online-accounts
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 109
    • Issues 109
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 26
    • Merge requests 26
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • gnome-online-accountsgnome-online-accounts
  • Issues
  • #105
Closed
Open
Created Mar 03, 2020 by Raphaël Droz@drzraf

UI locks webdav (open protocol) to specific vendor brands

webdav is a protocol implemented in a variety of libraries. SabreDav is a popular PHP implementation used by NextCloud and ownCloud.

Contrary to Nautilus, GOA does not advert vendor-neutral "webdav" protocol.

Nevertheless, tech-savvy users could still realistically hope to find their way by setting-up a Nextcloud account (although it's basically like branding a vendor-neutral protocol). ... but to my surprise, the has been made arbitrarily locked to next/owncloud only.

See: https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/blob/master/src/goabackend/goaowncloudprovider.c#L47-49

A couple of URL suffixes have been hardcoded and are automatically appended to webdav endpoint URL making actually impossible to use an implementation that would not follow the Nextcloud-specific URL pattern.

The irony is that a simple change in the pattern by said vendor would also trigger issues like #67.

I'm using Pydio which is another completely legitimate webdav-backed software for remote storage. The normal expectation is to get it working out-of-the-box with GOA.

Here is a log of an attempt to add this webdav endpoint (https://my-domain/dav/):

(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: goa_http_client_check(): request started (0x560a1aa27d70)
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > GET /dav/remote.php/webdav/ HTTP/1.1
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Soup-Debug-Timestamp: 1583262606
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Soup-Debug: SoupSession 1 (0x560a1aab7340), SoupMessage 1 (0x560a1aa27d70), SoupSocket 1 (0x560a1aa8cce0)
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Host: my-domain
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Accept-Encoding: gzip, deflate
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Connection: Keep-Alive
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980:   
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:07.999: < HTTP/1.1 401 Unauthorized

Notice the erroneous GET /dav/remote.php/webdav/.

My suggestion : Please drop this "vendor/logo/branding" over webdav and allows plain URL endpoints to be pasted in the UI.

Additionally just add a small notice showing:

"Notice: Nextcloud URL usually finish in remote.php/(web)?dav)".

Assignee
Assign to
Time tracking