[master] 6a77c5e72 Revert "Merge HAproxy support from vtest"

Nils Goroll nils.goroll at uplex.de
Tue Jan 12 11:07:06 UTC 2021


commit 6a77c5e72f0973fb47165270b7c44344885c8da6
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Tue Jan 12 11:59:04 2021 +0100

    Revert "Merge HAproxy support from vtest"
    
    Will apply the specific vtest patch instead
    
    This reverts commit cf7304c646d75b74fd84ccd040d2fcefe9c2ef5b.

diff --git a/bin/varnishtest/vtc_haproxy.c b/bin/varnishtest/vtc_haproxy.c
index 012a89cba..ca0cb9259 100644
--- a/bin/varnishtest/vtc_haproxy.c
+++ b/bin/varnishtest/vtc_haproxy.c
@@ -45,10 +45,10 @@
 #include "vpf.h"
 #include "vre.h"
 #include "vtcp.h"
+#include "vsa.h"
 #include "vtim.h"
 
 #define HAPROXY_PROGRAM_ENV_VAR	"HAPROXY_PROGRAM"
-#define HAPROXY_ARGS_ENV_VAR	"HAPROXY_ARGS"
 #define HAPROXY_OPT_WORKER	"-W"
 #define HAPROXY_OPT_MCLI	"-S"
 #define HAPROXY_OPT_DAEMON	"-D"
@@ -174,7 +174,7 @@ haproxy_cli_tcp_connect(struct vtclog *vl, const char *addr, double tmo,
     const char **errp)
 {
 	int fd;
-	char mabuf[32], mpbuf[32];
+	char mabuf[VTCP_ADDRBUFSIZE], mpbuf[VTCP_PORTBUFSIZE];
 
 	AN(addr);
 	AN(errp);
@@ -520,16 +520,23 @@ haproxy_create_mcli(struct haproxy *h)
 	int sock;
 	const char *err;
 	char buf[128], addr[128], port[128];
+	char vsabuf[vsa_suckaddr_len];
+	struct suckaddr *sua;
 
-	sock = VTCP_listen_on("127.0.0.1:0", NULL, 100, &err);
+	sock = VTCP_listen_on(default_listen_addr, NULL, 100, &err);
 	if (err != NULL)
 		vtc_fatal(h->vl,
 			  "Create listen socket failed: %s", err);
 	assert(sock > 0);
+	sua = VSA_getsockname(sock, vsabuf, sizeof vsabuf);
+	AN(sua);
 
-	VTCP_myname(sock, addr, sizeof addr, port, sizeof port);
+	VTCP_name(sua, addr, sizeof addr, port, sizeof port);
 	bprintf(buf, "%s_mcli", h->name);
-	macro_def(h->vl, buf, "sock", "%s %s", addr, port);
+	if (VSA_Get_Proto(sua) == AF_INET)
+		macro_def(h->vl, buf, "sock", "%s:%s", addr, port);
+	else
+		macro_def(h->vl, buf, "sock", "[%s]:%s", addr, port);
 	macro_def(h->vl, buf, "addr", "%s", addr);
 	macro_def(h->vl, buf, "port", "%s", port);
 
@@ -559,18 +566,14 @@ haproxy_new(const char *name)
 	int closed_sock;
 	char addr[128], port[128];
 	const char *err;
-	const char *env_args;
+	char vsabuf[vsa_suckaddr_len];
+	struct suckaddr *sua;
 
 	ALLOC_OBJ(h, HAPROXY_MAGIC);
 	AN(h);
 	REPLACE(h->name, name);
 
 	h->args = VSB_new_auto();
-	env_args = getenv(HAPROXY_ARGS_ENV_VAR);
-	if (env_args) {
-		VSB_cat(h->args, env_args);
-		VSB_cat(h->args, " ");
-	}
 
 	h->vl = vtc_logopen("%s", name);
 	vtc_log_set_cmd(h->vl, haproxy_cli_cmds);
@@ -604,8 +607,13 @@ haproxy_new(const char *name)
 		vtc_fatal(h->vl,
 			"Create listen socket failed: %s", err);
 	assert(closed_sock > 0);
-	VTCP_myname(closed_sock, addr, sizeof addr, port, sizeof port);
-	macro_def(h->vl, h->closed_sock, "sock", "%s %s", addr, port);
+	sua = VSA_getsockname(closed_sock, vsabuf, sizeof vsabuf);
+	AN(sua);
+	VTCP_name(sua, addr, sizeof addr, port, sizeof port);
+	if (VSA_Get_Proto(sua) == AF_INET)
+		macro_def(h->vl, h->closed_sock, "sock", "%s:%s", addr, port);
+	else
+		macro_def(h->vl, h->closed_sock, "sock", "[%s]:%s", addr, port);
 	macro_def(h->vl, h->closed_sock, "addr", "%s", addr);
 	macro_def(h->vl, h->closed_sock, "port", "%s", port);
 	VTCP_close(&closed_sock);
@@ -843,6 +851,8 @@ haproxy_build_backends(struct haproxy *h, const char *vsb_data)
 		int sock;
 		char buf[128], addr[128], port[128];
 		const char *err;
+		char vsabuf[vsa_suckaddr_len];
+		struct suckaddr *sua;
 
 		p = strstr(p, HAPROXY_BE_FD_STR);
 		if (!p)
@@ -860,10 +870,15 @@ haproxy_build_backends(struct haproxy *h, const char *vsb_data)
 			vtc_fatal(h->vl,
 			    "Create listen socket failed: %s", err);
 		assert(sock > 0);
+		sua = VSA_getsockname(sock, vsabuf, sizeof vsabuf);
+		AN(sua);
 
-		VTCP_myname(sock, addr, sizeof addr, port, sizeof port);
+		VTCP_name(sua, addr, sizeof addr, port, sizeof port);
 		bprintf(buf, "%s_%s", h->name, p);
-		macro_def(h->vl, buf, "sock", "%s %s", addr, port);
+		if (VSA_Get_Proto(sua) == AF_INET)
+			macro_def(h->vl, buf, "sock", "%s:%s", addr, port);
+		else
+			macro_def(h->vl, buf, "sock", "[%s]:%s", addr, port);
 		macro_def(h->vl, buf, "addr", "%s", addr);
 		macro_def(h->vl, buf, "port", "%s", port);
 
diff --git a/bin/varnishtest/vtc_misc.c b/bin/varnishtest/vtc_misc.c
index 75a4b7c38..88437b757 100644
--- a/bin/varnishtest/vtc_misc.c
+++ b/bin/varnishtest/vtc_misc.c
@@ -384,7 +384,7 @@ ipvx_works(const char *target)
 		VTCP_close(&fd);
 		return (1);
 	}
-	return(0);
+        return(0);
 }
 
 /* SECTION: feature feature


More information about the varnish-commit mailing list