[master] 1d670e2f0 VCL xid variables should be integers
Nils Goroll
nils.goroll at uplex.de
Wed Oct 26 22:04:15 UTC 2022
commit 1d670e2f04a4ff13615c7e6a4ee800e4ba8ebaf2
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Wed Oct 26 23:52:26 2022 +0200
VCL xid variables should be integers
Due to string folding, I expect this change to be fully backwards compatible
- even with std.integert(req.xid) as proven by the vtcs which I am about to
change.
diff --git a/bin/varnishd/cache/cache_vrt_var.c b/bin/varnishd/cache/cache_vrt_var.c
index d3880f4af..97e74b9bf 100644
--- a/bin/varnishd/cache/cache_vrt_var.c
+++ b/bin/varnishd/cache/cache_vrt_var.c
@@ -767,7 +767,7 @@ VRT_DO_AGE_R(beresp, ctx->bo->fetch_objcore)
* [[be]req|sess].xid
*/
-VCL_STRING
+VCL_INT
VRT_r_req_xid(VRT_CTX)
{
@@ -775,12 +775,10 @@ VRT_r_req_xid(VRT_CTX)
CHECK_OBJ_NOTNULL(ctx->req, REQ_MAGIC);
CHECK_OBJ_NOTNULL(ctx->req->http, HTTP_MAGIC);
AN(ctx->req->vsl);
-
- return (WS_Printf(ctx->req->http->ws, "%ju",
- VXID(ctx->req->vsl->wid)));
+ return (VXID(ctx->req->vsl->wid));
}
-VCL_STRING
+VCL_INT
VRT_r_bereq_xid(VRT_CTX)
{
@@ -788,10 +786,10 @@ VRT_r_bereq_xid(VRT_CTX)
CHECK_OBJ_NOTNULL(ctx->bo, BUSYOBJ_MAGIC);
AN(ctx->bo->vsl);
- return (WS_Printf(ctx->ws, "%ju", VXID(ctx->bo->vsl->wid)));
+ return (VXID(ctx->bo->vsl->wid));
}
-VCL_STRING
+VCL_INT
VRT_r_sess_xid(VRT_CTX)
{
struct sess *sp;
@@ -807,7 +805,7 @@ VRT_r_sess_xid(VRT_CTX)
}
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
- return (WS_Printf(ctx->ws, "%ju", VXID(sp->vxid)));
+ return (VXID(sp->vxid));
}
/*--------------------------------------------------------------------
diff --git a/doc/sphinx/reference/vcl_var.rst b/doc/sphinx/reference/vcl_var.rst
index d97016976..bf307edd2 100644
--- a/doc/sphinx/reference/vcl_var.rst
+++ b/doc/sphinx/reference/vcl_var.rst
@@ -434,7 +434,7 @@ req.url
req.xid
- Type: STRING
+ Type: INT
Readable from: client
@@ -720,7 +720,7 @@ bereq.url
bereq.xid
- Type: STRING
+ Type: INT
Readable from: vcl_pipe, backend
@@ -1488,7 +1488,7 @@ sess.timeout_linger
sess.xid ``VCL >= 4.1``
- Type: STRING
+ Type: INT
Readable from: client, backend
More information about the varnish-commit
mailing list