From: Zdeněk Salvet Date: Thu, 1 Apr 2010 13:45:46 +0000 (+0000) Subject: More portable way of extraction of IPv6-mapped address. X-Git-Tag: glite-security-gsoap-plugin_R_2_1_1_1~4 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=9a1e5a514d45be2e06a864e5966eef8886ffde2e;p=jra1mw.git More portable way of extraction of IPv6-mapped address. --- diff --git a/org.glite.lb.server/src/bkserverd.c b/org.glite.lb.server/src/bkserverd.c index 589c870..d77fb9c 100644 --- a/org.glite.lb.server/src/bkserverd.c +++ b/org.glite.lb.server/src/bkserverd.c @@ -1831,7 +1831,7 @@ static int asyn_gethostbyaddr(char **name, char **service, const struct sockaddr if (addr->sa_family == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&((struct sockaddr_in6 *)addr)->sin6_addr)) { v4.sin_family = AF_INET; v4.sin_port = ((struct sockaddr_in6 *)addr)->sin6_port; - v4.sin_addr.s_addr = ((struct sockaddr_in6 *)addr)->sin6_addr.in6_u.u6_addr32[3]; + v4.sin_addr.s_addr = *(in_addr_t *) &((struct sockaddr_in6 *)addr)->sin6_addr.s6_addr[12]; addr = (struct sockaddr *) &v4; len = sizeof(v4); }