mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2026-01-13 15:07:10 +03:00
Backport t:cssDecode to 2.5.
This commit is contained in:
@@ -45,6 +45,8 @@ int DSOLOCAL remove_lf_crlf_inplace(char *text);
|
||||
|
||||
unsigned char DSOLOCAL x2c(unsigned char *what);
|
||||
|
||||
unsigned char DSOLOCAL xsingle2c(unsigned char *what);
|
||||
|
||||
char DSOLOCAL *guess_tmp_dir(apr_pool_t *p);
|
||||
|
||||
char DSOLOCAL *current_logtime(apr_pool_t *mp);
|
||||
@@ -90,4 +92,6 @@ int DSOLOCAL is_empty_string(const char *string);
|
||||
|
||||
char DSOLOCAL *resolve_relative_path(apr_pool_t *pool, const char *parent_filename, const char *filename);
|
||||
|
||||
int DSOLOCAL css_decode_inplace(unsigned char *input, long int input_len);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -198,6 +198,20 @@ static int msre_fn_compressWhitespace_execute(apr_pool_t *mptmp, unsigned char *
|
||||
return changed;
|
||||
}
|
||||
|
||||
/* cssDecode */
|
||||
|
||||
static int msre_fn_cssDecode_execute(apr_pool_t *mptmp, unsigned char *input,
|
||||
long int input_len, char **rval, long int *rval_len)
|
||||
{
|
||||
long int length;
|
||||
|
||||
length = css_decode_inplace(input, input_len);
|
||||
*rval = (char *)input;
|
||||
*rval_len = length;
|
||||
|
||||
return (*rval_len == input_len ? 0 : 1);
|
||||
}
|
||||
|
||||
/* removeWhitespace */
|
||||
|
||||
static int msre_fn_removeWhitespace_execute(apr_pool_t *mptmp, unsigned char *input,
|
||||
@@ -612,6 +626,12 @@ void msre_engine_register_default_tfns(msre_engine *engine) {
|
||||
msre_fn_compressWhitespace_execute
|
||||
);
|
||||
|
||||
/* cssDecode */
|
||||
msre_engine_tfn_register(engine,
|
||||
"cssDecode",
|
||||
msre_fn_cssDecode_execute
|
||||
);
|
||||
|
||||
/* escapeSeqDecode */
|
||||
msre_engine_tfn_register(engine,
|
||||
"escapeSeqDecode",
|
||||
|
||||
Reference in New Issue
Block a user