On 23 Apr 2013, at 4:27 AM, William Lewis <[email protected]> wrote:

> I've tested the patches in 53910, 54610, and 54611 against trunk as well as 
> 2.4.4; they apply and they fix their respective bugs (at least as far as my 
> test cases go). I don't have an easy way to test 53525, though.

I've committed these to trunk, if you verify for me that the bugs are all fixed 
I can then propose them for backport to v2.4.

> The patch in 50773 no longer applies because the code has been reorganized 
> somewhat. The bug can still be reproduced in trunk, though, and a glance at 
> the new code makes me think the reason for it hasn't changed --- functions 
> have been renamed and files have been split but the code the patch touches is 
> doing the same things it was before.  Someone a bit more familiar with the 
> dav lock code probably should be the person to adapt the patch to the new 
> world though.

Does this do the trick?

Index: modules/dav/lock/locks.c
===================================================================
--- modules/dav/lock/locks.c    (revision 1476625)
+++ modules/dav/lock/locks.c    (working copy)
@@ -646,7 +646,8 @@
             ip->key.dptr = apr_pmemdup(p, val.dptr + offset, ip->key.dsize);
             offset += ip->key.dsize;
 
-            if (!dav_generic_lock_expired(ip->timeout)) {
+            if (!dav_generic_lock_expired(ip->timeout)
+                    && dav_dbm_exists(lockdb->info->db, ip->key)) {
                 ip->next = *indirect;
                 *indirect = ip;
             }
@@ -847,6 +848,7 @@
         else {
             /* DAV_GETLOCKS_PARTIAL */
             newlock->rectype = DAV_LOCKREC_INDIRECT_PARTIAL;
+            newlock->timeout = ip->timeout;
         }
 
         /* hook into the result list */

Regards,
Graham
--

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to