[master] 5808270 Add VTCP_my_suckaddr() function.

Poul-Henning Kamp phk at FreeBSD.org
Thu Mar 12 15:01:24 CET 2015


commit 580827059eeb90e4cfb046ce161fc2716ee91793
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Thu Mar 12 12:53:26 2015 +0000

    Add VTCP_my_suckaddr() function.

diff --git a/include/vtcp.h b/include/vtcp.h
index 641cc14..f00b44a 100644
--- a/include/vtcp.h
+++ b/include/vtcp.h
@@ -38,6 +38,7 @@ struct suckaddr;
 int VTCP_Check(int a);
 #define VTCP_Assert(a) assert(VTCP_Check(a))
 
+struct suckaddr *VTCP_my_suckaddr(int sock);
 void VTCP_myname(int sock, char *abuf, unsigned alen,
     char *pbuf, unsigned plen);
 void VTCP_hisname(int sock, char *abuf, unsigned alen,
diff --git a/lib/libvarnish/vtcp.c b/lib/libvarnish/vtcp.c
index d59b214..a168c5f 100644
--- a/lib/libvarnish/vtcp.c
+++ b/lib/libvarnish/vtcp.c
@@ -102,6 +102,19 @@ VTCP_name(const struct suckaddr *addr, char *abuf, unsigned alen,
 
 /*--------------------------------------------------------------------*/
 
+struct suckaddr *
+VTCP_my_suckaddr(int sock)
+{
+	struct sockaddr_storage addr_s;
+	socklen_t l;
+
+	l = sizeof addr_s;
+	AZ(getsockname(sock, (void *)&addr_s, &l));
+	return (VSA_Malloc(&addr_s, l));
+}
+
+/*--------------------------------------------------------------------*/
+
 void
 VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen)
 {



More information about the varnish-commit mailing list