[master] 194e3d6 Reuse addresses for local/server and remote/client until they differ

Poul-Henning Kamp phk at FreeBSD.org
Wed Mar 18 15:06:05 CET 2015


commit 194e3d680db1425b9fba276aa881fc540d214bf4
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Wed Mar 18 14:05:41 2015 +0000

    Reuse addresses for local/server and remote/client until they differ

diff --git a/bin/varnishd/cache/cache_acceptor.c b/bin/varnishd/cache/cache_acceptor.c
index 62d8ad1..98e7351 100644
--- a/bin/varnishd/cache/cache_acceptor.c
+++ b/bin/varnishd/cache/cache_acceptor.c
@@ -332,8 +332,7 @@ vca_make_session(struct worker *wrk, void *arg)
 	assert(wa->acceptaddrlen <= vsa_suckaddr_len);
 	SES_Reserve_remote_addr(sp, &sa);
 	AN(VSA_Build(sa, &wa->acceptaddr, wa->acceptaddrlen));
-	SES_Reserve_client_addr(sp, &sa);
-	AN(VSA_Build(sa, &wa->acceptaddr, wa->acceptaddrlen));
+	sp->sattr[SA_CLIENT_ADDR] = sp->sattr[SA_REMOTE_ADDR];
 
 	VTCP_name(sa, raddr, sizeof raddr, rport, sizeof rport);
 	SES_Set_String_Attr(sp, SA_CLIENT_IP, raddr);
@@ -343,8 +342,7 @@ vca_make_session(struct worker *wrk, void *arg)
 	AZ(getsockname(sp->fd, (void*)&ss, &sl));
 	SES_Reserve_local_addr(sp, &sa);
 	AN(VSA_Build(sa, &ss, sl));
-	SES_Reserve_server_addr(sp, &sa);
-	AN(VSA_Build(sa, &ss, sl));
+	sp->sattr[SA_SERVER_ADDR] = sp->sattr[SA_LOCAL_ADDR];
 
 	VTCP_name(sa, laddr, sizeof laddr, lport, sizeof lport);
 



More information about the varnish-commit mailing list