[master] bee05daeb Use VSA_getpeername() - avoid sockaddr_storage

Nils Goroll nils.goroll at uplex.de
Fri Jan 8 16:54:08 UTC 2021


commit bee05daeb1050e6087b9e8380cec3c5bed80ef47
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Fri Jan 8 16:54:50 2021 +0100

    Use VSA_getpeername() - avoid sockaddr_storage

diff --git a/lib/libvarnish/vtcp.c b/lib/libvarnish/vtcp.c
index 61b580e67..9f2629de6 100644
--- a/lib/libvarnish/vtcp.c
+++ b/lib/libvarnish/vtcp.c
@@ -126,12 +126,12 @@ VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen)
 void
 VTCP_hisname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen)
 {
-	struct sockaddr_storage addr_s;
-	socklen_t l;
+	char buf[vsa_suckaddr_len];
+	struct suckaddr *sua;
 
-	l = sizeof addr_s;
-	if (!getpeername(sock, (void*)&addr_s, &l))
-		vtcp_sa_to_ascii(&addr_s, l, abuf, alen, pbuf, plen);
+	sua = VSA_getpeername(sock, buf, sizeof buf);
+	if (sua != NULL)
+		VTCP_name(sua, abuf, alen, pbuf, plen);
 	else {
 		(void)snprintf(abuf, alen, "<none>");
 		(void)snprintf(pbuf, plen, "<none>");


More information about the varnish-commit mailing list