[master] 0df786e Simplify the Telnet/Cli code

Poul-Henning Kamp phk at FreeBSD.org
Sun Nov 19 08:51:08 UTC 2017


commit 0df786e8a71bc3f7b155ba7d44a789b7e8c498b9
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sun Nov 19 08:50:12 2017 +0000

    Simplify the Telnet/Cli code

diff --git a/bin/varnishd/mgt/mgt_cli.c b/bin/varnishd/mgt/mgt_cli.c
index 37fe5ed..973cada 100644
--- a/bin/varnishd/mgt/mgt_cli.c
+++ b/bin/varnishd/mgt/mgt_cli.c
@@ -453,41 +453,12 @@ sock_id(const char *pfx, int fd)
 
 /*--------------------------------------------------------------------*/
 
-struct telnet {
-	unsigned		magic;
-#define TELNET_MAGIC		0x53ec3ac0
-	int			fd;
-	struct vev		*ev;
-};
-
-static void
-telnet_close(void *priv)
-{
-	struct telnet *tn;
-
-	CAST_OBJ_NOTNULL(tn, priv, TELNET_MAGIC);
-	(void)close(tn->fd);
-	FREE_OBJ(tn);
-}
-
-static struct telnet *
-telnet_new(int fd)
-{
-	struct telnet *tn;
-
-	ALLOC_OBJ(tn, TELNET_MAGIC);
-	AN(tn);
-	tn->fd = fd;
-	return (tn);
-}
-
 static int
 telnet_accept(const struct vev *ev, int what)
 {
 	struct vsb *vsb;
 	struct sockaddr_storage addr;
 	socklen_t addrlen;
-	struct telnet *tn;
 	int i;
 
 	(void)what;
@@ -499,9 +470,8 @@ telnet_accept(const struct vev *ev, int what)
 		return (0);
 
 	MCH_TrackHighFd(i);
-	tn = telnet_new(i);
 	vsb = sock_id("telnet", i);
-	mgt_cli_setup(i, i, 0, VSB_data(vsb), telnet_close, tn);
+	mgt_cli_setup(i, i, 0, VSB_data(vsb), NULL, NULL);
 	VSB_destroy(&vsb);
 	return (0);
 }
@@ -544,7 +514,7 @@ mct_callback(void *priv, const struct suckaddr *sa)
 	const char *err;
 	char abuf[VTCP_ADDRBUFSIZE];
 	char pbuf[VTCP_PORTBUFSIZE];
-	struct telnet *tn;
+	struct vev *ev;
 
 	VJ_master(JAIL_MASTER_PRIVPORT);
 	sock = VTCP_listen(sa, 10, &err);
@@ -553,14 +523,12 @@ mct_callback(void *priv, const struct suckaddr *sa)
 	if (sock > 0) {
 		VTCP_myname(sock, abuf, sizeof abuf, pbuf, sizeof pbuf);
 		VSB_printf(vsb, "%s %s\n", abuf, pbuf);
-		tn = telnet_new(sock);
-		tn->ev = VEV_Alloc();
-		AN(tn->ev);
-		tn->ev->fd = sock;
-		tn->ev->fd_flags = POLLIN;
-		tn->ev->callback = telnet_accept;
-		tn->ev->priv = tn;
-		AZ(VEV_Start(mgt_evb, tn->ev));
+		ev = VEV_Alloc();
+		AN(ev);
+		ev->fd = sock;
+		ev->fd_flags = POLLIN;
+		ev->callback = telnet_accept;
+		AZ(VEV_Start(mgt_evb, ev));
 	}
 	return (0);
 }
@@ -577,7 +545,8 @@ mgt_cli_telnet(const char *T_arg)
 	AN(vsb);
 	error = VSS_resolver(T_arg, NULL, mct_callback, vsb, &err);
 	if (err != NULL)
-		ARGV_ERR("Could not resolve -T argument to address\n\t%s\n", err);
+		ARGV_ERR("Could not resolve -T argument to address\n\t%s\n",
+		    err);
 	AZ(error);
 	AZ(VSB_finish(vsb));
 	if (VSB_len(vsb) == 0)


More information about the varnish-commit mailing list