openssl-optional-ipv6.patch 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. [PATCH] openssl: fix build without IPv6 support
  2. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
  3. ---
  4. crypto/bio/bss_dgram.c | 10 ++++++++++
  5. 1 file changed, 10 insertions(+)
  6. Index: openssl-0.9.8n/crypto/bio/bss_dgram.c
  7. ===================================================================
  8. --- openssl-0.9.8n.orig/crypto/bio/bss_dgram.c
  9. +++ openssl-0.9.8n/crypto/bio/bss_dgram.c
  10. @@ -61,6 +61,12 @@
  11. #include <stdio.h>
  12. #include <errno.h>
  13. +#include <features.h>
  14. +
  15. +#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__)
  16. +#define NO_IPV6
  17. +#endif
  18. +
  19. #define USE_SOCKETS
  20. #include "cryptlib.h"
  21. @@ -429,12 +435,14 @@ static long dgram_ctrl(BIO *b, int cmd,
  22. &sockopt_val, sizeof(sockopt_val))) < 0)
  23. perror("setsockopt");
  24. break;
  25. +#ifndef NO_IPV6
  26. case AF_INET6:
  27. sockopt_val = IPV6_PMTUDISC_DO;
  28. if ((ret = setsockopt(b->num, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
  29. &sockopt_val, sizeof(sockopt_val))) < 0)
  30. perror("setsockopt");
  31. break;
  32. +#endif
  33. default:
  34. ret = -1;
  35. break;
  36. @@ -470,6 +478,7 @@ static long dgram_ctrl(BIO *b, int cmd,
  37. ret = data->mtu;
  38. }
  39. break;
  40. +#ifndef NO_IPV6
  41. case AF_INET6:
  42. if ((ret = getsockopt(b->num, IPPROTO_IPV6, IPV6_MTU, (void *)&sockopt_val,
  43. &sockopt_len)) < 0 || sockopt_val < 0)
  44. @@ -485,6 +494,7 @@ static long dgram_ctrl(BIO *b, int cmd,
  45. ret = data->mtu;
  46. }
  47. break;
  48. +#endif
  49. default:
  50. ret = 0;
  51. break;