diff options
Diffstat (limited to 'package/openssl')
| -rw-r--r-- | package/openssl/openssl-optional-ipv6.patch | 55 | 
1 files changed, 55 insertions, 0 deletions
diff --git a/package/openssl/openssl-optional-ipv6.patch b/package/openssl/openssl-optional-ipv6.patch new file mode 100644 index 000000000..2876058bd --- /dev/null +++ b/package/openssl/openssl-optional-ipv6.patch @@ -0,0 +1,55 @@ +[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;  | 
