MINOR: cli: make "show fd" also report the xprt and xprt_ctx

These ones are definitely missing from some dumps, let's report them! We
print the xprt's name instead of its useless pointer, as well as its ctx
when xprt is not NULL.

(cherry picked from commit 37be9534245152130fad75c74133c3111a2f382b)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/src/cli.c b/src/cli.c
index e0d3254..4ba8428 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1032,7 +1032,9 @@
 		const struct proxy *px = NULL;
 		const struct connection *conn = NULL;
 		const struct mux_ops *mux = NULL;
+		const struct xprt_ops *xprt = NULL;
 		const void *ctx = NULL;
+		const void *xprt_ctx = NULL;
 		uint32_t conn_flags = 0;
 		int is_back = 0;
 
@@ -1052,6 +1054,8 @@
 			conn_flags = conn->flags;
 			mux        = conn->mux;
 			ctx        = conn->ctx;
+			xprt       = conn->xprt;
+			xprt_ctx   = conn->xprt_ctx;
 			li         = objt_listener(conn->target);
 			sv         = objt_server(conn->target);
 			px         = objt_proxy(conn->target);
@@ -1100,6 +1104,10 @@
 			}
 			else
 				chunk_appendf(&trash, " nomux");
+
+			chunk_appendf(&trash, " xprt=%s", xprt ? xprt->name : "");
+			if (xprt)
+				chunk_appendf(&trash, " xprt_ctx=%p", xprt_ctx);
 		}
 		else if (fdt.iocb == sock_accept_iocb) {
 			chunk_appendf(&trash, ") l.st=%s fe=%s",