diff --git a/apache2/re_variables.c b/apache2/re_variables.c index 360f5b57..e4714b2d 100644 --- a/apache2/re_variables.c +++ b/apache2/re_variables.c @@ -1626,6 +1626,14 @@ static int var_response_status_generate(modsec_rec *msr, msre_var *var, msre_rul return var_simple_generate(var, vartab, mptmp, value); } +/* RESPONSE_CONTENT_ENCODING */ + +static int var_response_content_encoding(modsec_rec *msr, msre_var *var, msre_rule *rule, + apr_table_t *vartab, apr_pool_t *mptmp) +{ + return var_simple_generate(var, vartab, mptmp, msr->r->content_encoding); +} + /* USERID */ static int var_userid_generate(modsec_rec *msr, msre_var *var, msre_rule *rule, @@ -2390,6 +2398,17 @@ void msre_engine_register_default_variables(msre_engine *engine) { PHASE_RESPONSE_HEADERS ); + /* RESPONSE_CONTENT_ENCODING */ + msre_engine_variable_register(engine, + "RESPONSE_CONTENT_ENCODING", + VAR_SIMPLE, + 0, 0, + NULL, + var_response_content_encoding, + VAR_CACHE, + PHASE_RESPONSE_HEADERS + ); + /* RULE */ msre_engine_variable_register(engine, "RULE",