Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libvdp-pesi
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Jobs
Commits
Open sidebar
uplex-varnish
libvdp-pesi
Commits
8dd1120b
Unverified
Commit
8dd1120b
authored
Oct 20, 2024
by
Nils Goroll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adjust to VDP API changes in Varnish-Cache 7.5
parent
32b2be11
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
23 deletions
+29
-23
README.rst
README.rst
+1
-1
configure.ac
configure.ac
+2
-2
from_cache_esi_deliver.c
src/foreign/from_cache_esi_deliver.c
+5
-8
vdp_pesi.c
src/vdp_pesi.c
+21
-12
No files found.
README.rst
View file @
8dd1120b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
Parallel ESI for Varnish-Cache
Parallel ESI for Varnish-Cache
==============================
==============================
**THIS BRANCH IS FOR VARNISH-CACHE MASTER >= 7.
4
and trunk ONLY**
**THIS BRANCH IS FOR VARNISH-CACHE MASTER >= 7.
5
and trunk ONLY**
See branches for support of older versions.
See branches for support of older versions.
...
...
configure.ac
View file @
8dd1120b
AC_PREREQ([2.69])
AC_PREREQ([2.69])
AC_COPYRIGHT([Copyright 2019 - 202
1
UPLEX - Nils Goroll Systemoptimierung])
AC_COPYRIGHT([Copyright 2019 - 202
5
UPLEX - Nils Goroll Systemoptimierung])
AC_INIT([libvdp-pesi],[trunk],[varnish-support@uplex.de],[vdp-pesi])
AC_INIT([libvdp-pesi],[trunk],[varnish-support@uplex.de],[vdp-pesi])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR(src/vdp_pesi.vcc)
AC_CONFIG_SRCDIR(src/vdp_pesi.vcc)
...
@@ -19,7 +19,7 @@ AC_ARG_WITH([rst2man],
...
@@ -19,7 +19,7 @@ AC_ARG_WITH([rst2man],
m4_ifndef([VARNISH_PREREQ], AC_MSG_ERROR([Need varnish.m4 -- see README.rst]))
m4_ifndef([VARNISH_PREREQ], AC_MSG_ERROR([Need varnish.m4 -- see README.rst]))
VARNISH_PREREQ([7.
4
],[trunk])
VARNISH_PREREQ([7.
5
],[trunk])
VARNISH_VMODS([pesi pesi_debug])
VARNISH_VMODS([pesi pesi_debug])
VARNISH_COUNTERS([pesi])
VARNISH_COUNTERS([pesi])
...
...
src/foreign/from_cache_esi_deliver.c
View file @
8dd1120b
...
@@ -139,32 +139,29 @@ const struct vdp vped_pretend_gz = {
...
@@ -139,32 +139,29 @@ const struct vdp vped_pretend_gz = {
*/
*/
static
int
v_matchproto_
(
vdp_fini_f
)
static
int
v_matchproto_
(
vdp_fini_f
)
vped_gzgz_init
(
VRT_CTX
,
struct
vdp_ctx
*
vdc
,
void
**
priv
,
struct
objcore
*
oc
)
vped_gzgz_init
(
VRT_CTX
,
struct
vdp_ctx
*
vdc
,
void
**
priv
)
{
{
struct
req
*
req
;
ssize_t
l
;
ssize_t
l
;
const
char
*
p
;
const
char
*
p
;
struct
vped_gzgz_priv
*
foo
;
struct
vped_gzgz_priv
*
foo
;
CHECK_OBJ_NOTNULL
(
ctx
,
VRT_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
ctx
,
VRT_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdc
,
VDP_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdc
,
VDP_CTX_MAGIC
);
(
void
)
oc
;
AN
(
priv
);
req
=
vdc
->
req
;
CHECK_OBJ_NOTNULL
(
req
,
REQ_MAGIC
);
CAST_OBJ_NOTNULL
(
foo
,
*
priv
,
VPED_GZGZ_PRIV_MAGIC
);
CAST_OBJ_NOTNULL
(
foo
,
*
priv
,
VPED_GZGZ_PRIV_MAGIC
);
CHECK_OBJ_NOTNULL
(
foo
->
objcore
,
OBJCORE_MAGIC
);
CHECK_OBJ_NOTNULL
(
foo
->
objcore
,
OBJCORE_MAGIC
);
memset
(
foo
->
tailbuf
,
0xdd
,
sizeof
foo
->
tailbuf
);
memset
(
foo
->
tailbuf
,
0xdd
,
sizeof
foo
->
tailbuf
);
AN
(
ObjCheckFlag
(
req
->
wrk
,
foo
->
objcore
,
OF_GZIPED
));
AN
(
ObjCheckFlag
(
vdc
->
wrk
,
foo
->
objcore
,
OF_GZIPED
));
p
=
ObjGetAttr
(
req
->
wrk
,
foo
->
objcore
,
OA_GZIPBITS
,
&
l
);
p
=
ObjGetAttr
(
vdc
->
wrk
,
foo
->
objcore
,
OA_GZIPBITS
,
&
l
);
AN
(
p
);
AN
(
p
);
assert
(
l
==
32
);
assert
(
l
==
32
);
foo
->
start
=
vbe64dec
(
p
);
foo
->
start
=
vbe64dec
(
p
);
foo
->
last
=
vbe64dec
(
p
+
8
);
foo
->
last
=
vbe64dec
(
p
+
8
);
foo
->
stop
=
vbe64dec
(
p
+
16
);
foo
->
stop
=
vbe64dec
(
p
+
16
);
foo
->
olen
=
ObjGetLen
(
req
->
wrk
,
foo
->
objcore
);
foo
->
olen
=
ObjGetLen
(
vdc
->
wrk
,
foo
->
objcore
);
assert
(
foo
->
start
>
0
&&
foo
->
start
<
foo
->
olen
*
8
);
assert
(
foo
->
start
>
0
&&
foo
->
start
<
foo
->
olen
*
8
);
assert
(
foo
->
last
>
0
&&
foo
->
last
<
foo
->
olen
*
8
);
assert
(
foo
->
last
>
0
&&
foo
->
last
<
foo
->
olen
*
8
);
assert
(
foo
->
stop
>
0
&&
foo
->
stop
<
foo
->
olen
*
8
);
assert
(
foo
->
stop
>
0
&&
foo
->
stop
<
foo
->
olen
*
8
);
...
...
src/vdp_pesi.c
View file @
8dd1120b
...
@@ -439,17 +439,16 @@ vped_include(struct req *preq, const char *src, const char *host,
...
@@ -439,17 +439,16 @@ vped_include(struct req *preq, const char *src, const char *host,
*/
*/
static
int
v_matchproto_
(
vdp_init_f
)
static
int
v_matchproto_
(
vdp_init_f
)
pesi_buf_init
(
VRT_CTX
,
struct
vdp_ctx
*
vdc
,
void
**
priv
,
struct
objcore
*
oc
)
pesi_buf_init
(
VRT_CTX
,
struct
vdp_ctx
*
vdc
,
void
**
priv
)
{
{
struct
req
*
req
;
struct
req
*
req
;
struct
pesi
*
pesi
;
struct
pesi
*
pesi
;
CHECK_OBJ_NOTNULL
(
ctx
,
VRT_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
ctx
,
VRT_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdc
,
VDP_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdc
,
VDP_CTX_MAGIC
);
req
=
vdc
->
req
;
req
=
ctx
->
req
;
CHECK_OBJ_NOTNULL
(
req
,
REQ_MAGIC
);
CHECK_OBJ_NOTNULL
(
req
,
REQ_MAGIC
);
CAST_OBJ_NOTNULL
(
pesi
,
*
priv
,
PESI_MAGIC
);
CAST_OBJ_NOTNULL
(
pesi
,
*
priv
,
PESI_MAGIC
);
(
void
)
oc
;
assert
(
WS_Allocated
(
req
->
ws
,
pesi
,
sizeof
*
pesi
));
assert
(
WS_Allocated
(
req
->
ws
,
pesi
,
sizeof
*
pesi
));
node_fill_nodestock
(
req
->
ws
,
&
pesi
->
nodestock
);
node_fill_nodestock
(
req
->
ws
,
&
pesi
->
nodestock
);
...
@@ -646,7 +645,7 @@ root_node_new(struct pesi *pesi, struct req *req)
...
@@ -646,7 +645,7 @@ root_node_new(struct pesi *pesi, struct req *req)
*/
*/
static
int
v_matchproto_
(
vdp_init_f
)
static
int
v_matchproto_
(
vdp_init_f
)
vdp_pesi_init
(
VRT_CTX
,
struct
vdp_ctx
*
vdc
,
void
**
priv
,
struct
objcore
*
oc
)
vdp_pesi_init
(
VRT_CTX
,
struct
vdp_ctx
*
vdc
,
void
**
priv
)
{
{
struct
req
*
req
;
struct
req
*
req
;
struct
pesi
*
pesi
;
struct
pesi
*
pesi
;
...
@@ -654,20 +653,30 @@ vdp_pesi_init(VRT_CTX, struct vdp_ctx *vdc, void **priv, struct objcore *oc)
...
@@ -654,20 +653,30 @@ vdp_pesi_init(VRT_CTX, struct vdp_ctx *vdc, void **priv, struct objcore *oc)
struct
pesi_tasks
*
pesi_tasks
;
struct
pesi_tasks
*
pesi_tasks
;
struct
node
*
root_node
;
struct
node
*
root_node
;
CHECK_OBJ_NOTNULL
(
ctx
,
VRT_CTX_MAGIC
);
CHECK_OBJ_ORNULL
(
ctx
->
req
,
REQ_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdc
,
VDP_CTX_MAGIC
);
CHECK_OBJ_NOTNULL
(
vdc
,
VDP_CTX_MAGIC
);
CHECK_OBJ_ORNULL
(
oc
,
OBJCORE_MAGIC
);
CHECK_OBJ_ORNULL
(
vdc
->
oc
,
OBJCORE_MAGIC
);
if
(
oc
==
NULL
||
!
ObjHasAttr
(
vdc
->
wrk
,
oc
,
OA_ESIDATA
))
CHECK_OBJ_NOTNULL
(
vdc
->
hp
,
HTTP_MAGIC
);
return
(
1
);
AN
(
vdc
->
clen
);
req
=
vdc
->
req
;
CHECK_OBJ_NOTNULL
(
req
,
REQ_MAGIC
);
AN
(
priv
);
AN
(
priv
);
AZ
(
*
priv
);
AZ
(
*
priv
);
RFC2616_Weaken_Etag
(
req
->
resp
);
if
(
vdc
->
oc
==
NULL
||
!
ObjHasAttr
(
vdc
->
wrk
,
vdc
->
oc
,
OA_ESIDATA
))
return
(
1
);
req
=
ctx
->
req
;
if
(
req
==
NULL
)
{
VSLb
(
vdc
->
vsl
,
SLT_Error
,
"esi can only be used on the client side"
);
return
(
1
);
}
RFC2616_Weaken_Etag
(
vdc
->
hp
);
req
->
res_mode
|=
RES_ESI
;
req
->
res_mode
|=
RES_ESI
;
if
(
req
->
resp_
len
!=
0
)
if
(
*
vdc
->
c
len
!=
0
)
req
->
resp_
len
=
-
1
;
*
vdc
->
c
len
=
-
1
;
if
(
req
->
esi_level
>
0
)
{
if
(
req
->
esi_level
>
0
)
{
CAST_OBJ_NOTNULL
(
pesi
,
req
->
transport_priv
,
PESI_MAGIC
);
CAST_OBJ_NOTNULL
(
pesi
,
req
->
transport_priv
,
PESI_MAGIC
);
...
...
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