Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
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
unique-xids
Commits
76fc17c1
Commit
76fc17c1
authored
May 27, 2011
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make sure that the arguments we pass regsub() came out as strings.
Fixes #921
parent
cfad4788
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
0 deletions
+25
-0
r00921.vtc
bin/varnishtest/tests/r00921.vtc
+21
-0
vcc_expr.c
lib/libvcl/vcc_expr.c
+4
-0
No files found.
bin/varnishtest/tests/r00921.vtc
0 → 100644
View file @
76fc17c1
varnishtest "VCC type issue in regsub arg 1"
server s1 {
rxreq
expect req.http.foo == "127.0.0.1"
expect req.http.bar == "127.0.0.1"
txresp
} -start
varnish v1 -vcl+backend {
sub vcl_recv {
set req.http.bar = regsub(req.url, ".*", client.ip);
set req.http.foo = regsub(client.ip, ":.*", client.ip);
}
} -start
client c1 {
txreq -url "/"
rxresp
expect resp.status == 200
} -run
lib/libvcl/vcc_expr.c
View file @
76fc17c1
...
@@ -454,6 +454,8 @@ vcc_Eval_Regsub(struct vcc *tl, struct expr **e, const struct symbol *sym)
...
@@ -454,6 +454,8 @@ vcc_Eval_Regsub(struct vcc *tl, struct expr **e, const struct symbol *sym)
SkipToken
(
tl
,
'('
);
SkipToken
(
tl
,
'('
);
vcc_expr0
(
tl
,
&
e2
,
STRING
);
vcc_expr0
(
tl
,
&
e2
,
STRING
);
if
(
e2
->
fmt
!=
STRING
)
vcc_expr_tostring
(
&
e2
,
STRING
);
SkipToken
(
tl
,
','
);
SkipToken
(
tl
,
','
);
ExpectErr
(
tl
,
CSTR
);
ExpectErr
(
tl
,
CSTR
);
...
@@ -465,6 +467,8 @@ vcc_Eval_Regsub(struct vcc *tl, struct expr **e, const struct symbol *sym)
...
@@ -465,6 +467,8 @@ vcc_Eval_Regsub(struct vcc *tl, struct expr **e, const struct symbol *sym)
SkipToken
(
tl
,
','
);
SkipToken
(
tl
,
','
);
vcc_expr0
(
tl
,
&
e2
,
STRING
);
vcc_expr0
(
tl
,
&
e2
,
STRING
);
if
(
e2
->
fmt
!=
STRING
)
vcc_expr_tostring
(
&
e2
,
STRING
);
*
e
=
vcc_expr_edit
(
STRING
,
"
\v
1,
\v
2)"
,
*
e
,
e2
);
*
e
=
vcc_expr_edit
(
STRING
,
"
\v
1,
\v
2)"
,
*
e
,
e2
);
SkipToken
(
tl
,
')'
);
SkipToken
(
tl
,
')'
);
}
}
...
...
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