summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvenkat.puvvada <venkat.puvvada>2010-01-07 05:34:53 +0000
committervenkat.puvvada <venkat.puvvada>2010-01-07 05:34:53 +0000
commit2706fab0fd096a4f878c37e4fe2e9a873fdb283c (patch)
tree2a4a3cbbc0abc7056294093dbe3011fe7feabb15
parent40e80e2b32fe3750fbb6e9ca64ccd35c4f2b7c5d (diff)
downloadtog-pegasus-RELEASE_2_8-branch.zip
tog-pegasus-RELEASE_2_8-branch.tar.gz
tog-pegasus-RELEASE_2_8-branch.tar.xz
TITLE: IPv4 URLs not advertised if remote address is IPv4 Mapped DESCRIPTION:
-rw-r--r--src/slp/slp_client/src/cmd-utils/slp_client/slp_client.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/slp/slp_client/src/cmd-utils/slp_client/slp_client.cpp b/src/slp/slp_client/src/cmd-utils/slp_client/slp_client.cpp
index be2ebbe..8d4f8b9 100644
--- a/src/slp/slp_client/src/cmd-utils/slp_client/slp_client.cpp
+++ b/src/slp/slp_client/src/cmd-utils/slp_client/slp_client.cpp
@@ -716,6 +716,10 @@ static int _slp_create_bind_socket(SOCKETD *sock, int af, int port,
else
{
PEGASUS_ASSERT(af == AF_INET6);
+ // To be able to bind the IPV6 socket to in6addr_any in parallel to
+ // the IPV4 socket, the IPV6_V6ONLY option has to be set.
+ _LSLP_SETSOCKOPT(*sock, IPPROTO_IPV6, IPV6_V6ONLY,
+ (const char *)&err, sizeof(err));
memset (&ip6, 0, sizeof(ip6));
ip6.sin6_family = af;
ip6.sin6_port = htons(port);