Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libvmod-re2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
libvmod-re2
Commits
1b48ffc3
Commit
1b48ffc3
authored
Mar 29, 2016
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
limit the size of user-supplied strings written to the log for error messages
parent
7eacc5df
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
35 deletions
+39
-35
vmod_re2.c
src/vmod_re2.c
+39
-35
No files found.
src/vmod_re2.c
View file @
1b48ffc3
...
...
@@ -112,7 +112,7 @@ free_task_match(void *p)
FREE_OBJ
(
task_match
);
}
#define ERR_PREFIX "match(\"%s\"): "
#define ERR_PREFIX "match(\"%
.40
s\"): "
static
VCL_BOOL
match
(
VRT_CTX
,
vre2
*
restrict
vre2
,
VCL_STRING
restrict
subject
,
...
...
@@ -167,7 +167,7 @@ WS_Contains(struct ws * const restrict ws, const void * const restrict ptr,
assert
((
char
*
)
ptr
>=
ws
->
s
&&
(
char
*
)(
ptr
+
len
)
<=
ws
->
e
);
}
#define ERR_PREFIX "backref %ld, fallback \"%s\": "
#define ERR_PREFIX "backref %ld, fallback \"%
.40
s\": "
static
VCL_STRING
backref
(
VRT_CTX
,
VCL_INT
refnum
,
VCL_STRING
fallback
,
void
*
const
groups
,
...
...
@@ -212,7 +212,7 @@ backref(VRT_CTX, VCL_INT refnum, VCL_STRING fallback, void * const groups,
#undef ERR_PREFIX
#define ERR_PREFIX "namedref name=\"%
s\", fallback=\"%
s\": "
#define ERR_PREFIX "namedref name=\"%
.40s\", fallback=\"%.40
s\": "
static
VCL_STRING
namedref
(
VRT_CTX
,
vre2
*
restrict
vre2
,
VCL_STRING
name
,
VCL_STRING
fallback
,
...
...
@@ -235,7 +235,8 @@ namedref(VRT_CTX, vre2 * restrict vre2, VCL_STRING name, VCL_STRING fallback,
#undef ERR_PREFIX
#define ERR_PREFIX "sub(text=\"%s\", rewrite=\"%s\", fallback=\"%s\"): "
#define ERR_PREFIX \
"sub(text=\"%.40s\", rewrite=\"%.40s\", fallback=\"%.40s\"): "
static
VCL_STRING
sub
(
VRT_CTX
,
vre2
*
restrict
vre2
,
const
int
all
,
VCL_STRING
text
,
...
...
@@ -270,7 +271,8 @@ sub(VRT_CTX, vre2 * restrict vre2, const int all, VCL_STRING text,
#undef ERR_PREFIX
#define ERR_PREFIX "extract(text=\"%s\", rewrite=\"%s\", fallback=\"%s\"): "
#define ERR_PREFIX \
"extract(text=\"%.40s\", rewrite=\"%.40s\", fallback=\"%.40s\"): "
static
VCL_STRING
extract
(
VRT_CTX
,
vre2
*
restrict
vre2
,
VCL_STRING
text
,
VCL_STRING
rewrite
,
...
...
@@ -345,8 +347,8 @@ vmod_regex__init(const struct vrt_ctx *ctx, struct vmod_re2_regex **rep,
longest_match
,
max_mem
,
literal
,
never_nl
,
dot_nl
,
never_capture
,
case_sensitive
,
perl_classes
,
word_boundary
,
one_line
))
!=
NULL
)
{
VERR
(
ctx
,
"Cannot compile '%
s' in %s constructor: %s"
,
pattern
,
vcl_name
,
err
);
VERR
(
ctx
,
"Cannot compile '%
.40s' in %s constructor: %s"
,
pattern
,
vcl_name
,
err
);
return
;
}
if
(
!
never_capture
)
{
...
...
@@ -394,7 +396,7 @@ vmod_regex_match(const struct vrt_ctx *ctx, struct vmod_re2_regex *re,
return
ret
;
}
#define ERR_PREFIX "%s.backref(ref=%ld, fallback=\"%s\"): "
#define ERR_PREFIX "%s.backref(ref=%ld, fallback=\"%
.40
s\"): "
VCL_STRING
vmod_regex_backref
(
VRT_CTX
,
struct
vmod_re2_regex
*
re
,
VCL_INT
refnum
,
...
...
@@ -427,7 +429,7 @@ vmod_regex_backref(VRT_CTX, struct vmod_re2_regex *re, VCL_INT refnum,
#undef ERR_PREFIX
#define ERR_PREFIX "%s.namedref(name=\"%
s\", fallback=\"%
s\"): "
#define ERR_PREFIX "%s.namedref(name=\"%
.40s\", fallback=\"%.40
s\"): "
VCL_STRING
vmod_regex_namedref
(
VRT_CTX
,
struct
vmod_re2_regex
*
re
,
VCL_STRING
name
,
...
...
@@ -474,13 +476,13 @@ sub_method(VRT_CTX, const char * const restrict mname, const int all,
return
"**SUB METHOD FAILED**"
;
}
if
(
text
==
NULL
)
{
VERR
(
ctx
,
"%s.%s(text=<undefined>, fallback=
\"
%s
\"
): "
VERR
(
ctx
,
"%s.%s(text=<undefined>, fallback=
\"
%
.40
s
\"
): "
"text is undefined"
,
re
->
vcl_name
,
mname
,
fallback
);
return
fallback
;
}
if
(
rewrite
==
NULL
)
{
VERR
(
ctx
,
"%s.%s(text=
\"
%s
\"
, rewrite=<undefined>, "
"fallback=
\"
%s
\"
): rewrite is undefined"
,
re
->
vcl_name
,
VERR
(
ctx
,
"%s.%s(text=
\"
%
.40
s
\"
, rewrite=<undefined>, "
"fallback=
\"
%
.40
s
\"
): rewrite is undefined"
,
re
->
vcl_name
,
mname
,
text
,
fallback
);
return
fallback
;
}
...
...
@@ -513,13 +515,13 @@ vmod_regex_extract(VRT_CTX, struct vmod_re2_regex *re, VCL_STRING text,
return
"**EXTRACT METHOD FAILED**"
;
}
if
(
text
==
NULL
)
{
VERR
(
ctx
,
"%s.extract(text=<undefined>, fallback=
\"
%s
\"
): "
VERR
(
ctx
,
"%s.extract(text=<undefined>, fallback=
\"
%
.40
s
\"
): "
"text is undefined"
,
re
->
vcl_name
,
fallback
);
return
fallback
;
}
if
(
rewrite
==
NULL
)
{
VERR
(
ctx
,
"%s.extract(text=
\"
%s
\"
, rewrite=<undefined>, "
"fallback=
\"
%s
\"
): rewrite is undefined"
,
re
->
vcl_name
,
VERR
(
ctx
,
"%s.extract(text=
\"
%
.40
s
\"
, rewrite=<undefined>, "
"fallback=
\"
%
.40
s
\"
): rewrite is undefined"
,
re
->
vcl_name
,
text
,
fallback
);
return
fallback
;
}
...
...
@@ -583,7 +585,7 @@ vmod_set__fini(struct vmod_re2_set **setp)
FREE_OBJ
(
set
);
}
#define ERR_PREFIX "%s.add(\"%s\"): "
#define ERR_PREFIX "%s.add(\"%
.40
s\"): "
VCL_VOID
vmod_set_add
(
VRT_CTX
,
struct
vmod_re2_set
*
set
,
VCL_STRING
pattern
)
...
...
@@ -606,8 +608,8 @@ vmod_set_add(VRT_CTX, struct vmod_re2_set *set, VCL_STRING pattern)
return
;
}
if
((
err
=
vre2set_add
(
set
->
set
,
pattern
))
!=
NULL
)
{
VERR
(
ctx
,
ERR_PREFIX
"Cannot compile '%
s': %s"
,
set
->
vcl_name
,
pattern
,
pattern
,
err
);
VERR
(
ctx
,
ERR_PREFIX
"Cannot compile '%
.40s': %s"
,
set
->
vcl_name
,
pattern
,
pattern
,
err
);
return
;
}
}
...
...
@@ -644,7 +646,7 @@ vmod_set_compile(VRT_CTX, struct vmod_re2_set *set)
#undef ERR_PREFIX
#define ERR_PREFIX "%s.match(\"%s\"): "
#define ERR_PREFIX "%s.match(\"%
.40
s\"): "
VCL_BOOL
vmod_set_match
(
VRT_CTX
,
struct
vmod_re2_set
*
set
,
VCL_STRING
subject
)
...
...
@@ -673,7 +675,7 @@ vmod_set_match(VRT_CTX, struct vmod_re2_set *set, VCL_STRING subject)
/* Regex function interface */
#define ERR_PREFIX "re2.match(pattern=\"%
s\", text=\"%
s\"): "
#define ERR_PREFIX "re2.match(pattern=\"%
.40s\", text=\"%.40
s\"): "
VCL_BOOL
vmod_match
(
VRT_CTX
,
struct
vmod_priv
*
priv
,
VCL_STRING
pattern
,
...
...
@@ -734,7 +736,7 @@ vmod_match(VRT_CTX, struct vmod_priv *priv, VCL_STRING pattern,
#undef ERR_PREFIX
#define ERR_PREFIX "re2.backref(ref=%ld, fallback=\"%s\"): "
#define ERR_PREFIX "re2.backref(ref=%ld, fallback=\"%
.40
s\"): "
VCL_STRING
vmod_backref
(
VRT_CTX
,
struct
vmod_priv
*
priv
,
VCL_INT
refnum
,
...
...
@@ -774,7 +776,7 @@ vmod_backref(VRT_CTX, struct vmod_priv *priv, VCL_INT refnum,
#undef ERR_PREFIX
#define ERR_PREFIX "re2.namedref(name=\"%
s\", fallback=\"%
s\"): "
#define ERR_PREFIX "re2.namedref(name=\"%
.40s\", fallback=\"%.40
s\"): "
VCL_STRING
vmod_namedref
(
VRT_CTX
,
struct
vmod_priv
*
priv
,
VCL_STRING
name
,
...
...
@@ -811,7 +813,7 @@ vmod_namedref(VRT_CTX, struct vmod_priv *priv, VCL_STRING name,
#undef ERR_PREFIX
#define ERR_PREFIX "re2.%s(pattern=\"%
s\", text=\"%s\", rewrite=\"%s\", fallback=\"%
s\"): "
#define ERR_PREFIX "re2.%s(pattern=\"%
.40s\", text=\"%.40s\", rewrite=\"%.40s\", fallback=\"%.40
s\"): "
static
VCL_STRING
sub_function
(
VRT_CTX
,
const
char
*
const
restrict
fname
,
const
int
all
,
...
...
@@ -834,19 +836,19 @@ sub_function(VRT_CTX, const char * const restrict fname, const int all,
return
"**SUB FUNCTION FAILED**"
;
}
if
(
pattern
==
NULL
)
{
VERR
(
ctx
,
"re2.%s(pattern=<undefined>, fallback=
\"
%s
\"
): "
VERR
(
ctx
,
"re2.%s(pattern=<undefined>, fallback=
\"
%
.40
s
\"
): "
"pattern is undefined"
,
fname
,
fallback
);
return
fallback
;
}
if
(
text
==
NULL
)
{
VERR
(
ctx
,
"re2.%s(pattern=
\"
%s
\"
, text=<undefined>, "
"fallback=
\"
%s
\"
): text is undefined"
,
fname
,
pattern
,
"fallback=
\"
%
.40
s
\"
): text is undefined"
,
fname
,
pattern
,
fallback
);
return
fallback
;
}
if
(
rewrite
==
NULL
)
{
VERR
(
ctx
,
"re2.%s(pattern=
\"
%
s
\"
, text=
\"
%
s
\"
, "
"rewrite=<undefined>, fallback=
\"
%s
\"
): "
VERR
(
ctx
,
"re2.%s(pattern=
\"
%
.40s
\"
, text=
\"
%.40
s
\"
, "
"rewrite=<undefined>, fallback=
\"
%
.40
s
\"
): "
"rewrite is undefined"
,
fname
,
pattern
,
text
,
fallback
);
return
fallback
;
}
...
...
@@ -896,7 +898,7 @@ vmod_suball(VRT_CTX, VCL_STRING pattern, VCL_STRING text, VCL_STRING rewrite,
perl_classes
,
word_boundary
,
one_line
);
}
#define ERR_PREFIX "re2.extract(pattern=\"%
s\", text=\"%s\", rewrite=\"%s\", fallback=\"%
s\"): "
#define ERR_PREFIX "re2.extract(pattern=\"%
.40s\", text=\"%.40s\", rewrite=\"%.40s\", fallback=\"%.40
s\"): "
VCL_STRING
vmod_extract
(
VRT_CTX
,
VCL_STRING
pattern
,
VCL_STRING
text
,
VCL_STRING
rewrite
,
...
...
@@ -915,18 +917,20 @@ vmod_extract(VRT_CTX, VCL_STRING pattern, VCL_STRING text, VCL_STRING rewrite,
return
"**EXTRACT FUNCTION FAILED**"
;
}
if
(
pattern
==
NULL
)
{
VERR
(
ctx
,
"re2.extract(pattern=<undefined>, fallback=
\"
%s
\"
): "
VERR
(
ctx
,
"re2.extract(pattern=<undefined>, fallback=
\"
%.40s
\"
): "
"pattern is undefined"
,
fallback
);
return
fallback
;
}
if
(
text
==
NULL
)
{
VERR
(
ctx
,
"re2.extract(pattern=
\"
%s
\"
, text=<undefined>, "
"fallback=
\"
%s
\"
): text is undefined"
,
pattern
,
fallback
);
VERR
(
ctx
,
"re2.extract(pattern=
\"
%.40s
\"
, text=<undefined>, "
"fallback=
\"
%.40s
\"
): text is undefined"
,
pattern
,
fallback
);
return
fallback
;
}
if
(
rewrite
==
NULL
)
{
VERR
(
ctx
,
"re2.extract(pattern=
\"
%
s
\"
, text=
\"
%
s
\"
, "
"rewrite=<undefined>, fallback=
\"
%s
\"
): "
VERR
(
ctx
,
"re2.extract(pattern=
\"
%
.40s
\"
, text=
\"
%.40
s
\"
, "
"rewrite=<undefined>, fallback=
\"
%
.40
s
\"
): "
"rewrite is undefined"
,
pattern
,
text
,
fallback
);
return
fallback
;
}
...
...
@@ -936,8 +940,8 @@ vmod_extract(VRT_CTX, VCL_STRING pattern, VCL_STRING text, VCL_STRING rewrite,
case_sensitive
,
perl_classes
,
word_boundary
,
one_line
))
!=
NULL
)
{
VERR
(
ctx
,
ERR_PREFIX
"Cannot compile '%
s': %s"
,
pattern
,
text
,
rewrite
,
fallback
,
pattern
,
err
);
VERR
(
ctx
,
ERR_PREFIX
"Cannot compile '%
.40s': %s"
,
pattern
,
text
,
rewrite
,
fallback
,
pattern
,
err
);
vre2_fini
(
&
vre2
);
return
fallback
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment