]> err.no Git - varnish/commitdiff
Use struct sockaddr_storage instead of our own homegrown hack.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 9 May 2007 12:08:41 +0000 (12:08 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 9 May 2007 12:08:41 +0000 (12:08 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1396 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/cache_acceptor.c
varnish-cache/bin/varnishd/cache_vrt.c
varnish-cache/bin/varnishd/cache_vrt_acl.c

index b91e7145bc70b53ca3361248d7b547f417f12c15..9d13c1d47be2db4709bc949adc01363f44fb5d4b 100644 (file)
@@ -256,9 +256,9 @@ struct sess {
        struct worker           *wrk;
 
        unsigned                sockaddrlen;
-       struct sockaddr         sockaddr[2];
+       struct sockaddr_storage sockaddr[1];
        unsigned                mysockaddrlen;
-       struct sockaddr         mysockaddr[2];
+       struct sockaddr_storage mysockaddr[1];
 
        /* formatted ascii client address */
        char                    addr[TCP_ADDRBUFSIZE];
index 3d267e7bdc7c6b63184c4aa9817ad37313c4e3a0..3d79adabb2fd45f601c47b6ef4b9451df9366ef9 100644 (file)
@@ -113,7 +113,7 @@ void
 VCA_Prep(struct sess *sp)
 {
 
-       TCP_name(sp->sockaddr, sp->sockaddrlen,
+       TCP_name((struct sockaddr *)sp->sockaddr, sp->sockaddrlen,
            sp->addr, sizeof sp->addr, sp->port, sizeof sp->port);
        VSL(SLT_SessionOpen, sp->fd, "%s %s", sp->addr, sp->port);
        sp->acct.first = sp->t_open.tv_sec;
index dddfc358951aefb48846c153933920f9b1ead0c8..52bc308b8b6a800d499df56d9dd0c4a49f366c28 100644 (file)
@@ -256,7 +256,7 @@ VREQ(proto, HTTP_HDR_PROTO)
 struct sockaddr *
 VRT_r_client_ip(struct sess *sp)
 {
-       return (sp->sockaddr);
+       return ((struct sockaddr *)sp->sockaddr);
 }
 
 struct sockaddr *
@@ -266,9 +266,10 @@ VRT_r_server_ip(struct sess *sp)
 
        if (sp->mysockaddrlen == 0) {
                l = sizeof sp->mysockaddr;
-               AZ(getsockname(sp->fd, sp->mysockaddr, &l));
+               AZ(getsockname(sp->fd,
+                   (struct sockaddr*)sp->mysockaddr, &l));
                sp->mysockaddrlen = l;
        }
 
-       return (sp->mysockaddr);
+       return ((struct sockaddr*)sp->mysockaddr);
 }
index 9de30f78ef4b3969012b911cde398b7536cc1b5f..9c1544e176751b197e22347ca99e45313dd97fef 100644 (file)
@@ -104,7 +104,7 @@ VRT_acl_match(struct sess *sp, struct sockaddr *sa, const char *acln, struct vrt
                for (a1 = ap->priv; a1 != NULL; a1 = a1->ai_next) {
 
                        /* only match the right family */
-                       if (a1->ai_family != sp->sockaddr->sa_family)
+                       if (a1->ai_family != sp->sockaddr->ss_family)
                                continue;
 
                        if (a1->ai_family == AF_INET) {