mod_dav_lock.xml revision 9e5acc39290b3341429131dfb126394871e9837d
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive<?xml version="1.0"?>
530eba85dbd41b8a0fa5255d3648d1440199a661slive<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e942c741056732f50da2074b36fe59805d370650slive<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
5f5d1b4cc970b7f06ff8ef6526128e9a27303d88nd<!-- $LastChangedRevision$ -->
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd<!--
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
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd http://www.apache.org/licenses/LICENSE-2.0
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd
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.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd-->
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd
7db9f691a00ead175b03335457ca296a33ddf31bnd<modulesynopsis metafile="mod_dav_lock.xml.meta">
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive<name>mod_dav_lock</name>
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive<description>Generic locking module for <module>mod_dav</module></description>
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive<status>Extension</status>
530eba85dbd41b8a0fa5255d3648d1440199a661slive<sourcefile>mod_dav_lock.c</sourcefile>
80c4526970a11f37c0f8e3b82afdf03902dac3f3slive<identifier>dav_lock_module</identifier>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna<summary>
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
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>
e4e60c2f7ba8f12b687f588b89e413842e9f2d76igalic
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 below.</p>
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe <note><title>Developer's Note</title>
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 </note>
4e9f8c5414e5fe39b5393641533edca65f6e8b91poirier</summary>
4e9f8c5414e5fe39b5393641533edca65f6e8b91poirier<seealso><module>mod_dav</module></seealso>
4e9f8c5414e5fe39b5393641533edca65f6e8b91poirier
4e9f8c5414e5fe39b5393641533edca65f6e8b91poirier<directivesynopsis>
4e9f8c5414e5fe39b5393641533edca65f6e8b91poirier<name>DavGenericLockDB</name>
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<context>directory</context>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna</contextlist>
031bbbc0d1189b07330e38d0c126820a9ab7795egryzor
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna<usage>
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 locks.</p>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <example><title>Example</title>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna <highlight language="config">
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna DavGenericLockDB var/DavLock
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna </highlight>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna </example>
7e8f5c6496b3825b6b128e2aacc4b1b09d28553dpquerna
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
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe</usage>
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe</directivesynopsis>
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe</modulesynopsis>
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe
5ae609a8a09239d20f48a4a95c4f21b713995babwrowe