Prevent crash in balancer manager if invalid balancer name is passed
as parameter. Reported by SecurityReason. [Ruediger Pluem]
+ *) mod_dav: Adjust etag generation to produce identical results on 32-bit
+ and 64-bit platforms and avoid a regression with conditional PUT's on lock
+ and etag. PR 44152.
+ [Michael Clark <michael metaparadigm.com>, Ruediger Pluem]
+
*) mod_deflate: Transform ETag when transforming the entity.
PR 39727 [Henrik Nordstrom <hno squid-cache.org>, Nick Kew]
the setting for that subdirectory (which will be inherited by
any sub-subdirectories that don't override it) will be equivalent to
<code>FileETag MTime Size</code>.</p>
+ <note type="warning"><title>Warning</title>
+ Do not change the default for directories or locations that have WebDAV
+ enabled and use <module>mod_dav_fs</module> as a storage provider.
+ <module>mod_dav_fs</module> uses <code>INode MTime Size</code>
+ as a fixed format for <code>ETag</code> comparisons on conditional requests.
+ These conditional requests will break if the <code>ETag</code> format is
+ changed via <directive>FileETag</directive>.
+ </note>
</usage>
</directivesynopsis>
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, "\"%" APR_UINT64_T_HEX_FMT "-%"
+ APR_UINT64_T_HEX_FMT "-%" APR_UINT64_T_HEX_FMT "\"",
+ (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);
+ return apr_psprintf(ctx->pool, "\"%" APR_UINT64_T_HEX_FMT "\"",
+ (apr_uint64_t) ctx->finfo.mtime);
}
static const dav_hooks_repository dav_hooks_repository_fs =