Lines Matching refs:lock
18 * Generic DAV lock implementation that a DAV provider can use.
46 * Lockdiscovery information is stored in the single lock database specified
72 * The key is to the collection lock that resulted in this indirect lock
118 const char *auth_user; /* authenticated user who created the lock */
123 * They reference the lock token for the collection the lock is
124 * inherited from. A lock provider may also define a key to the
125 * inherited lock, for fast datbase lookup. The key is opaque outside
126 * the lock provider.
139 * Stored direct lock info - full lock_discovery length:
140 * prefix + Fixed length + lock token + 2 strings + 2 nulls (one for each
149 /* Stored indirect lock info - lock token and apr_datum_t */
173 const char *lockdb_path; /* where is the lock database? */
176 apr_dbm_t *db; /* if non-NULL, the lock database */
186 * The private part of the lock structure.
190 apr_datum_t key; /* key into the lock database */
266 "The lock token uses an unknown State-token "
331 "Could not open the lock database.",
344 * "open" the lock database, as specified in the global server configuration.
365 "A lock database was not specified with the "
397 * Given a pathname, build a DAV_TYPE_FNAME lock database key.
420 * past or present (the lock has expired), or 0 (false) if in the future
421 * (the lock has not yet expired).
429 * dav_generic_save_lock_record: Saves the lock information specified in the
430 * direct and indirect lock lists about path into the lock database.
484 /* Direct lock - lock_discovery struct follows */
509 /* Indirect lock prefix */
534 "Could not save lock information.",
542 * dav_load_lock_record: Reads lock information about key from lock db;
548 * Passive lock removal: If lock has timed out, it will not be returned.
603 /* Copy the lock token. */
668 "The lock database was found to "
724 "The lock database was found to be corrupt. "
725 "An indirect lock's direct lock could not "
731 * Property-related lock functions
757 * General lock functions
770 dav_lock **lock)
776 *lock = dav_generic_alloc_lock(lockdb, key, NULL);
778 (*lock)->is_locknull = !resource->exists;
791 dav_lock *lock = NULL;
824 newlock->next = lock;
825 lock = newlock;
853 newlock->next = lock;
854 lock = newlock;
857 *locks = lock;
865 dav_lock **lock)
872 *lock = NULL;
883 *lock = dav_generic_alloc_lock(lockdb, key, locktoken);
884 (*lock)->is_locknull = !resource->exists;
885 (*lock)->scope = dp->f.scope;
886 (*lock)->type = dp->f.type;
887 (*lock)->depth = dp->f.depth;
888 (*lock)->timeout = dp->f.timeout;
889 (*lock)->owner = dp->owner;
890 (*lock)->auth_user = dp->auth_user;
897 *lock = dav_generic_alloc_lock(lockdb, ip->key, locktoken);
898 (*lock)->is_locknull = !resource->exists;
902 (*lock)->rectype = DAV_LOCKREC_INDIRECT_PARTIAL;
905 (*lock)->rectype = DAV_LOCKREC_INDIRECT;
911 (*lock)->scope = dp->f.scope;
912 (*lock)->type = dp->f.type;
913 (*lock)->depth = dp->f.depth;
914 (*lock)->timeout = dp->f.timeout;
915 (*lock)->owner = dp->owner;
916 (*lock)->auth_user = dp->auth_user;
956 const dav_lock *lock)
973 * ### when we store the lock more directly, we need to update
974 * ### lock->rectype and lock->is_locknull
978 for (; lock != NULL; lock = lock->next) {
980 /* ### this works for any <lock> rectype */
984 newi->locktoken = (dav_locktoken *)lock->locktoken;
985 newi->timeout = lock->timeout;
986 newi->key = lock->info->key;
992 for (; lock != NULL; lock = lock->next) {
993 /* create and link in the right kind of lock */
995 if (lock->rectype == DAV_LOCKREC_DIRECT) {
998 newd->f.scope = lock->scope;
999 newd->f.type = lock->type;
1000 newd->f.depth = lock->depth;
1001 newd->f.timeout = lock->timeout;
1003 newd->locktoken = (dav_locktoken *)lock->locktoken;
1004 newd->owner = lock->owner;
1005 newd->auth_user = lock->auth_user;
1015 newi->locktoken = (dav_locktoken *)lock->locktoken;
1016 newi->key = lock->info->key;
1131 /* the lock was refreshed. return the lock. */
1155 /* for each indirect lock, find its direct lock and refresh it. */
1166 /* the lock was refreshed. return the lock. */
1179 /* save the (resolved) direct lock back */