Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnish-cache
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
varnishcache
varnish-cache
Commits
dd16b6d0
Commit
dd16b6d0
authored
Aug 19, 2021
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add VRT_UnsetHdr() and remove vrt_magic_string_unset
parent
00eaed81
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
20 deletions
+29
-20
cache_vrt.c
bin/varnishd/cache/cache_vrt.c
+25
-17
vrt.h
include/vrt.h
+3
-1
vcc_var.c
lib/libvcc/vcc_var.c
+1
-2
No files found.
bin/varnishd/cache/cache_vrt.c
View file @
dd16b6d0
...
@@ -55,7 +55,6 @@
...
@@ -55,7 +55,6 @@
#include "proxy/cache_proxy.h"
#include "proxy/cache_proxy.h"
const
void
*
const
vrt_magic_string_end
=
&
vrt_magic_string_end
;
const
void
*
const
vrt_magic_string_end
=
&
vrt_magic_string_end
;
const
void
*
const
vrt_magic_string_unset
=
&
vrt_magic_string_unset
;
const
struct
strands
*
vrt_null_strands
=
&
(
struct
strands
){
const
struct
strands
*
vrt_null_strands
=
&
(
struct
strands
){
.
n
=
0
,
.
n
=
0
,
.
p
=
(
const
char
*
[
1
]){
NULL
}
.
p
=
(
const
char
*
[
1
]){
NULL
}
...
@@ -691,6 +690,19 @@ VRT_ValidHdr(VRT_CTX, VCL_STRANDS s)
...
@@ -691,6 +690,19 @@ VRT_ValidHdr(VRT_CTX, VCL_STRANDS s)
}
}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
VCL_VOID
VRT_UnsetHdr
(
VRT_CTX
,
VCL_HEADER
hs
)
{
VCL_HTTP
hp
;
CHECK_OBJ_NOTNULL
(
ctx
,
VRT_CTX_MAGIC
);
AN
(
hs
);
AN
(
hs
->
what
);
hp
=
VRT_selecthttp
(
ctx
,
hs
->
where
);
CHECK_OBJ_NOTNULL
(
hp
,
HTTP_MAGIC
);
http_Unset
(
hp
,
hs
->
what
);
}
VCL_VOID
VCL_VOID
VRT_SetHdr
(
VRT_CTX
,
VCL_HEADER
hs
,
const
char
*
p
,
...)
VRT_SetHdr
(
VRT_CTX
,
VCL_HEADER
hs
,
const
char
*
p
,
...)
{
{
...
@@ -703,23 +715,19 @@ VRT_SetHdr(VRT_CTX , VCL_HEADER hs, const char *p, ...)
...
@@ -703,23 +715,19 @@ VRT_SetHdr(VRT_CTX , VCL_HEADER hs, const char *p, ...)
AN
(
hs
->
what
);
AN
(
hs
->
what
);
hp
=
VRT_selecthttp
(
ctx
,
hs
->
where
);
hp
=
VRT_selecthttp
(
ctx
,
hs
->
where
);
CHECK_OBJ_NOTNULL
(
hp
,
HTTP_MAGIC
);
CHECK_OBJ_NOTNULL
(
hp
,
HTTP_MAGIC
);
if
(
p
==
vrt_magic_string_unset
)
{
va_start
(
ap
,
p
);
http_Unset
(
hp
,
hs
->
what
);
b
=
VRT_String
(
hp
->
ws
,
hs
->
what
+
1
,
p
,
ap
);
}
else
{
va_end
(
ap
);
va_start
(
ap
,
p
);
if
(
b
==
NULL
)
{
b
=
VRT_String
(
hp
->
ws
,
hs
->
what
+
1
,
p
,
ap
);
VSLb
(
ctx
->
vsl
,
SLT_LostHeader
,
"%s"
,
hs
->
what
+
1
);
va_end
(
ap
);
return
;
if
(
b
==
NULL
)
{
}
VSLb
(
ctx
->
vsl
,
SLT_LostHeader
,
"%s"
,
hs
->
what
+
1
);
if
(
FEATURE
(
FEATURE_VALIDATE_HEADERS
)
&&
!
validhdr
(
b
))
{
return
;
VRT_fail
(
ctx
,
"Bad header %s"
,
b
);
}
return
;
if
(
FEATURE
(
FEATURE_VALIDATE_HEADERS
)
&&
!
validhdr
(
b
))
{
VRT_fail
(
ctx
,
"Bad header %s"
,
b
);
return
;
}
http_Unset
(
hp
,
hs
->
what
);
http_SetHeader
(
hp
,
b
);
}
}
http_Unset
(
hp
,
hs
->
what
);
http_SetHeader
(
hp
,
b
);
}
}
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
...
...
include/vrt.h
View file @
dd16b6d0
...
@@ -54,6 +54,8 @@
...
@@ -54,6 +54,8 @@
* binary/load-time compatible, increment MAJOR version
* binary/load-time compatible, increment MAJOR version
*
*
* NEXT (2021-09-15)
* NEXT (2021-09-15)
* VRT_UnsetHdr() added
* vrt_magic_string_unset removed (use VRT_UnsetHdr() instead)
* VNUMpfx() removed, SF_Parse_{Integer|Decimal|Number} added
* VNUMpfx() removed, SF_Parse_{Integer|Decimal|Number} added
* vrt_null_strands added
* vrt_null_strands added
* vrt_null_blob added
* vrt_null_blob added
...
@@ -593,6 +595,7 @@ VCL_VOID VRT_synth(VRT_CTX, VCL_INT, VCL_STRING);
...
@@ -593,6 +595,7 @@ VCL_VOID VRT_synth(VRT_CTX, VCL_INT, VCL_STRING);
VCL_VOID
VRT_hit_for_pass
(
VRT_CTX
,
VCL_DURATION
);
VCL_VOID
VRT_hit_for_pass
(
VRT_CTX
,
VCL_DURATION
);
VCL_BOOL
VRT_ValidHdr
(
VRT_CTX
,
VCL_STRANDS
);
VCL_BOOL
VRT_ValidHdr
(
VRT_CTX
,
VCL_STRANDS
);
VCL_VOID
VRT_UnsetHdr
(
VRT_CTX
,
VCL_HEADER
);
VCL_VOID
VRT_SetHdr
(
VRT_CTX
,
VCL_HEADER
,
const
char
*
,
...);
VCL_VOID
VRT_SetHdr
(
VRT_CTX
,
VCL_HEADER
,
const
char
*
,
...);
VCL_VOID
VRT_handling
(
VRT_CTX
,
unsigned
hand
);
VCL_VOID
VRT_handling
(
VRT_CTX
,
unsigned
hand
);
unsigned
VRT_handled
(
VRT_CTX
);
unsigned
VRT_handled
(
VRT_CTX
);
...
@@ -709,5 +712,4 @@ void VRT_VCL_Allow_Discard(struct vclref **);
...
@@ -709,5 +712,4 @@ void VRT_VCL_Allow_Discard(struct vclref **);
VCL_VOID
VRT_synth_page
(
VRT_CTX
,
VCL_STRANDS
);
VCL_VOID
VRT_synth_page
(
VRT_CTX
,
VCL_STRANDS
);
extern
const
void
*
const
vrt_magic_string_end
;
extern
const
void
*
const
vrt_magic_string_end
;
extern
const
void
*
const
vrt_magic_string_unset
;
int
VRT_Stv
(
const
char
*
nm
);
int
VRT_Stv
(
const
char
*
nm
);
lib/libvcc/vcc_var.c
View file @
dd16b6d0
...
@@ -93,8 +93,7 @@ vcc_Var_Wildcard(struct vcc *tl, struct symbol *parent, struct symbol *sym)
...
@@ -93,8 +93,7 @@ vcc_Var_Wildcard(struct vcc *tl, struct symbol *parent, struct symbol *sym)
AZ
(
VSB_finish
(
vsb
));
AZ
(
VSB_finish
(
vsb
));
sym
->
lname
=
TlDup
(
tl
,
VSB_data
(
vsb
));
sym
->
lname
=
TlDup
(
tl
,
VSB_data
(
vsb
));
VSB_clear
(
vsb
);
VSB_clear
(
vsb
);
VSB_printf
(
vsb
,
"VRT_SetHdr(ctx, %s, vrt_magic_string_unset)"
,
VSB_printf
(
vsb
,
"VRT_UnsetHdr(ctx, %s)"
,
sym
->
rname
);
sym
->
rname
);
AZ
(
VSB_finish
(
vsb
));
AZ
(
VSB_finish
(
vsb
));
sym
->
uname
=
TlDup
(
tl
,
VSB_data
(
vsb
));
sym
->
uname
=
TlDup
(
tl
,
VSB_data
(
vsb
));
VSB_destroy
(
&
vsb
);
VSB_destroy
(
&
vsb
);
...
...
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