X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=parsers.c;h=1b897bcb95960b3edc1c520b92016e8b0711e38e;hp=df2a32551412093dacbabd3891ac85ac25f2a277;hb=245e1cf325bc957df6226c745b7ac3f67a97ea07;hpb=bd7800c807e535d21222fa41cb29537cb865b170 diff --git a/parsers.c b/parsers.c index df2a3255..1b897bcb 100644 --- a/parsers.c +++ b/parsers.c @@ -4,7 +4,7 @@ * * Purpose : Declares functions to parse/crunch headers and pages. * - * Copyright : Written by and Copyright (C) 2001-2017 the + * Copyright : Written by and Copyright (C) 2001-2020 the * Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -1215,7 +1215,20 @@ jb_err sed_https(struct client_state *csp) csp->headers->first = csp->https_headers->first; csp->headers->last = csp->https_headers->last; + /* + * Start with fresh tags. Already exising tags may + * be set again. This is necessary to overrule + * URL-based patterns. + */ + destroy_list(csp->tags); + + /* + * We want client header filters and taggers + * so temporarly remove the flag. + */ + csp->flags &= ~CSP_FLAG_CLIENT_HEADER_PARSING_DONE; err = sed(csp, FILTER_CLIENT_HEADERS); + csp->flags |= CSP_FLAG_CLIENT_HEADER_PARSING_DONE; csp->headers->first = headers.first; csp->headers->last = headers.last;