This commit makes the compressor use http_get_etag_type to validate the
ETag instead of using an ad-hoc condition.
---
 src/flt_http_comp.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/flt_http_comp.c b/src/flt_http_comp.c
index 87f359d03..0360d94be 100644
--- a/src/flt_http_comp.c
+++ b/src/flt_http_comp.c
@@ -508,11 +508,8 @@ select_compression_response_header(struct comp_state *st, 
struct stream *s, stru
        /* no compression when ETag is malformed */
        ctx.blk = NULL;
        if (http_find_header(htx, ist("ETag"), &ctx, 1)) {
-               if (!(((ctx.value.len >= 4 && memcmp(ctx.value.ptr, "W/\"", 3) 
== 0) || /* Either a weak ETag */
-                      (ctx.value.len >= 2 && ctx.value.ptr[0] == '"')) &&      
        /* or strong ETag */
-                     ctx.value.ptr[ctx.value.len - 1] == '"')) {
+               if (http_get_etag_type(ctx.value) == ETAG_INVALID)
                        goto fail;
-               }
        }
        /* no compression when multiple ETags are present
         * Note: Do not reset ctx.blk!
-- 
2.28.0


Reply via email to