mod_dav_lock.xml revision 9e5acc39290b3341429131dfb126394871e9837d
530eba85dbd41b8a0fa5255d3648d1440199a661slive<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e942c741056732f50da2074b36fe59805d370650slive<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
5f5d1b4cc970b7f06ff8ef6526128e9a27303d88nd<!-- $LastChangedRevision$ -->
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding Licensed to the Apache Software Foundation (ASF) under one or more
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding contributor license agreements. See the NOTICE file distributed with
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding this work for additional information regarding copyright ownership.
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding The ASF licenses this file to You under the Apache License, Version 2.0
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding (the "License"); you may not use this file except in compliance with
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding the License. You may obtain a copy of the License at
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd Unless required by applicable law or agreed to in writing, software
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd distributed under the License is distributed on an "AS IS" BASIS,
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd See the License for the specific language governing permissions and
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd limitations under the License.
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive<description>Generic locking module for <module>mod_dav</module></description>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <p>This module implements a generic locking API which can be used by any
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna backend provider of <module>mod_dav</module>. It <em>requires</em> at least
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna the service of <module>mod_dav</module>. But without a backend provider
88d86cfadffe2275a3dfb67a4d7bdc018630b661rbowen which makes use of it, it's useless and should not be loaded into the
88d86cfadffe2275a3dfb67a4d7bdc018630b661rbowen server. A sample backend module which actually utilizes
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <module>mod_dav_lock</module> is <a href="http://subversion.apache.org/"
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna >mod_dav_svn</a>, the subversion provider module.</p>
e4e60c2f7ba8f12b687f588b89e413842e9f2d76igalic <p>Note that <module>mod_dav_fs</module> does <em>not</em> need this
e4e60c2f7ba8f12b687f588b89e413842e9f2d76igalic generic locking module, because it uses its own more specialized
e4e60c2f7ba8f12b687f588b89e413842e9f2d76igalic version.</p>
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor <p>In order to make <module>mod_dav_lock</module> functional, you just have
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe to specify the location of the lock database using the <directive
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe module="mod_dav_lock">DavGenericLockDB</directive> directive described
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe <p>In order to retrieve the pointer to the locking provider function, you
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe have to use the <code>ap_lookup_provider</code> API with the arguments
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <code>dav-lock</code>, <code>generic</code>, and <code>0</code>.</p>
4e9f8c5414e5fe39b5393641533edca65f6e8b91poirier<directivesynopsis>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna<description>Location of the DAV lock database</description>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna<syntax>DavGenericLockDB <var>file-path</var></syntax>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna<contextlist><context>server config</context><context>virtual host</context>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna</contextlist>
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor <p>Use the <directive>DavGenericLockDB</directive> directive to specify
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor the full path to the lock database, excluding an extension. If
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna the path is not absolute, it will be interpreted relative to <directive
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor module="core">ServerRoot</directive>. The implementation of
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <module>mod_dav_lock</module> uses a SDBM database to track user
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna </highlight>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <p>The directory containing the lock database file must be
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor writable by the <directive module="mod_unixd">User</directive>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna and <directive module="mod_unixd" >Group</directive> under which
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor Apache is running. For security reasons, you should create a
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna directory for this purpose rather than changing the permissions on
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna an existing directory. In the above example, Apache will create
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna files in the <code>var/</code> directory under the <directive
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe module="core">ServerRoot</directive> with the base filename
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe <code>DavLock</code> and an extension added by the server.</p>
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe</directivesynopsis>
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe</modulesynopsis>