<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d317ad49326527b9564288a5ea244bd377d7426b">https://github.com/macports/macports-ports/commit/d317ad49326527b9564288a5ea244bd377d7426b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new d317ad49326 c-ares: Update to 1.31.0
</span>d317ad49326 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d317ad49326527b9564288a5ea244bd377d7426b
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Mon Jun 24 19:00:42 2024 -0500

<span style='display:block; white-space:pre;color:#404040;'>    c-ares: Update to 1.31.0
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/70246
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/70275
</span>---
 net/c-ares/Portfile                             |  19 +-
 net/c-ares/files/patch-fix-build-pre-10.12.diff | 917 ------------------------
 2 files changed, 6 insertions(+), 930 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/c-ares/Portfile b/net/c-ares/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ab72e584c7a..0c1223d0696 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/c-ares/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/c-ares/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,11 +4,11 @@ PortSystem          1.0
</span> PortGroup           cmake 1.1
 PortGroup           github 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        c-ares c-ares 1.30.0 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        c-ares c-ares 1.31.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> categories          net
 maintainers         {toby @tobypeterson}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span> license             MIT
 github.tarball_from releases
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,16 +25,9 @@ long_description    This is c-ares, an asynchronous resolver \
</span> 
 homepage            https://c-ares.org
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  2ee6649360899f4abb7777f0d9d6f1953ce2040f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  4fea312112021bcef081203b1ea020109842feb58cd8a36a3d3f7e0d8bc1138c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1009440
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  cb049c3ddc6c6a4dc5e76c575257023a4298b591 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  0167a33dba96ca8de29f3f598b1e6cabe531799269fd63d0153aa0e6f5efeabd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1012373
</span> 
 configure.args-append \
                     -DCARES_SHARED:BOOL=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# This is an upstream patch. Drop with the next release.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/c-ares/c-ares/issues/782
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/c-ares/c-ares/issues/783
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.pre_args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -p0 -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   patch-fix-build-pre-10.12.diff
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/c-ares/files/patch-fix-build-pre-10.12.diff b/net/c-ares/files/patch-fix-build-pre-10.12.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 841ace11440..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/c-ares/files/patch-fix-build-pre-10.12.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,917 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 485b97601af741001aa62041d205d32b59133205 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Gregor Jasny <gjasny@googlemail.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 8 Jun 2024 00:45:30 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 01/12] docs: distribute ares_dns_rec_type_tostr (#778)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix By: Gregor Jasny (@gjasny)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- docs/Makefile.inc | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/docs/Makefile.inc b/docs/Makefile.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 685978674..097bf2658 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/docs/Makefile.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/docs/Makefile.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,6 +37,7 @@ MANPAGES = ares_cancel.3         \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_dns_record_rr_get.3                \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_dns_record_rr_get_const.3  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_dns_rec_type_fromstr.3             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ares_dns_rec_type_tostr.3               \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_dns_rec_type_t.3                   \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_dns_rr.3                           \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_dns_rr_get_addr.3          \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 5fbe31a8448eea0b37bf958f285e5cdb5408cd26 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Gregor Jasny <gjasny@googlemail.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 8 Jun 2024 01:00:50 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 02/12] fix some obvious errors reported by the CLion Project
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Analyzer (#779)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix By: Gregor Jasny (@gjasny)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares__buf.c          | 2 --
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares__htable_strvp.h | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_getnameinfo.c   | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test/ares-test-live.cc       | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test/ares-test-misc.cc       | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 5 files changed, 4 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares__buf.c b/src/lib/ares__buf.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2203662fa..5292e1bdc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares__buf.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares__buf.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -135,8 +135,6 @@ void ares__buf_reclaim(ares__buf_t *buf)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (buf->tag_offset != SIZE_MAX) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     buf->tag_offset -= prefix_size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static ares_status_t ares__buf_ensure_space(ares__buf_t *buf,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares__htable_strvp.h b/src/lib/ares__htable_strvp.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 25dd2b907..878c71869 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares__htable_strvp.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares__htable_strvp.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -115,4 +115,4 @@ size_t      ares__htable_strvp_num_keys(const ares__htable_strvp_t *htable);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*! @} */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif /* __ARES__HTABLE_STVP_H */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* __ARES__HTABLE_STRVP_H */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_getnameinfo.c b/src/lib/ares_getnameinfo.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d4cf58ea5..57c6ddaf9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_getnameinfo.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_getnameinfo.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -82,7 +82,7 @@ static char *lookup_service(unsigned short port, unsigned int flags, char *buf,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                             size_t buflen);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void append_scopeid(const struct sockaddr_in6 *addr6,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           unsigned int scopeid, char *buf, size_t buflen);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           unsigned int flags, char *buf, size_t buflen);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static char *ares_striendstr(const char *s1, const char *s2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/test/ares-test-live.cc b/test/ares-test-live.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9e5c4c357..88d2153cb 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/test/ares-test-live.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/test/ares-test-live.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -807,7 +807,7 @@ TEST_F(DefaultChannelTest, LiveSetServersPorts) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   server2.family = AF_INET;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   server2.addr.addr4.s_addr = htonl(0x02030405);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   server2.udp_port = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  server2.tcp_port = 0;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  server2.tcp_port = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   EXPECT_EQ(ARES_ENODATA, ares_set_servers_ports(nullptr, &server1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // Change while pending will requeue any requests to new servers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/test/ares-test-misc.cc b/test/ares-test-misc.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e680481a8..6d6c691e4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/test/ares-test-misc.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/test/ares-test-misc.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -104,7 +104,7 @@ TEST_F(DefaultChannelTest, SetServersPorts) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   server2.family = AF_INET;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   server2.addr.addr4.s_addr = htonl(0x02030405);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   server2.udp_port = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  server2.tcp_port = 0;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  server2.tcp_port = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   EXPECT_EQ(ARES_ENODATA, ares_set_servers_ports(nullptr, &server1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   EXPECT_EQ(ARES_SUCCESS, ares_set_servers_ports(channel_, &server1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 540389215c1441596fb59fe6da114ae093415f8b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 07:22:10 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 03/12] MacOS - legacy versions: add fcntl.h to prevent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- undefined symbols for config change detection
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_event_configchg.c | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_event_configchg.c b/src/lib/ares_event_configchg.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c7bc9ffd5..e2e7ef56e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_event_configchg.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_event_configchg.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -260,6 +260,7 @@ ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <unistd.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <notify.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <dlfcn.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct ares_event_configchg {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int fd;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 035ec0b8dbf4b0774d37075f332896459213e0f8 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 07:33:03 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 04/12] MacOS - legacy: back off to older upstream dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-MacOS 10.8-10.11 won't compile with dnsinfo.h from configd-1109.140.1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-back off to configd-963.50.8 which still works with newer MacOS verions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes Issue: #783
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix By: Brad House (@bradh352)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/thirdparty/apple/dnsinfo.h            |  12 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/thirdparty/apple/dnsinfo.h-1109.140.1 | 128 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 143 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 src/lib/thirdparty/apple/dnsinfo.h-1109.140.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/thirdparty/apple/dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/thirdparty/apple/dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2018 Apple Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2017 Apple Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * @APPLE_LICENSE_HEADER_START@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,7 +28,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * These routines provide access to the systems DNS configuration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <os/availability.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/cdefs.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -111,17 +111,17 @@ __BEGIN_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * DNS configuration access APIs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_configuration_notify_key    (void)                            API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_configuration_notify_key    (void)                            __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dns_config_t *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_configuration_copy            (void)                          API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_configuration_copy            (void)                          __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_configuration_free            (dns_config_t   *config)        API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_configuration_free            (dns_config_t   *config)        __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _dns_configuration_ack            (dns_config_t   *config,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           const char     *bundle_id)     API_AVAILABLE(macos(10.8), ios(6.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           const char     *bundle_id)     __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __END_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/thirdparty/apple/dnsinfo.h-1109.140.1 b/src/lib/thirdparty/apple/dnsinfo.h-1109.140.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 000000000..d5a0e70e2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/thirdparty/apple/dnsinfo.h-1109.140.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,128 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2018 Apple Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * @APPLE_LICENSE_HEADER_START@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * This file contains Original Code and/or Modifications of Original Code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * as defined in and that are subject to the Apple Public Source License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Version 2.0 (the 'License'). You may not use this file except in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * compliance with the License. Please obtain a copy of the License at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * http://www.opensource.apple.com/apsl/ and read it before using this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * The Original Code and all software distributed under the License are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Please see the License for the specific language governing rights and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * limitations under the License.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * @APPLE_LICENSE_HEADER_END@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef __DNSINFO_H__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define __DNSINFO_H__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * These routines provide access to the systems DNS configuration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <os/availability.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <sys/cdefs.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <stdint.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <sys/socket.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <netinet/in.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define   DNSINFO_VERSION         20170629
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DEFAULT_SEARCH_ORDER    200000   /* search order for the "default" resolver domain name */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define   DNS_PTR(type, name)                             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  union {                                         \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          type            name;                   \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          uint64_t        _ ## name ## _p;        \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define   DNS_VAR(type, name)                             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  type    name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  struct in_addr  address;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  struct in_addr  mask;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} dns_sortaddr_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(char *,                 domain);        /* domain */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(int32_t,                n_nameserver);  /* # nameserver */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(struct sockaddr **,     nameserver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint16_t,               port);          /* port (in host byte order) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(int32_t,                n_search);      /* # search */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(char **,                search);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(int32_t,                n_sortaddr);    /* # sortaddr */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(dns_sortaddr_t **,      sortaddr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(char *,                 options);       /* options */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               timeout);       /* timeout */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               search_order);  /* search_order */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               if_index);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               flags);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               reach_flags);   /* SCNetworkReachabilityFlags */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               service_identifier);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(char *,                 cid);           /* configuration identifer */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(char *,                 if_name);       /* if_index interface name */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} dns_resolver_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS      0x0002          /* always requesting for A dns records in queries */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS   0x0004          /* always requesting for AAAA dns records in queries */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define   DNS_RESOLVER_FLAGS_REQUEST_ALL_RECORDS  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  (DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS | DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DNS_RESOLVER_FLAGS_SCOPED         0x1000          /* configuration is for scoped questions */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DNS_RESOLVER_FLAGS_SERVICE_SPECIFIC       0x2000          /* configuration is service-specific */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DNS_RESOLVER_FLAGS_SUPPLEMENTAL           0x4000          /* supplemental match configuration */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(int32_t,                n_resolver);            /* resolver configurations */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(dns_resolver_t **,      resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(int32_t,                n_scoped_resolver);     /* "scoped" resolver configurations */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(dns_resolver_t **,      scoped_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint64_t,               generation);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(int32_t,                n_service_specific_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_PTR(dns_resolver_t **,      service_specific_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               version);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} dns_config_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__BEGIN_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * DNS configuration access APIs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_configuration_notify_key    (void)                            API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_config_t *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_configuration_copy            (void)                          API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dns_configuration_free            (dns_config_t   *config)        API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_dns_configuration_ack            (dns_config_t   *config,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           const char     *bundle_id)     API_AVAILABLE(macos(10.8), ios(6.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__END_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif    /* __DNSINFO_H__ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From fbbaa46a1ff2dc32112a03b81b68e28d97fb3b21 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 07:36:24 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 05/12] no reason to keep around other dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/thirdparty/apple/dnsinfo.h-1109.140.1 | 128 ------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 128 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 src/lib/thirdparty/apple/dnsinfo.h-1109.140.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/thirdparty/apple/dnsinfo.h-1109.140.1 b/src/lib/thirdparty/apple/dnsinfo.h-1109.140.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d5a0e70e2..000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/thirdparty/apple/dnsinfo.h-1109.140.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,128 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2018 Apple Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * @APPLE_LICENSE_HEADER_START@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * This file contains Original Code and/or Modifications of Original Code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * as defined in and that are subject to the Apple Public Source License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * Version 2.0 (the 'License'). You may not use this file except in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * compliance with the License. Please obtain a copy of the License at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * http://www.opensource.apple.com/apsl/ and read it before using this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * The Original Code and all software distributed under the License are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * Please see the License for the specific language governing rights and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * limitations under the License.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * @APPLE_LICENSE_HEADER_END@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef __DNSINFO_H__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define __DNSINFO_H__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * These routines provide access to the systems DNS configuration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <os/availability.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <sys/cdefs.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <stdint.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <sys/socket.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <netinet/in.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define   DNSINFO_VERSION         20170629
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DEFAULT_SEARCH_ORDER    200000   /* search order for the "default" resolver domain name */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define   DNS_PTR(type, name)                             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  union {                                         \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          type            name;                   \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          uint64_t        _ ## name ## _p;        \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define   DNS_VAR(type, name)                             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  type    name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  struct in_addr  address;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  struct in_addr  mask;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} dns_sortaddr_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char *,                 domain);        /* domain */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_nameserver);  /* # nameserver */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(struct sockaddr **,     nameserver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint16_t,               port);          /* port (in host byte order) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_search);      /* # search */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char **,                search);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_sortaddr);    /* # sortaddr */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(dns_sortaddr_t **,      sortaddr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char *,                 options);       /* options */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               timeout);       /* timeout */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               search_order);  /* search_order */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               if_index);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               flags);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               reach_flags);   /* SCNetworkReachabilityFlags */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               service_identifier);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char *,                 cid);           /* configuration identifer */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char *,                 if_name);       /* if_index interface name */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} dns_resolver_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS      0x0002          /* always requesting for A dns records in queries */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS   0x0004          /* always requesting for AAAA dns records in queries */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define   DNS_RESOLVER_FLAGS_REQUEST_ALL_RECORDS  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  (DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS | DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_SCOPED         0x1000          /* configuration is for scoped questions */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_SERVICE_SPECIFIC       0x2000          /* configuration is service-specific */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_SUPPLEMENTAL           0x4000          /* supplemental match configuration */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_resolver);            /* resolver configurations */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(dns_resolver_t **,      resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_scoped_resolver);     /* "scoped" resolver configurations */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(dns_resolver_t **,      scoped_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint64_t,               generation);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_service_specific_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(dns_resolver_t **,      service_specific_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               version);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} dns_config_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__BEGIN_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * DNS configuration access APIs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_configuration_notify_key    (void)                            API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_config_t *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_configuration_copy            (void)                          API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--dns_configuration_free            (dns_config_t   *config)        API_AVAILABLE(macos(10.4), ios(2.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--_dns_configuration_ack            (dns_config_t   *config,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           const char     *bundle_id)     API_AVAILABLE(macos(10.8), ios(6.0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__END_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif    /* __DNSINFO_H__ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From e64772f3b4a68dd9a6250036d1c47848f630da7b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 08:55:05 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 06/12] MacOS legacy: Attempt to support last MacOS PPC release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - 10.6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c       | 13 +++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/thirdparty/apple/dnsinfo.h | 30 ++++++++++++------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 37 insertions(+), 28 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 302bd0d34..e15bcf811 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -53,6 +53,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <arpa/inet.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include "thirdparty/apple/dnsinfo.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <SystemConfiguration/SCNetworkConfiguration.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include "ares.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include "ares_private.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -148,6 +149,7 @@ static ares_status_t read_resolver(const dns_resolver_t *resolver,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 /* MacOS 10.8 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* Check to see if DNS server should be used, base this on if the server is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * reachable or can be reachable automatically if we send traffic that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * direction. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -156,6 +158,7 @@ static ares_status_t read_resolver(const dns_resolver_t *resolver,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-          kSCNetworkReachabilityFlagsConnectionOnTraffic))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* NOTE: it doesn't look like resolver->flags is relevant */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -219,7 +222,8 @@ static ares_status_t read_resolver(const dns_resolver_t *resolver,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    *   - resolver->timeout appears unused, always 0, so we ignore this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    *   - resolver->service_identifier doesn't appear relevant to us
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    *   - resolver->cid also isn't relevant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   *   - resolver->if_index we don't need, if_name is used instead.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *   - resolver->if_name we won't use since it isn't available in MacOS 10.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *     or earlier, use resolver->if_index instead to then lookup the name.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* XXX: resolver->search_order appears like it might be relevant, we might
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -233,6 +237,8 @@ static ares_status_t read_resolver(const dns_resolver_t *resolver,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     struct ares_addr       addr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     unsigned short         addrport;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const struct sockaddr *sockaddr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    char                   if_name_str[256] = "";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char            *if_name;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* UBSAN alignment workaround to fetch memory address */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     memcpy(&sockaddr, resolver->nameserver + i, sizeof(sockaddr));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -262,8 +268,11 @@ static ares_status_t read_resolver(const dns_resolver_t *resolver,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (addrport == 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       addrport = port;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if_name = ares__if_indextoname(resolver->if_index, if_name_str,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                   sizeof(if_name_str));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     status = ares__sconfig_append(&sysconfig->sconfig, &addr, addrport,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                  addrport, resolver->if_name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                  addrport, if_name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (status != ARES_SUCCESS) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       return status;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/thirdparty/apple/dnsinfo.h b/src/lib/thirdparty/apple/dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 68110b2eb..d92a1d803 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/thirdparty/apple/dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/thirdparty/apple/dnsinfo.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2017 Apple Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Copyright (c) 2004-2006, 2008, 2009, 2011 Apple Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * @APPLE_LICENSE_HEADER_START@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,8 +34,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/socket.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <netinet/in.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define   DNSINFO_VERSION         20170629
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define   DNSINFO_VERSION         20111104
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DEFAULT_SEARCH_ORDER    200000   /* search order for the "default" resolver domain name */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -72,23 +73,17 @@ typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_VAR(uint32_t,               search_order);  /* search_order */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_VAR(uint32_t,               if_index);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_VAR(uint32_t,               flags);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED < 1080 /* MacOS 10.8 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               reserved[6]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_VAR(uint32_t,               reach_flags);   /* SCNetworkReachabilityFlags */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               service_identifier);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char *,                 cid);           /* configuration identifer */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(char *,                 if_name);       /* if_index interface name */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               reserved[5]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } dns_resolver_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS      0x0002          /* always requesting for A dns records in queries */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS   0x0004          /* always requesting for AAAA dns records in queries */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define   DNS_RESOLVER_FLAGS_REQUEST_ALL_RECORDS  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  (DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS | DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_SCOPED         0x1000          /* configuration is for scoped questions */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_SERVICE_SPECIFIC       0x2000          /* configuration is service-specific */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DNS_RESOLVER_FLAGS_SUPPLEMENTAL           0x4000          /* supplemental match configuration */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DNS_RESOLVER_FLAGS_SCOPED 1               /* configuration is for scoped questions */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #pragma pack(4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -97,10 +92,7 @@ typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_PTR(dns_resolver_t **,      resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_VAR(int32_t,                n_scoped_resolver);     /* "scoped" resolver configurations */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DNS_PTR(dns_resolver_t **,      scoped_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint64_t,               generation);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(int32_t,                n_service_specific_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_PTR(dns_resolver_t **,      service_specific_resolver);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  DNS_VAR(uint32_t,               version);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  DNS_VAR(uint32_t,               reserved[5]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } dns_config_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #pragma pack()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -119,9 +111,11 @@ dns_configuration_copy                (void)                          __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dns_configuration_free            (dns_config_t   *config)        __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _dns_configuration_ack            (dns_config_t   *config,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            const char     *bundle_id)     __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __END_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 51f589114f0c5c3cfb88e07919ffa366d8b95665 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 09:06:38 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 07/12] MacOS Legacy: omit unneeded header on old macos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c | 4 +++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 3 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e15bcf811..905c07198 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -52,8 +52,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <dlfcn.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <arpa/inet.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include "thirdparty/apple/dnsinfo.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#  include <SystemConfiguration/SCNetworkConfiguration.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 /* MacOS 10.8 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#    include <SystemConfiguration/SCNetworkConfiguration.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include "ares.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include "ares_private.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 894cdf16ccfe54b1b543d3ffe5bd180cc2cfc33a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 14:43:09 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 08/12] MacOS Legacy: try to work with 10.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c | 54 ++++++++++++++++++++++++++++--------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 43 insertions(+), 11 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 905c07198..19213741e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -80,8 +80,16 @@ static void dnsinfo_destroy(dnsinfo_t *dnsinfo)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static ares_status_t dnsinfo_init(dnsinfo_t **dnsinfo_out)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  dnsinfo_t    *dnsinfo = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  ares_status_t status  = ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  dnsinfo_t    *dnsinfo       = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ares_status_t status        = ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  size_t        i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  const char   *searchlibs[]  = {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "/usr/lib/libSystem.dylib",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "SystemConfiguration.framework/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "/System/Library/Frameworks/SystemConfiguration.framework/Versions/Current/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    NULL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (dnsinfo_out == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     status = ARES_EFORMERR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -91,22 +99,46 @@ static ares_status_t dnsinfo_init(dnsinfo_t **dnsinfo_out)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   *dnsinfo_out = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   dnsinfo = ares_malloc_zero(sizeof(*dnsinfo));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (dnsinfo == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     status = ARES_ENOMEM;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     goto done;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  dnsinfo->handle = dlopen("/usr/lib/libSystem.dylib", RTLD_LAZY | RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (dnsinfo->handle == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    status = ARES_ESERVFAIL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    goto done;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  for (i=0; searchlibs[i] != NULL; i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dnsinfo->handle = dlopen(searchlibs[i], RTLD_LAZY | RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (dnsinfo->handle == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      /* Fail, loop */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      continue;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dnsinfo->dns_configuration_copy =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      dlsym(dnsinfo->handle, "dns_configuration_copy");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (dnsinfo->dns_configuration_copy == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      /* Might be needed for PPC ABI */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      dnsinfo->dns_configuration_copy =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        dlsym(dnsinfo->handle, "_dns_configuration_copy");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dnsinfo->dns_configuration_free =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      dlsym(dnsinfo->handle, "dns_configuration_free");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (dnsinfo->dns_configuration_free == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      /* Might be needed for PPC ABI */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      dnsinfo->dns_configuration_free =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        dlsym(dnsinfo->handle, "_dns_configuration_free");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (dnsinfo->dns_configuration_copy != NULL &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        dnsinfo->dns_configuration_free != NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* Fail, loop */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dlclose(dnsinfo->handle);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dnsinfo->handle = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  dnsinfo->dns_configuration_copy =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    dlsym(dnsinfo->handle, "dns_configuration_copy");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  dnsinfo->dns_configuration_free =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    dlsym(dnsinfo->handle, "dns_configuration_free");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (dnsinfo->dns_configuration_copy == NULL ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       dnsinfo->dns_configuration_free == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 699e52f148eecee0d328048f362372db5d9c759f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 14:45:30 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 09/12] MacOS Legacy: get rid of RTLD_NOLOAD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 19213741e..f6bfe1232 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -105,7 +105,7 @@ static ares_status_t dnsinfo_init(dnsinfo_t **dnsinfo_out)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   for (i=0; searchlibs[i] != NULL; i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    dnsinfo->handle = dlopen(searchlibs[i], RTLD_LAZY | RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dnsinfo->handle = dlopen(searchlibs[i], RTLD_LAZY /* | RTLD_NOLOAD */);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (dnsinfo->handle == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       /* Fail, loop */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       continue;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 495fdec7d002a83442f303157af082666c0ee10c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 15:09:59 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 10/12] MacOS Legacy: simplify, don't forget change monitoring
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_event_configchg.c | 37 ++++++++++++++++++++++++----------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c   | 14 -------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 26 insertions(+), 25 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_event_configchg.c b/src/lib/ares_event_configchg.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e2e7ef56e..94eb7b787 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_event_configchg.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_event_configchg.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -329,11 +329,17 @@ static void ares_event_configchg_cb(ares_event_thread_t *e, ares_socket_t fd,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                         ares_event_thread_t     *e)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  ares_status_t status                               = ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  void         *handle                               = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  const char *(*pdns_configuration_notify_key)(void) = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  const char *notify_key                             = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  int         flags;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ares_status_t   status                               = ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  void           *handle                               = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  const char   *(*pdns_configuration_notify_key)(void) = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  const char     *notify_key                           = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  int             flags;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  size_t          i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  const char     *searchlibs[]                         = {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "/usr/lib/libSystem.dylib",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    NULL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   *configchg = ares_malloc_zero(sizeof(**configchg));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (*configchg == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -341,13 +347,22 @@ ares_status_t ares_event_configchg_init(ares_event_configchg_t **configchg,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* Load symbol as it isn't normally public */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  handle = dlopen("/usr/lib/libSystem.dylib", RTLD_LAZY | RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (handle == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    status = ARES_ESERVFAIL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    goto done;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  for (i=0; searchlibs[i] != NULL; i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    handle = dlopen(searchlibs[i], RTLD_LAZY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (handle == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      /* Fail, loop! */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      continue;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  pdns_configuration_notify_key = dlsym(handle, "dns_configuration_notify_key");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    pdns_configuration_notify_key = dlsym(handle, "dns_configuration_notify_key");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (pdns_configuration_notify_key != NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* Fail, loop! */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    dlclose(handle);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    handle = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (pdns_configuration_notify_key == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     status = ARES_ESERVFAIL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f6bfe1232..8d7512934 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -85,9 +85,7 @@ static ares_status_t dnsinfo_init(dnsinfo_t **dnsinfo_out)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   size_t        i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char   *searchlibs[]  = {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     "/usr/lib/libSystem.dylib",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "SystemConfiguration.framework/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "/System/Library/Frameworks/SystemConfiguration.framework/Versions/Current/SystemConfiguration",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     NULL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -114,21 +112,9 @@ static ares_status_t dnsinfo_init(dnsinfo_t **dnsinfo_out)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     dnsinfo->dns_configuration_copy =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       dlsym(dnsinfo->handle, "dns_configuration_copy");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (dnsinfo->dns_configuration_copy == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      /* Might be needed for PPC ABI */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      dnsinfo->dns_configuration_copy =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        dlsym(dnsinfo->handle, "_dns_configuration_copy");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     dnsinfo->dns_configuration_free =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       dlsym(dnsinfo->handle, "dns_configuration_free");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (dnsinfo->dns_configuration_free == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      /* Might be needed for PPC ABI */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      dnsinfo->dns_configuration_free =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        dlsym(dnsinfo->handle, "_dns_configuration_free");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (dnsinfo->dns_configuration_copy != NULL &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         dnsinfo->dns_configuration_free != NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b07f6826c4687b6ca49b0036de62c6060daf71db Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 15:16:42 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 11/12] remove some excessive UBSAN workaround
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c | 6 +-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8d7512934..0e62c4818 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -309,7 +309,6 @@ static ares_status_t read_resolvers(dns_resolver_t **resolvers, int nresolvers,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   for (i = 0; status == ARES_SUCCESS && i < nresolvers; i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const dns_resolver_t *resolver_ptr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    dns_resolver_t        resolver;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* UBSAN doesn't like that this is unaligned, lets use memcpy to get the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      * address.  Equivalent to:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -317,10 +316,7 @@ static ares_status_t read_resolvers(dns_resolver_t **resolvers, int nresolvers,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     memcpy(&resolver_ptr, resolvers + i, sizeof(resolver_ptr));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /* UBSAN. If the pointer is misaligned, try to use memcpy to get the data
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     * into a new structure that is hopefully aligned properly */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    memcpy(&resolver, resolver_ptr, sizeof(resolver));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    status = read_resolver(&resolver, sysconfig);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    status = read_resolver(resolver_ptr, sysconfig);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return status;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 1e505cc45781071801c7bc8045013d4f2cf447d7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brad House <brad@brad-house.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 12 Jun 2024 16:21:26 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 12/12] MacOS legacy: resovler->domain changed meaning around
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MacOS 10.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/lib/ares_sysconfig_mac.c | 7 ++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 6 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/lib/ares_sysconfig_mac.c b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0e62c4818..6ec499e59 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/lib/ares_sysconfig_mac.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -162,12 +162,17 @@ static ares_status_t read_resolver(const dns_resolver_t *resolver,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   unsigned short port   = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ares_status_t  status = ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 /* MacOS 10.8 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* XXX: resolver->domain is for domain-specific servers.  When we implement
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    *      this support, we'll want to use this.  But for now, we're going to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   *      skip any servers which set this since we can't properly route. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *      skip any servers which set this since we can't properly route.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *      MacOS used to use this setting for a different purpose in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *      past however, so on versions of MacOS < 10.8 just ignore this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   *      completely. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (resolver->domain != NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ARES_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 /* MacOS 10.8 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* Check to see if DNS server should be used, base this on if the server is
</span></pre><pre style='margin:0'>

</pre>