aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
blob: 24c134fcac8d4d2083b34a4ff3c4d63c372da249 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html

Upstream-Status: Pending

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
 ping/ping_common.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/ping/ping_common.h b/ping/ping_common.h
index 1dfd1b5..3bfbd12 100644
--- a/ping/ping_common.h
+++ b/ping/ping_common.h
@@ -17,10 +17,14 @@
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see `http://www.gnu.org/licenses/'. */
 
+#include <config.h>
+
 #include <netinet/in_systm.h>
 #include <netinet/in.h>
 #include <netinet/ip.h>
+#ifdef HAVE_IPV6
 #include <netinet/icmp6.h>
+#endif
 #include <icmp.h>
 #include <error.h>
 #include <progname.h>
@@ -62,7 +66,12 @@ struct ping_stat
    want to follow the traditional behaviour of ping.  */
 #define DEFAULT_PING_COUNT 0
 
+#ifdef HAVE_IPV6
 #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
+#else
+#define PING_HEADER_LEN (ICMP_MINLEN)
+#endif
+
 #define PING_TIMING(s)  ((s) >= sizeof (struct timeval))
 #define PING_DATALEN    (64 - PING_HEADER_LEN)  /* default data length */
 
@@ -74,13 +83,20 @@ struct ping_stat
   (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
 } while (0)
 
+#ifdef HAVE_IPV6
 /* FIXME: Adjust IPv6 case for options and their consumption.  */
 #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
 				   (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
 
+#else
+#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
+#endif
+
+#ifdef HAVE_IPV6
 typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
 			  struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
 			  int datalen);
+#endif
 
 typedef int (*ping_efp) (int code,
 			 void *closure,
@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code,
 			 struct ip * ip, icmphdr_t * icmp, int datalen);
 
 union event {
+#ifdef HAVE_IPV6
   ping_efp6 handler6;
+#endif
   ping_efp handler;
 };
 
 union ping_address {
   struct sockaddr_in ping_sockaddr;
+#ifdef HAVE_IPV6
   struct sockaddr_in6 ping_sockaddr6;
+#endif
 };
 
 typedef struct ping_data PING;
-- 
2.8.3