[lib] Fix IPv6 normalisation

* lib/sockunion.c: (sockunion_normalise_mapped) The code to normalize
  address was not copying port value - probably reason why IPV4 in IPV6
  never worked right.
This commit is contained in:
Stephen Hemminger 2009-07-11 21:27:51 -07:00 committed by Paul Jakma
parent 9b4ef258a9
commit 3fa3f957e7

View File

@ -238,6 +238,7 @@ sockunion_normalise_mapped (union sockunion *su)
{
memset (&sin, 0, sizeof (struct sockaddr_in));
sin.sin_family = AF_INET;
sin.sin_port = su->sin6.sin6_port;
memcpy (&sin.sin_addr, ((char *)&su->sin6.sin6_addr) + 12, 4);
memcpy (su, &sin, sizeof (struct sockaddr_in));
}