dolphin in focal can't delete webdav directories running on focal's apache
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Apache2 Web Server |
Fix Released
|
Medium
|
|||
apache2 (Ubuntu) |
Fix Released
|
High
|
Bryce Harrington | ||
Focal |
Fix Released
|
Low
|
Bryce Harrington | ||
Jammy |
Fix Released
|
Low
|
Bryce Harrington | ||
Lunar |
Won't Fix
|
Low
|
Bryce Harrington | ||
Mantic |
Fix Released
|
Low
|
Bryce Harrington | ||
Noble |
Fix Released
|
High
|
Bryce Harrington |
Bug Description
[Impact]
WebDAV DELETE operations on directories don't work for the Dolphin file manager, due to not being recognized by Apache. This limits KDE users from managing remote filesystems.
[Workaround]
Some versions of the client may allow overriding the global default user agent.
[Test Case]
0. Create a testing VMs.
a. Server VMs can be for each targeted Ubuntu release.
Name these 'davtest-
b. Client VM is Ubuntu focal, and needs to run graphics apps.
1. On server, install Apache configured to provide a directory tree via WebDAV
a. Create the DAV directory structure
sudo mkdir -p /var/www/
sudo chown -R www-data:www-data /var/www/webdav
b. Install Apache with DAV
sudo apt-get install apache2
sudo a2enmod dav dav_fs
c. Create /etc/apache2/
Alias /webdav /var/www/webdav
DAV On
d. Enable the new configuration and restart apache2
sudo a2ensite davtest.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
2. On client, install Dolphin (requires the core KDE system as well)
a. sudo apt-get install dolphin
b. dolphin
c. In dolphin, press C-l and enter "webdav:
d. Create some files and dirs
e. Verify can delete files
f. Attempt to delete directories, then refresh (F5) and check if still visible.
g. Check on server whether directory was actually deleted
An alternative to #2 uses curl instead of Dolphin:
a. curl -I -X DELETE -A 'prefix dolphin/' http://
This will display a "Moved Permanent" redirect warning (which will make dolphin fail).
In the user agent, 'prefix' is a placeholder and any text can be used. E.g. 'xyz dolphin'.
b. Adding a trailing / will make it avoid the redirect. I.e.:
curl -I -X DELETE -A 'prefix dolphin/21.12.3' http://
c. Try also with 'prefix Konqueror/5' or 'prefix Konqueror/4'. The former may not work but the latter should.
[Where Problems Could Occur]
The fix only touches the package's default DAV config file, so things to watch for would be misbehaviors with configuration settings when DAV is installed. For instance, during system upgrades, if customized httpd-dav.conf files start seeing problems then it might relate to this.
Since the fix is particular to KDE, if any issues particular to KDE applications operating against Apache2 servers might be relevant.
[Other Info]
Some versions of Dolphin apparently use the "Konqueror/5" user agent, while others use "dolphin". This SRU adds supports for both, to ensure the issue is fully resolved.
[Original Report]
/etc/apache2/
BrowserMatch " Konqueror/4" redirect-carefully
While dolphin is Konqueror/5 in focal. Trying to delete a directory on webdav dolphin just gets a http 301 redirect.
1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center
apache2:
Installed: 2.4.41-4ubuntu3.1
3) What you expected to happen
Dolphin should be able to remove directories over webdav
4) What happened instead
Apache issues a redirect from prefix/dir to prefix/dir/
127.0.0.1 - user1 [07/May/
Dolphin doesn't follow the redirect hence nothing happens.
Related branches
- Andreas Hasenack: Approve
- git-ubuntu bot: Approve
- Canonical Server packageset reviewers: Pending requested
- Canonical Server Reporter: Pending requested
- Canonical Server Core Reviewers: Pending requested
-
Diff: 58 lines (+28/-0)4 files modifieddebian/changelog (+9/-0)
debian/config-dir/mods-available/setenvif.conf (+2/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+16/-0)
debian/patches/series (+1/-0)
- git-ubuntu bot: Approve
- Andreas Hasenack: Approve
- Canonical Server packageset reviewers: Pending requested
- Canonical Server Reporter: Pending requested
- Canonical Server Core Reviewers: Pending requested
-
Diff: 58 lines (+28/-0)4 files modifieddebian/changelog (+9/-0)
debian/config-dir/mods-available/setenvif.conf (+2/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+16/-0)
debian/patches/series (+1/-0)
- git-ubuntu bot: Approve
- Andreas Hasenack: Approve
- Canonical Server Reporter: Pending requested
- Canonical Server packageset reviewers: Pending requested
- Canonical Server Core Reviewers: Pending requested
-
Diff: 61 lines (+28/-0)4 files modifieddebian/changelog (+9/-0)
debian/config-dir/mods-available/setenvif.conf (+2/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+16/-0)
debian/patches/series (+1/-0)
- Canonical Server packageset reviewers: Pending requested
- Canonical Server Core Reviewers: Pending requested
- Canonical Server Reporter: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 48 lines (+26/-0)3 files modifieddebian/changelog (+9/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+16/-0)
debian/patches/series (+1/-0)
- git-ubuntu bot: Approve
- Andreas Hasenack: Approve
- Canonical Server packageset reviewers: Pending requested
- Canonical Server Reporter: Pending requested
- Canonical Server Core Reviewers: Pending requested
-
Diff: 61 lines (+28/-0)4 files modifieddebian/changelog (+9/-0)
debian/config-dir/mods-available/setenvif.conf (+2/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+16/-0)
debian/patches/series (+1/-0)
- git-ubuntu import: Pending requested
-
Diff: 47 lines (+25/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+17/-0)
debian/patches/series (+1/-0)
- git-ubuntu import: Pending requested
-
Diff: 47 lines (+25/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+17/-0)
debian/patches/series (+1/-0)
- Bryce Harrington (community): Needs Resubmitting
- Canonical Server Reporter: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 47 lines (+25/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+17/-0)
debian/patches/series (+1/-0)
- Canonical Server Reporter: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 47 lines (+25/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/fix-dolphin-to-delete-webdav-dirs.patch (+17/-0)
debian/patches/series (+1/-0)
Changed in apache2 (Ubuntu): | |
status: | New → Triaged |
Changed in apache2 (Ubuntu): | |
assignee: | nobody → Michał Małoszewski (michal-maloszewski99) |
status: | Triaged → In Progress |
tags: | added: server-todo |
tags: | removed: server-todo |
tags: | added: server-todo |
Changed in apache2 (Ubuntu Focal): | |
status: | New → In Progress |
Changed in apache2 (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in apache2 (Ubuntu Lunar): | |
status: | New → In Progress |
Changed in apache2 (Ubuntu Focal): | |
assignee: | nobody → Michał Małoszewski (michal-maloszewski99) |
Changed in apache2 (Ubuntu Jammy): | |
assignee: | nobody → Michał Małoszewski (michal-maloszewski99) |
Changed in apache2 (Ubuntu Lunar): | |
assignee: | nobody → Michał Małoszewski (michal-maloszewski99) |
Changed in apache2 (Ubuntu): | |
assignee: | Michał Małoszewski (michal-maloszewski99) → Bryce Harrington (bryce) |
Changed in apache2 (Ubuntu Focal): | |
assignee: | Michał Małoszewski (michal-maloszewski99) → Bryce Harrington (bryce) |
Changed in apache2 (Ubuntu Jammy): | |
assignee: | Michał Małoszewski (michal-maloszewski99) → Bryce Harrington (bryce) |
Changed in apache2 (Ubuntu Lunar): | |
assignee: | Michał Małoszewski (michal-maloszewski99) → Bryce Harrington (bryce) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in apache2 (Ubuntu Mantic): | |
status: | New → In Progress |
importance: | Undecided → Low |
Changed in apache2 (Ubuntu Noble): | |
importance: | Low → High |
Changed in apache2 (Ubuntu Mantic): | |
assignee: | nobody → Bryce Harrington (bryce) |
description: | updated |
Changed in apache2 (Ubuntu Lunar): | |
status: | In Progress → Won't Fix |
Changed in apache2: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
tags: |
added: verification-done removed: verification-needed |
Hello Ross and thanks for this bug report. Did you actually verify that adding a
BrowserMatch " Konqueror/5" redirect-carefully
line to setenvif.conf resolves the issue?
Anyway the file belongs to the packaging and not to the upstream source, so the fix belongs to Ubuntu. Waiting for your feedback on the " Konqueror/5" test I'm marking this bug report as Incomplete. Please change its status back to New after commenting back and we'll look at it again. Thanks!