[master] 57fe09e3d Kill a dead branch when building a probe request
    Dridi Boukelmoune 
    dridi.boukelmoune at gmail.com
       
    Mon Feb 24 19:49:07 UTC 2020
    
    
  
commit 57fe09e3d3b387129a1ac6a9ab67bba8e411e75b
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Mon Feb 24 20:29:44 2020 +0100
    Kill a dead branch when building a probe request
    
    We have two fallbacks in the absence of a .host_header field in the
    backend, one of which is systematic. We can build a non .request probe
    request with a single printf statement.
    
    Please note that when the .host field is in the form "$addr $port" we
    use that as the probe's host header. This behavior is not introduced by
    this change but ultimately we might want to do something about it and
    for example capture the first token from hosthdr with a txt.
diff --git a/bin/varnishd/cache/cache_backend_probe.c b/bin/varnishd/cache/cache_backend_probe.c
index 252ae7ecb..23721fb94 100644
--- a/bin/varnishd/cache/cache_backend_probe.c
+++ b/bin/varnishd/cache/cache_backend_probe.c
@@ -586,12 +586,14 @@ vbp_build_req(struct vbp_target *vt, const struct vrt_backend_probe *vbp,
 	if (vbp->request != NULL) {
 		VSB_cat(vsb, vbp->request);
 	} else {
-		VSB_printf(vsb, "GET %s HTTP/1.1\r\n",
-		    vbp->url != NULL ?  vbp->url : "/");
-		if (be->hosthdr != NULL)
-			VSB_printf(vsb, "Host: %s\r\n", be->hosthdr);
-		VSB_cat(vsb, "Connection: close\r\n");
-		VSB_cat(vsb, "\r\n");
+		AN(be->hosthdr);
+		VSB_printf(vsb,
+		    "GET %s HTTP/1.1\r\n"
+		    "Host: %s\r\n"
+		    "Connection: close\r\n"
+		    "\r\n",
+		    vbp->url != NULL ?  vbp->url : "/",
+		    be->hosthdr);
 	}
 	AZ(VSB_finish(vsb));
 	vt->req = strdup(VSB_data(vsb));
    
    
More information about the varnish-commit
mailing list