]> git.puffer.fish Git - mirror/frr.git/commitdiff
[lib] Fix IPv6 normalisation
authorStephen Hemminger <shemminger@vyatta.com>
Sun, 12 Jul 2009 04:27:51 +0000 (21:27 -0700)
committerPaul Jakma <paul@quagga.net>
Thu, 16 Jul 2009 17:13:00 +0000 (18:13 +0100)
* 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.

lib/sockunion.c

index 75419b1143ab72963a1712ba04a2a587b1b4aaa6..6a40f33211e654ad8cd75b4a5e188504fe6035c8 100644 (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));
     }