[master] 3f0c7ade7 Give esi:includes a ->minimal_reponse and make it panic, because that should not happen.
Poul-Henning Kamp
phk at FreeBSD.org
Tue Dec 11 11:51:12 UTC 2018
commit 3f0c7ade7e23bc4317e07eb9c665bf6bd6bf02c1
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Dec 11 10:33:12 2018 +0000
Give esi:includes a ->minimal_reponse and make it panic, because
that should not happen.
diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index 656df25a8..97bc7e6f0 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -68,11 +68,20 @@ struct ecx {
uint32_t crc;
};
+static int v_matchproto_(vtr_minimal_response_f)
+ved_minimal_response(struct req *req, uint16_t status)
+{
+ (void)req;
+ (void)status;
+ WRONG("esi:includes should not try minimal responses");
+}
+
static const struct transport VED_transport = {
- .magic = TRANSPORT_MAGIC,
- .name = "ESI_INCLUDE",
- .deliver = ved_deliver,
- .reembark = ved_reembark,
+ .magic = TRANSPORT_MAGIC,
+ .name = "ESI_INCLUDE",
+ .deliver = ved_deliver,
+ .reembark = ved_reembark,
+ .minimal_response = ved_minimal_response,
};
/*--------------------------------------------------------------------*/
diff --git a/bin/varnishd/cache/cache_req_fsm.c b/bin/varnishd/cache/cache_req_fsm.c
index 69b5f8dd4..0a16ae808 100644
--- a/bin/varnishd/cache/cache_req_fsm.c
+++ b/bin/varnishd/cache/cache_req_fsm.c
@@ -64,7 +64,6 @@ cnt_transport(struct worker *wrk, struct req *req)
CHECK_OBJ_NOTNULL(req->http, HTTP_MAGIC);
CHECK_OBJ_NOTNULL(req->transport, TRANSPORT_MAGIC);
assert(req->req_body_status != REQ_BODY_INIT);
- AN(req->transport->minimal_response);
if (http_GetHdr(req->http, H_Expect, &p)) {
if (strcasecmp(p, "100-continue")) {
@@ -1028,6 +1027,10 @@ CNT_Request(struct worker *wrk, struct req *req)
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
+ CHECK_OBJ_NOTNULL(req->transport, TRANSPORT_MAGIC);
+ AN(req->transport->deliver);
+ AN(req->transport->minimal_response);
+
/*
* Possible entrance states
*/
More information about the varnish-commit
mailing list