httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Clark <mich...@metaparadigm.com>
Subject [PATCH] Re: thoughts on ETags and mod_dav
Date Sat, 29 Dec 2007 14:53:35 GMT
While on the topic of ETags - I just picked up this regression in 2.2.7-dev

Some innocuous changes to make ETags always 64bit in modules/http/http_etag.c
broke DAV due to it's private dav_fs_getetag routine (ETags never matched
in ap_meets_condition due to the different format).

Patch below makes mod_dav consistent with the format in http_etag.c
and fixes the cond_put regression with litmus
 
Picked this up today while running litmus against 2.2.6 and 2.2.7-dev.

I've filed a bug. Would be nice to get this verified and in before 2.2.7

Index: modules/dav/fs/repos.c
===================================================================
--- modules/dav/fs/repos.c	(revision 607400)
+++ modules/dav/fs/repos.c	(working copy)
@@ -1777,10 +1777,10 @@
         return apr_pstrdup(ctx->pool, "");
 
     if (ctx->finfo.filetype != 0) {
-        return apr_psprintf(ctx->pool, "\"%lx-%lx-%lx\"",
-                           (unsigned long) ctx->finfo.inode,
-                           (unsigned long) ctx->finfo.size,
-                           (unsigned long) ctx->finfo.mtime);
+        return apr_psprintf(ctx->pool, "\"%llx-%llx-%llx\"",
+                           (apr_uint64_t) ctx->finfo.inode,
+                           (apr_uint64_t) ctx->finfo.size,
+                           (apr_uint64_t) ctx->finfo.mtime);
     }
 
     return apr_psprintf(ctx->pool, "\"%lx\"", (unsigned long) ctx->finfo.mtime);



Mime
View raw message