From: phk Date: Wed, 9 May 2007 09:45:01 +0000 (+0000) Subject: Don't use sockaddr->sa_len, it was too advanced for POSIX people X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb5c7b04ea221825333ac36df9d72c3dc1d09351;p=varnish Don't use sockaddr->sa_len, it was too advanced for POSIX people git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1393 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/cache.h b/varnish-cache/bin/varnishd/cache.h index 1b86bfc1..b91e7145 100644 --- a/varnish-cache/bin/varnishd/cache.h +++ b/varnish-cache/bin/varnishd/cache.h @@ -257,6 +257,7 @@ struct sess { unsigned sockaddrlen; struct sockaddr sockaddr[2]; + unsigned mysockaddrlen; struct sockaddr mysockaddr[2]; /* formatted ascii client address */ diff --git a/varnish-cache/bin/varnishd/cache_vrt.c b/varnish-cache/bin/varnishd/cache_vrt.c index 46c101e9..dddfc358 100644 --- a/varnish-cache/bin/varnishd/cache_vrt.c +++ b/varnish-cache/bin/varnishd/cache_vrt.c @@ -264,10 +264,10 @@ VRT_r_server_ip(struct sess *sp) { socklen_t l; - if (sp->mysockaddr->sa_len == 0) { + if (sp->mysockaddrlen == 0) { l = sizeof sp->mysockaddr; AZ(getsockname(sp->fd, sp->mysockaddr, &l)); - assert(l == sp->mysockaddr->sa_len); + sp->mysockaddrlen = l; } return (sp->mysockaddr);