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
da6568c4
Commit
da6568c4
authored
Oct 05, 2020
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make it possible for VDP filters to report partial processing.
(Also changes forgotten in previous commit)
parent
30be1c80
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
12 deletions
+16
-12
cache_deliver_proc.c
bin/varnishd/cache/cache_deliver_proc.c
+2
-1
cache_filter.h
bin/varnishd/cache/cache_filter.h
+1
-0
cache_http2_deliver.c
bin/varnishd/http2/cache_http2_deliver.c
+3
-4
r02219.vtc
bin/varnishtest/tests/r02219.vtc
+2
-2
vrt.h
include/vrt.h
+3
-1
vmod_debug.c
lib/libvmod_debug/vmod_debug.c
+5
-4
No files found.
bin/varnishd/cache/cache_deliver_proc.c
View file @
da6568c4
...
...
@@ -83,8 +83,9 @@ VDP_bytes(struct vdp_ctx *vdx, enum vdp_action act, const void *ptr, ssize_t len
/* Call the present layer, while pointing to the next layer down */
vdx
->
nxt
=
VTAILQ_NEXT
(
vdpe
,
list
);
vdpe
->
calls
++
;
vd
pe
->
bytes_in
+
=
len
;
vd
x
->
bytes_done
=
len
;
retval
=
vdpe
->
vdp
->
bytes
(
vdx
,
act
,
&
vdpe
->
priv
,
ptr
,
len
);
vdpe
->
bytes_in
+=
vdx
->
bytes_done
;
if
(
retval
&&
(
vdx
->
retval
==
0
||
retval
<
vdx
->
retval
))
vdx
->
retval
=
retval
;
/* Latch error value */
vdx
->
nxt
=
vdpe
;
...
...
bin/varnishd/cache/cache_filter.h
View file @
da6568c4
...
...
@@ -140,6 +140,7 @@ struct vdp_ctx {
unsigned
magic
;
#define VDP_CTX_MAGIC 0xee501df7
int
retval
;
uint64_t
bytes_done
;
struct
vdp_entry_s
vdp
;
struct
vdp_entry
*
nxt
;
struct
worker
*
wrk
;
...
...
bin/varnishd/http2/cache_http2_deliver.c
View file @
da6568c4
...
...
@@ -106,7 +106,6 @@ h2_bytes(struct vdp_ctx *vdx, enum vdp_action act, void **priv,
struct
h2_req
*
r2
;
CHECK_OBJ_NOTNULL
(
vdx
,
VDP_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdx
->
req
,
REQ_MAGIC
);
CAST_OBJ_NOTNULL
(
r2
,
*
priv
,
H2_REQ_MAGIC
);
(
void
)
act
;
...
...
@@ -115,8 +114,8 @@ h2_bytes(struct vdp_ctx *vdx, enum vdp_action act, void **priv,
if
(
len
==
0
)
return
(
0
);
H2_Send_Get
(
vdx
->
wrk
,
r2
->
h2sess
,
r2
);
H2_Send
(
vdx
->
wrk
,
r2
,
H2_F_DATA
,
H2FF_NONE
,
len
,
ptr
,
&
vdx
->
req
->
acct
.
resp_bodybytes
);
vdx
->
bytes_done
=
0
;
H2_Send
(
vdx
->
wrk
,
r2
,
H2_F_DATA
,
H2FF_NONE
,
len
,
ptr
,
&
vdx
->
bytes_done
);
H2_Send_Rel
(
r2
->
h2sess
,
r2
);
return
(
0
);
}
...
...
@@ -332,5 +331,5 @@ h2_deliver(struct req *req, struct boc *boc, int sendbody)
}
AZ
(
req
->
wrk
->
v1l
);
(
void
)
VDP_Close
(
req
);
req
->
acct
.
resp_bodybytes
+=
VDP_Close
(
req
);
}
bin/varnishtest/tests/r02219.vtc
View file @
da6568c4
...
...
@@ -19,7 +19,7 @@ varnish v1 -arg "-p workspace_client=9k" -proto PROXY -vcl+backend {
} -start
client c1 {
send "PROXY TCP4 127.0.0.1 127.0.0.1 1111 2222\r\nGET /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA
HTTP/1.1\r\n\r\n"
send "PROXY TCP4 127.0.0.1 127.0.0.1 1111 2222\r\nGET /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HTTP/1.1\r\n\r\n"
rxresp
} -run
...
...
@@ -65,6 +65,6 @@ client c2 {
} -run
client c3 {
send "PROXY TCP4 127.0.0.1 127.0.0.1 1111 2222\r\nGET /CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCC
HTTP/1.1\r\n\r\n"
send "PROXY TCP4 127.0.0.1 127.0.0.1 1111 2222\r\nGET /CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC HTTP/1.1\r\n\r\n"
rxresp
} -run
include/vrt.h
View file @
da6568c4
...
...
@@ -52,6 +52,8 @@
* Whenever something is deleted or changed in a way which is not
* binary/load-time compatible, increment MAJOR version
*
* 13.0 (2020-03-15)
* Calling convention for VDP implementation changed
* 12.0 (2020-09-15)
* Added VRT_DirectorResolve()
* Added VCL_STRING VRT_BLOB_string(VRT_CTX, VCL_BLOB)
...
...
@@ -166,7 +168,7 @@
* vrt_acl type added
*/
#define VRT_MAJOR_VERSION 1
2
U
#define VRT_MAJOR_VERSION 1
3
U
#define VRT_MINOR_VERSION 0U
...
...
lib/libvmod_debug/vmod_debug.c
View file @
da6568c4
...
...
@@ -111,17 +111,18 @@ xyzzy_rot13_init(struct req *req, void **priv)
}
static
int
v_matchproto_
(
vdp_bytes_f
)
xyzzy_rot13_bytes
(
struct
req
*
req
,
enum
vdp_action
act
,
void
**
priv
,
xyzzy_rot13_bytes
(
struct
vdp_ctx
*
vdx
,
enum
vdp_action
act
,
void
**
priv
,
const
void
*
ptr
,
ssize_t
len
)
{
char
*
q
;
const
char
*
pp
;
int
i
,
j
,
retval
=
0
;
CHECK_OBJ_NOTNULL
(
vdx
,
VDP_CTX_MAGIC
);
AN
(
priv
);
AN
(
*
priv
);
if
(
len
<=
0
)
return
(
VDP_bytes
(
req
,
act
,
ptr
,
len
));
return
(
VDP_bytes
(
vdx
,
act
,
ptr
,
len
));
AN
(
ptr
);
if
(
act
!=
VDP_END
)
act
=
VDP_FLUSH
;
...
...
@@ -136,14 +137,14 @@ xyzzy_rot13_bytes(struct req *req, enum vdp_action act, void **priv,
else
q
[
i
]
=
pp
[
j
];
if
(
i
==
ROT13_BUFSZ
-
1
)
{
retval
=
VDP_bytes
(
req
,
act
,
q
,
ROT13_BUFSZ
);
retval
=
VDP_bytes
(
vdx
,
act
,
q
,
ROT13_BUFSZ
);
if
(
retval
!=
0
)
return
(
retval
);
i
=
-
1
;
}
}
if
(
i
>=
0
)
retval
=
VDP_bytes
(
req
,
act
,
q
,
i
+
1L
);
retval
=
VDP_bytes
(
vdx
,
act
,
q
,
i
+
1L
);
return
(
retval
);
}
...
...
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