]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[1534] Try connecting before getsockopt
authorMichal 'vorner' Vaner <michal.vaner@nic.cz>
Tue, 21 Feb 2012 11:43:44 +0000 (12:43 +0100)
committerMichal 'vorner' Vaner <michal.vaner@nic.cz>
Tue, 21 Feb 2012 11:43:44 +0000 (12:43 +0100)
Because it complains it is not supported on sockets not connected.

src/bin/sockcreator/tests/sockcreator_tests.cc

index 989815581e05d54225edcf180b3771f6a3ed3482..9f550098e7ab98ab3d6e5c1c7d76e67007f52f86 100644 (file)
@@ -126,6 +126,14 @@ void addressFamilySpecificCheck(const sockaddr_in6*, const int socknum,
         EXPECT_NE(0, options);
 #endif
 #ifdef IPV6_MTU
+        struct sockaddr_in6 addr;
+        memset(&addr, 0, sizeof(addr));
+        addr.sin6_family = AF_INET6;
+        addr.sin6_port = htons(53);
+        addr.sin6_addr = in6addr_loopback;
+        EXPECT_EQ(0, connect(socknum,
+                             reinterpret_cast<struct sockaddr*>(&addr),
+                             sizeof(addr)));
         // Use minimum MTU on systems that don't have the IPV6_USE_MIN_MTU
         EXPECT_EQ(0, getsockopt(socknum, IPPROTO_IPV6, IPV6_MTU, &options,
                                 &len)) << strerror(errno);