summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn-Mark Bell <jmb@netsurf-browser.org>2022-11-03 00:40:04 +0000
committerJohn-Mark Bell <jmb@netsurf-browser.org>2022-11-03 00:40:04 +0000
commitcc59ad495fab2c0ce9c7bcbb7b16927bc6d5d1a3 (patch)
tree0a044075c8a1135fd5339e6656d1714a3b8e686e
parent7ff2458c536cad82bd0b589abbef1ec3770778ee (diff)
downloadtoolchains-cc59ad495fab2c0ce9c7bcbb7b16927bc6d5d1a3.tar.gz
toolchains-cc59ad495fab2c0ce9c7bcbb7b16927bc6d5d1a3.tar.bz2
c-ares/ppc-amigaos: no IPv6 support in stdlib
-rw-r--r--sdk/recipes/patches/libcares/ppc-amigaos/configure.p11
-rw-r--r--sdk/recipes/patches/libcares/ppc-amigaos/ipv6-support.p66
2 files changed, 66 insertions, 11 deletions
diff --git a/sdk/recipes/patches/libcares/ppc-amigaos/configure.p b/sdk/recipes/patches/libcares/ppc-amigaos/configure.p
deleted file mode 100644
index 254a483..0000000
--- a/sdk/recipes/patches/libcares/ppc-amigaos/configure.p
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig 2011-03-08 23:18:37.000000000 +0000
-+++ configure 2011-03-08 23:18:59.000000000 +0000
-@@ -18503,8 +18503,6 @@
- stdbool.h \
- time.h \
- limits.h \
-- arpa/nameser.h \
-- arpa/nameser_compat.h \
- arpa/inet.h
- do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
diff --git a/sdk/recipes/patches/libcares/ppc-amigaos/ipv6-support.p b/sdk/recipes/patches/libcares/ppc-amigaos/ipv6-support.p
new file mode 100644
index 0000000..c6be683
--- /dev/null
+++ b/sdk/recipes/patches/libcares/ppc-amigaos/ipv6-support.p
@@ -0,0 +1,66 @@
+--- src/lib/ares_ipv6.h.orig 2017-10-10 15:19:45.611896396 +0100
++++ src/lib/ares_ipv6.h 2017-10-17 15:42:25.304921197 +0100
+@@ -22,6 +22,7 @@
+ #endif
+
+ #ifndef HAVE_STRUCT_SOCKADDR_IN6
++#define s6_addr _S6_un._S6_u8
+ struct sockaddr_in6
+ {
+ unsigned short sin6_family;
+--- src/lib/ares__sortaddrinfo.c.orig 2017-10-10 15:19:45.611896396 +0100
++++ src/lib/ares__sortaddrinfo.c 2017-10-17 15:42:25.304921197 +0100
+@@ -71,6 +71,39 @@
+
+ #define ARES_IN_LOOPBACK(a) ((((long int)(a)) & 0xff000000) == 0x7f000000)
+
++#ifndef IN6_IS_ADDR_LINKLOCAL
++#define IN6_IS_ADDR_LINKLOCAL(a) \
++ ((((__const uint32_t *) (a))[0] & htonl (0xffc00000)) \
++ == htonl (0xfe800000))
++#endif
++#ifndef IN6_IS_ADDR_LOOPBACK
++#define IN6_IS_ADDR_LOOPBACK(a) \
++ (((__const uint32_t *) (a))[0] == 0 \
++ && ((__const uint32_t *) (a))[1] == 0 \
++ && ((__const uint32_t *) (a))[2] == 0 \
++ && ((__const uint32_t *) (a))[3] == htonl (1))
++#endif
++#ifndef IN6_IS_ADDR_MULTICAST
++#define IN6_IS_ADDR_MULTICAST(a) (((__const uint8_t *) (a))[0] == 0xff)
++#endif
++#ifndef IN6_IS_ADDR_SITELOCAL
++#define IN6_IS_ADDR_SITELOCAL(a) \
++ ((((__const uint32_t *) (a))[0] & htonl (0xffc00000)) \
++ == htonl (0xfec00000))
++#endif
++#ifndef IN6_IS_ADDR_V4COMPAT
++#define IN6_IS_ADDR_V4COMPAT(a) \
++ ((((__const uint32_t *) (a))[0] == 0) \
++ && (((__const uint32_t *) (a))[1] == 0) \
++ && (((__const uint32_t *) (a))[2] == 0) \
++ && (ntohl (((__const uint32_t *) (a))[3]) > 1))
++#endif
++#ifndef IN6_IS_ADDR_V4MAPPED
++#define IN6_IS_ADDR_V4MAPPED(a) \
++ ((((__const uint32_t *) (a))[0] == 0) \
++ && (((__const uint32_t *) (a))[1] == 0) \
++ && (((__const uint32_t *) (a))[2] == htonl (0xffff)))
++#endif
+ /* RFC 4193. */
+ #define ARES_IN6_IS_ADDR_ULA(a) (((a)->s6_addr[0] & 0xfe) == 0xfc)
+
+@@ -253,8 +286,13 @@
+ /*
+ * Find number of matching initial bits between the two addresses a1 and a2.
+ */
++#ifndef HAVE_STRUCT_SOCKADDR_IN6
++static int common_prefix_len(const struct ares_in6_addr *a1,
++ const struct ares_in6_addr *a2)
++#else
+ static int common_prefix_len(const struct in6_addr *a1,
+ const struct in6_addr *a2)
++#endif
+ {
+ const char *p1 = (const char *)a1;
+ const char *p2 = (const char *)a2;