WebDAV Linux File System (davfs2)
What is it?
WebDAV is an extension to HTTP
that allows remote collaborative authoring of Web resources, defined in
RFC
4918.
davfs2 is a Linux file system driver that allows you
to mount a WebDAV server as a local file system, like a disk drive.
This way applications can access resources on a Web server without
knowing anything about HTTP or WebDAV.
davfs2 runs as a daemon in userspace. It uses the
kernel file system coda or
fuse. Most propably your
Linux kernel includes at least one of this file systems. To connect to
the WebDAV server it makes use of the
neon library. Neon supports
TLS/SSL (using OpenSSL or
GnuTLS) and
access via proxy server.
davfs2 allows you to e.g.
- use a WebDAV server as workspace for a geographically
distributed work group.
- save documents on a WebDAV server and access and edit them
via internet from wherever you want.
- edit a web site in place, using your preferred development
tools.
Current Stable Release: davfs2 1.3.3
Features:
- Caching to reduce traffic and get acceptable response times even
on slow internet connections.
- Unix permissions allow for sharing davfs2 file systems among
local users.
- Secure user mounts using fstab.
- Uses locks to avoid the lost update problem. When locks can't be
used, it detects concurrent updates and creates local backups.
- Highly configurable to adapt to your needs, with defaults that
work in most cases.
- Interfaces to different kernel file systems to work with
Linux kernels 2.2 and higher. Automatic detection of the kernel
file system version.
- Support for localized messages and man pages, using GNU gettext
and po4a.
Files:
Changes in version 1.3.3
- Some more bug fixes.
- New option connect_timeout.
Changes in version 1.3.2
Fixed growing-cache-problem. Some bugs in the cache maintenance code caused
the cache to grow infinitely under some circumstances. The problem
showed up when davfs2 had to deal with many files or when the neon-library
used libexpat for parsing XML-data.
Changes in version 1.3.1
- Work around a bug in the fuse kernel module. This bug caused I/O-errors,
when an application tried to write large blocks of data.
- Fixed a bug in support for Neon 0.25.
- Added support for Neon 0.28.
- Clarified option servercert in davfs2.conf-manual.
- Fixed a typo in HTTP-header If-None-Match.
Changes in version 1.3.0
- Use conditional PUT and LOCK requests if supported by the server.
- More efficient cache maintenance, using less CPU-time.
- Improved data recovery after emergency shutdown or network failure.
- Better support for proxy-environment-variables.
- Support for DAV-Quota.
- (Very) simple cookie-support, intended for session IDs.
- Option to add custom headers.
- (Too many) new options to adapt to server (in)capabilities.
Changes in version 1.2.2
- Fixes some bugs
- fuse is now the default kernel file system
- Debug output can be configured in davfs2.conf. No more need
to recompile for debugging.
If you encounter problems with an older version of davfs2, update
to version 1.2.2 is recommended.
Changes in version 1.2.1
This package comes with a Spanish translation of the davfs2.conf.5
man page.
It fixes a Null-pointer bug that might crash mount.davs2 when the
WebDAV-property displayname is used.
Changes in version 1.2.0
- davfs2 now supports localized versions of messages and man pages
using GNU gettext and the po4a tools. Currently there is a german
translation, but other languages will follow. You are invited to
contribute.
- davfs2 needs a system user davfs2 and a system group
davfs2. Normal users must be member of group davfs2
in order to mount (no longer group users). You may change
the system user and group at configuration time. You will have to
create the system user and group manually. The system user should
not have a shell. Proposed home directory is
/var/cache/davfs2
, but this does not matter.
- davfs2 supports client certificates.
- davfs2 can use server certificates, stored on disk, that can not
be verified the normal way, like selfmade certificates.
- davfs can translate the encoding of file names.
- There are two new man pages: umount.davfs and davfs2.conf.
- The file system is mounted, even when the first request times out.
When access to the file system is tried, an error is returned
until the connection comes up. (This feature had been removed
in the last release by mistake.)
Changes in version 1.1.4
Version 1.1.4 fixes known bugs. Most important
- a serious bug in the interface to fuse kernel version 7
(used in current Linux kernels).
- unexpected changes in the file modification time, that
confused some applications.
- a work around for a bug in the GMX server.
Please read
README
before installation and upgrade.
Changes in version 1.1.3
- The umount helper umount.davfs makes sure that
all cached data are saved when umount returns.
- A new configuration option gui_optimize will
speed up the display of large directories with graphical user
interfaces.
- Know bugs of version 1.1.2 are fixed.
- Some minor changes will enhance performance slightly.
Changes in version 1.1.2
This release mainly fixes the known bugs. It adds an option to decide
whether to use the WebDAV property displayname as file name or
not.
Changes in version 1.1.1
- davfs2 can now use the fuse kernel file system besides coda.
- Neon library version 0.24, 0.25 and 0.26 are now supported. Version
0.26 allows to use gnutls instead of openssl.
- Support for large files (> 2 GiByte) added.
- davfs2 now uses timeouts on locks to reduce problems with stale
locks. But not all servers wil honour this.
- No more URL-encoding of server urls with spaces (see manpage).
- davfs2 allows to set configuration options differently for different
mount points.
- The name of the backup directory is changed to the well known
lost+found. But you may configure something else.
The following bugs should have gone:
- [ 1519718 ] davfs2 fails to properly decode complex escape sequences
- [ 1522903 ] chokes on directory names containing ' _ % characters
- [ 1539444 ] mounting of webdav drive fails
- [ 1539445 ] unable to access files in mounted webdav drive
- [ 1558525 ] davfs2-1.0.2_p20060820 mount fails
These bugs were related to incorrect alignment of data structures on
64 bit systems, incorrect treatment of the WebDAV property displayname
and incorrect double url-decoding of urls.
Problems with notifying the kernel of changes on the server are solved too.
Changes in version 1.0.2
Release 1.0.2 mainly brings support for version 0.25 of the Neon library.
This support was broken in release 1.0.1.
Latest Release of the Non-caching Version: 0.2.9
Files:
Changes in version 0.2.9
Fixed some bugs concerning:
- Error using uid instead of euid to check permissions (coda 2 only).
- Check for HTTP error 404 on move.
- Error in unescaping href.
- Removed additional Close header. This might cause problems with old
versions of mod_dav for Apache 1.x.
Changes in version 0.2.8
- Davfs2 supports now Neon 0.25 as well as Neon 0.24.
(But the binary packages are still compiled for Neon 0.24)
- Davfs2 will create the direcotry for the pid file at start up,
if it does not exist. So /var may be a volatile file system.
There are also some minor bug fixes. Please have a look at
ChangeLog
Changes in version 0.2.7
These release fixes some bugs that were discovered since the last
release and also adds some minor features:
- New option mountanyway, to allow mounting even if the
server is momentarily unreachable.
- Save open files and release locks when closing.
- Handle URLs with and without trailing slash.
- Support for
make install DESTDIR=...
- Better interoperation with MS IIS (and maybe some other
servers).
- The symbolic link in
/sbin
will be created by
make install
.
Changes in version 0.2.6
- When a Linux kenel 2.6 was compiled with option Use 96-bit
Coda file identifiers, davfs2 did not compile. This problem
is fixed in this version.
Changes in version 0.2.5
Version 0.2.5 fixes some bugs in 0.2.4:
- an error in the man page
- problems with different versions of coda.h
- a non informative error message
- better check of group membership
- trailing slashes in visible name
There are no security issues involved. So there is no need to
update if davfs-0.2.4 is working on your system.
Changes in version 0.2.4:
- davfs2 now cames with a manpage.
- davfs2 now comes without libneon and expat, as your
distribution usually will provide appropriate packages.
- mount.davfs is run setuid by default to allow non-root
users mounting of WebDAV resources. The daemon process is run
with the permissions of the mounting user. So avoid mounting
as root to minimize risks that allways come with daemons
connected to the internet.
- There is strict control of user mounts: to mount a
davfs2-filesystem a user must be member of group users and
there must be an entry in /etc/fstab.
- A mounted dafvs2-filesystem belongs to the mounting user
and is only readable and writeable by this users. There is no
way to change file permissions and ownership. Maybe this will
be changed in future versions (but with security in mind).
- pid files have moved to /var/run/mount.davfs
- There are no more username and password
options. Credentials for the WebDAV server as well as for
the (optional) proxy will be asked interactively when
mounting. You may also store them in a secrets file that is
readable and writeable by the owning user only.