[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;