[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Apache2 WevDAV] Evitar acceso simultáneo de escritura (usar Lock)



Hola, tengo un Apache2 con webdav activado y trato de evitar que desde dos 
sitios se pueda acceder a un mismo fichero por webdav en modo escritura. Es 
decir, que si alguien lo ha abierto se genere un "Lock" de X segundos tiempo 
durante el cuál otro no puede editarlo.

Mi configuración de apache2 para el asunto del WebDAV es:

        DAVLockDB /var/webdav/DAVLock
        DAVMinTimeout 300
        <Location /webdav/>
              DAV On
        </Location>

El directorio y contenido de /var/webdav pertenece a www-data.

Pensé que ese "Lock" serviría para mi propósito, aunque después de leer la doc 
no me queda claro para qué diantres sirve:
   http://httpd.apache.org/docs/2.0/mod/mod_dav.html

En teoría lo que dice es:
"When a client requests a DAV resource lock, it can also specify a time when 
the lock will be automatically removed by the server..."

O sea, que parece ser lo que yo pienso que es.


Tal vez el problema sea del cliente. Lo que estoy haciendo es usar dos 
editores Kate (desde dos equipos diferentes) para acceder al mismo fichero 
vía kioslave "webdav:/".
- Entonces abro el fichero con el Kate 1, lo edito y lo guardo. En ese momento 
se ha generado el fichero DAVLock.
- Al instante lo abro con Kate 2, lo edito y le doy a guardar. Y ala, se 
guarda.
- Ahora con el Kate 1 que tenía abierto (y que no ve los cambios que ha hecho 
Kate 2 si no recargo el archivo) lo reedito, le doy a guardar y los cambios 
que había hecho Kate 2 desaparecen.

Es decir, se está comportando igual que cuando se accede a un fichero local 
desde dos editores, sin control de escritura.


¿Alguien se le ocurre qué puede estar pasando? ¿es normal? ¿tal vez sea cosa 
del tipo de acceso que hace el cliente?


Saludos y gracias por cualquier respuesta.




-- 
Iñaki Baz Castillo



Reply to: