kumquat-buildroot/package/openssl/openssl-optional-ipv6.patch
Peter Korsgaard 65e209ca07 openssl: fix build without ipv6 support
Closes #1567

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-15 16:26:15 +02:00

56 lines
1.4 KiB
Diff

[PATCH] openssl: fix build without IPv6 support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
crypto/bio/bss_dgram.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: openssl-0.9.8n/crypto/bio/bss_dgram.c
===================================================================
--- openssl-0.9.8n.orig/crypto/bio/bss_dgram.c
+++ openssl-0.9.8n/crypto/bio/bss_dgram.c
@@ -61,6 +61,12 @@
#include <stdio.h>
#include <errno.h>
+#include <features.h>
+
+#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__)
+#define NO_IPV6
+#endif
+
#define USE_SOCKETS
#include "cryptlib.h"
@@ -429,12 +435,14 @@ static long dgram_ctrl(BIO *b, int cmd,
&sockopt_val, sizeof(sockopt_val))) < 0)
perror("setsockopt");
break;
+#ifndef NO_IPV6
case AF_INET6:
sockopt_val = IPV6_PMTUDISC_DO;
if ((ret = setsockopt(b->num, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
&sockopt_val, sizeof(sockopt_val))) < 0)
perror("setsockopt");
break;
+#endif
default:
ret = -1;
break;
@@ -470,6 +478,7 @@ static long dgram_ctrl(BIO *b, int cmd,
ret = data->mtu;
}
break;
+#ifndef NO_IPV6
case AF_INET6:
if ((ret = getsockopt(b->num, IPPROTO_IPV6, IPV6_MTU, (void *)&sockopt_val,
&sockopt_len)) < 0 || sockopt_val < 0)
@@ -485,6 +494,7 @@ static long dgram_ctrl(BIO *b, int cmd,
ret = data->mtu;
}
break;
+#endif
default:
ret = 0;
break;