Unlocking resources

Our application is a webdav client. I had to cancel the application while holding a lock on a resource. Once I restarted the application the resource was still locked by /taminowebdavserver…

I searched through the documentation and did not find a way to force an unlock of a resource. Is their any documented or undocumented way to unlock a resource?

I’m using Tamino WebDav 3.1.4 with Tamino 4.1.1.1
on Windows 2000 professional.

Thanks.

Jason

As the user who set the lock (I think the server will otherwise return a ‘fake’ lock token which cannot be used for this purpose, or it’ll refuse to accept the UNLOCK request for some other reaon), you can do a PROPFIND for the DAV:lockdiscovery property (see the webdav spec for full details of how this property is structured - you’ll need to know this).

Then, having extracted the appropriate lock token from the response here, issue an UNLOCK request using it.

Our webdav client has this functionality built in - if a resource is locked, it’ll check who the lock owner is, and regain control of the lock if the currently logged in user is the same. This is generally not too difficult to implement (though it’s hard to make it work 100% reliably across a range of webdav servers, as I recall…)

Mike

Hello Jason, Michael,

as Michael pointed out, a lock request returns a persistent lock token, which is required for a further unlock operation. The re-read of a lock token is possible via PropFind. The re-read can be restricted by the usage of the same owner only.

The Tamino WebDAV Server will change the usage of the owner property soon for interoperability reasons.
Currently the owner send at the lock request is ignored, but the authenticated user id is used instead. The WebDAV working group discussed this topic lately last year and agreed onto:
1) the owner of a lock returned at propFind is always the owner send by the lock request.
2) an authenticating server will deliver an additional xml element containing the authenticated user id of the lock request.

We plan to change this for the next version of Tamino WebDAV Server.

Best regards

Juergen

Juergen, Mike,

Thanks for your responses. Based on this information we added an unlock capability to
our client. Our developer (Kalpesh) had these remarks and questions:
This is what I figured out from my observation.

1. LockDiscovery property has the owner of the lock.

2. At this time lock can be released by the owner of the lock only.
i.e. if lock was acquired by “root”, it can be released by “root” only and not some other user.

3. In future will it be possible to release the lock acquired by some other user ?


Regards,

Jason

Hello Jason,

currently there are no plans to support the lock token stealing.

What would be the impacts with your application, if we do not support the stealing functionality?

Best regards

Juergen

Hello Juergen,

If we don’t have lock token stealing it means that we can’t have a super-user or administrator
that could release locks for any user. One user could lock resources, go on vacation and there is nothing anyone could do to release the locks.

This would be a serious problem in the field.

Regards,

Jason