Apache HTTP Server Version 2.5

Apache > HTTP Server > Documentation > Version 2.5 > Modules

# Apache Module mod_dav_lock

Description: | Generic locking module for `mod_dav`
Status: | Extension
Module Identifier: | dav_lock_module
Source File: | mod_dav_lock.c

### Summary

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`.

### Directives

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### See also

- `mod_dav`

## DavGenericLockDB Directive ¶

Description: | Location of the DAV lock database
Syntax: | `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.

### Example

    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.