--- server/core.c (Revision 561097) +++ server/core.c (Arbeitskopie) @@ -389,7 +389,7 @@ conf->etag_add = (conf->etag_add & (~ new->etag_remove)) | new->etag_add; conf->etag_remove = - (conf->opts_remove & (~ new->etag_add)) | new->etag_remove; + (conf->etag_remove & (~ new->etag_add)) | new->etag_remove; conf->etag_bits = (conf->etag_bits & (~ conf->etag_remove)) | conf->etag_add; } @@ -1596,7 +1596,7 @@ if (explicit) { cfg->etag_bits &= (~ ETAG_UNSET); - if ((cfg->etag_bits & ETAG_NONE) != ETAG_NONE) { + if (cfg->etag_bits != ETAG_NONE) { cfg->etag_bits &= (~ ETAG_NONE); } } --- modules/http/http_etag.c (Revision 561097) +++ modules/http/http_etag.c (Arbeitskopie) @@ -72,7 +72,7 @@ cfg = (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module); - etag_bits = (cfg->etag_bits & (~ cfg->etag_remove)) | cfg->etag_add; + etag_bits = cfg->etag_bits; /* * If it's a file (or we wouldn't be here) and no ETags @@ -87,6 +87,7 @@ if (etag_bits == ETAG_UNSET) { etag_bits = ETAG_BACKWARD; } + etag_bits = (etag_bits & (~ cfg->etag_remove)) | cfg->etag_add; /* * Make an ETag header out of various pieces of information. We use * the last-modified date and, if we have a real file, the