/Apache HTTP Server

Apache Module mod_dav_lock

Description: Generic locking module for mod_dav
Status: Extension
ModuleIdentifier: dav_lock_module
SourceFile: mod_dav_lock.c
Compatibility: Available in version 2.1 and later


This module implements a generic locking API which can be used by any backend provider of mod_dav. It requires at least the service of mod_dav. But without a backend provider which makes use of it, it's useless and should not be loaded into the server. A sample backend module which actually utilizes mod_dav_lock is mod_dav_svn, the subversion provider module.

Note that mod_dav_fs does not need this generic locking module, because it uses its own more specialized version.

In order to make mod_dav_lock functional, you just have to specify the location of the lock database using the DavGenericLockDB directive described below.

Developer's Note

In order to retrieve the pointer to the locking provider function, you have to use the ap_lookup_provider API with the arguments dav-lock, generic, and 0.

DavGenericLockDB Directive

Description: Location of the DAV lock database
DavGenericLockDB file-path
Context: server config, virtual host, directory
Status: Extension
Module: mod_dav_lock

Use the DavGenericLockDB directive to specify the full path to the lock database, excluding an extension. If the path is not absolute, it will be interpreted relative to ServerRoot. The implementation of mod_dav_lock uses a SDBM database to track user locks.


DavGenericLockDB var/DavLock

The directory containing the lock database file must be writable by the User and Group under which Apache is running. For security reasons, you should create a directory for this purpose rather than changing the permissions on an existing directory. In the above example, Apache will create files in the var/ directory under the ServerRoot with the base filename DavLock and an extension added by the server.

© 2017 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.