summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2013-04-19 13:13:57 -0400
committerSteve Dickson <steved@redhat.com>2013-04-22 12:47:20 -0400
commit37add3662de0339a75d3bed86a4235fc7efaf18d (patch)
treea440a232f2227165b034e501823765f82e881344
parent2a0f1422a891776ecad49109102f1dde8bef1cf9 (diff)
downloadnfs-utils-37add3662de0339a75d3bed86a4235fc7efaf18d.tar.gz
nfs-utils-37add3662de0339a75d3bed86a4235fc7efaf18d.tar.xz
nfs-utils-37add3662de0339a75d3bed86a4235fc7efaf18d.zip
sm-notify: "-v hostname" doesn't work when IPV6_SUPPORT is enabled
Marc Eshel reports that using the -v command line option on the sm-notify command stopped working after nfs-utils 1.2.2, when IPv6 support was added. If nfs-utils is built without IPv6 support, it still works. Marc specified a hostname with a single A record. smn_bind_address() must construct a bind address with the same family as the RPC socket's protocol family. Add an AI_V4MAPPED hint so an appropriate IPv6 bind address is constructed even if -v specifies an IPv4 presentation address, or a hostname with only IPv4 mappings. We still use an IPv4 bind address if IPv6 support is compiled out or the host does not support IPv6. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com> Cc: Marc Eshel <eshel@us.ibm.com>
-rw-r--r--utils/statd/sm-notify.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/utils/statd/sm-notify.c b/utils/statd/sm-notify.c
index a3290aa..9dbe5d9 100644
--- a/utils/statd/sm-notify.c
+++ b/utils/statd/sm-notify.c
@@ -349,7 +349,7 @@ smn_bind_address(const char *srcaddr, const char *srcport)
{
struct addrinfo *ai = NULL;
struct addrinfo hint = {
- .ai_flags = AI_NUMERICSERV,
+ .ai_flags = AI_NUMERICSERV | AI_V4MAPPED,
.ai_family = nsm_family,
.ai_protocol = (int)IPPROTO_UDP,
};