1
#! /bin/sh /usr/share/dpatch/dpatch-run
2
## 01UPSTREAM_autofs-5.0.4-dont-fail-on-ipv6-address-adding-host.patch
4
## DP: Upstream patch on top of 5.0.4.
7
autofs-5.0.4 - dont fail on ipv6 address adding host
9
From: Ian Kent <raven@themaw.net>
11
We don't have IPv6 support enabled in libtirpc yet. When we
12
perform name (or address) lookup and we get a mixture of IPv4
13
and IPv6 addresses the lack of IPv6 support can cause the
14
parse_location() function to fail to add any valid hosts when
19
include/replicated.h | 1 +
20
modules/replicated.c | 9 ++++++++-
21
3 files changed, 10 insertions(+), 1 deletions(-)
24
diff --git a/CHANGELOG b/CHANGELOG
25
index 89aaa99..7e1012f 100644
29
- dont umount existing direct mount on master re-read.
30
- fix incorrect shutdown introduced by library relaod fixes.
31
- improve manual umount recovery.
32
+- dont fail on ipv6 address when adding host.
34
4/11/2008 autofs-5.0.4
35
-----------------------
36
diff --git a/include/replicated.h b/include/replicated.h
37
index e0133ff..fd87c08 100644
38
--- a/include/replicated.h
39
+++ b/include/replicated.h
41
#define PROXIMITY_SUBNET 0x0002
42
#define PROXIMITY_NET 0x0004
43
#define PROXIMITY_OTHER 0x0008
44
+#define PROXIMITY_UNSUPPORTED 0x0010
46
#define NFS2_SUPPORTED 0x0010
47
#define NFS3_SUPPORTED 0x0020
48
diff --git a/modules/replicated.c b/modules/replicated.c
49
index 79845d0..a66de9f 100644
50
--- a/modules/replicated.c
51
+++ b/modules/replicated.c
52
@@ -181,7 +181,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr)
56
- return PROXIMITY_ERROR;
57
+ return PROXIMITY_UNSUPPORTED;
59
addr6 = (struct sockaddr_in6 *) host_addr;
60
hst6_addr = (struct in6_addr *) &addr6->sin6_addr;
61
@@ -1048,6 +1048,13 @@ static int add_new_host(struct host **list,
64
prx = get_proximity(host_addr->ai_addr);
66
+ * If we tried to add an IPv6 address and we don't have IPv6
67
+ * support return success in the hope of getting an IPv4
70
+ if (prx == PROXIMITY_UNSUPPORTED)
72
if (prx == PROXIMITY_ERROR)