Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
fixup! deps: update c-ares to 1.29.0
  • Loading branch information
lpinca committed Jun 1, 2024
commit 5c37cba05d9877ac6c51971d5f9fcee0ed1e64f3
12 changes: 11 additions & 1 deletion deps/cares/cares.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
'src/lib/ares__htable_strvp.h',
'src/lib/ares__htable_szvp.c',
'src/lib/ares__htable_szvp.h',
'src/lib/ares__htable_vpvp.c',
'src/lib/ares__htable_vpvp.h',
'src/lib/ares__iface_ips.c',
'src/lib/ares__iface_ips.h',
'src/lib/ares__llist.c',
Expand All @@ -46,6 +48,7 @@
'src/lib/ares_dns_record.c',
'src/lib/ares_dns_private.h',
'src/lib/ares_dns_write.c',
'src/lib/ares_event_configchg.c',
'src/lib/ares_event.h',
'src/lib/ares_event_win32.h',
'src/lib/ares_event_epoll.c',
Expand Down Expand Up @@ -113,6 +116,11 @@
'src/tools/ares_getopt.c',
'src/tools/ares_getopt.h',
],
'cares_sources_mac': [
'config/darwin/ares_config.h',
'src/lib/ares_sysconfig_mac.c',
'src/lib/thirdparty/apple/dnsinfo.h',
],
'cares_sources_win': [
'src/lib/config-win32.h',
'src/lib/windows_port.c',
Expand Down Expand Up @@ -206,7 +214,9 @@
}],
[ 'OS=="mac" or OS=="ios"', {
'include_dirs': [ 'config/darwin' ],
'sources': [ 'config/darwin/ares_config.h' ]
'sources': [
'<@(cares_sources_mac)',
]
}],
[ 'OS=="freebsd" or OS=="dragonflybsd"', {
'include_dirs': [ 'config/freebsd' ],
Expand Down
128 changes: 128 additions & 0 deletions deps/cares/src/lib/thirdparty/apple/dnsinfo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
/*
Copy link
Copy Markdown
Member

@lpinca lpinca May 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is currently not included in the release tarball, see c-ares/c-ares#763.

* Copyright (c) 2004-2006, 2008, 2009, 2011-2013, 2015-2018 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/

#ifndef __DNSINFO_H__
#define __DNSINFO_H__

/*
* These routines provide access to the systems DNS configuration
*/

#include <os/availability.h>
#include <sys/cdefs.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define DNSINFO_VERSION 20170629

#define DEFAULT_SEARCH_ORDER 200000 /* search order for the "default" resolver domain name */

#define DNS_PTR(type, name) \
union { \
type name; \
uint64_t _ ## name ## _p; \
}

#define DNS_VAR(type, name) \
type name


#pragma pack(4)
typedef struct {
struct in_addr address;
struct in_addr mask;
} dns_sortaddr_t;
#pragma pack()


#pragma pack(4)
typedef struct {
DNS_PTR(char *, domain); /* domain */
DNS_VAR(int32_t, n_nameserver); /* # nameserver */
DNS_PTR(struct sockaddr **, nameserver);
DNS_VAR(uint16_t, port); /* port (in host byte order) */
DNS_VAR(int32_t, n_search); /* # search */
DNS_PTR(char **, search);
DNS_VAR(int32_t, n_sortaddr); /* # sortaddr */
DNS_PTR(dns_sortaddr_t **, sortaddr);
DNS_PTR(char *, options); /* options */
DNS_VAR(uint32_t, timeout); /* timeout */
DNS_VAR(uint32_t, search_order); /* search_order */
DNS_VAR(uint32_t, if_index);
DNS_VAR(uint32_t, flags);
DNS_VAR(uint32_t, reach_flags); /* SCNetworkReachabilityFlags */
DNS_VAR(uint32_t, service_identifier);
DNS_PTR(char *, cid); /* configuration identifer */
DNS_PTR(char *, if_name); /* if_index interface name */
} dns_resolver_t;
#pragma pack()


#define DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS 0x0002 /* always requesting for A dns records in queries */
#define DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS 0x0004 /* always requesting for AAAA dns records in queries */

#define DNS_RESOLVER_FLAGS_REQUEST_ALL_RECORDS \
(DNS_RESOLVER_FLAGS_REQUEST_A_RECORDS | DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS)

#define DNS_RESOLVER_FLAGS_SCOPED 0x1000 /* configuration is for scoped questions */
#define DNS_RESOLVER_FLAGS_SERVICE_SPECIFIC 0x2000 /* configuration is service-specific */
#define DNS_RESOLVER_FLAGS_SUPPLEMENTAL 0x4000 /* supplemental match configuration */


#pragma pack(4)
typedef struct {
DNS_VAR(int32_t, n_resolver); /* resolver configurations */
DNS_PTR(dns_resolver_t **, resolver);
DNS_VAR(int32_t, n_scoped_resolver); /* "scoped" resolver configurations */
DNS_PTR(dns_resolver_t **, scoped_resolver);
DNS_VAR(uint64_t, generation);
DNS_VAR(int32_t, n_service_specific_resolver);
DNS_PTR(dns_resolver_t **, service_specific_resolver);
DNS_VAR(uint32_t, version);
} dns_config_t;
#pragma pack()


__BEGIN_DECLS

/*
* DNS configuration access APIs
*/
const char *
dns_configuration_notify_key (void) API_AVAILABLE(macos(10.4), ios(2.0));

dns_config_t *
dns_configuration_copy (void) API_AVAILABLE(macos(10.4), ios(2.0));

void
dns_configuration_free (dns_config_t *config) API_AVAILABLE(macos(10.4), ios(2.0));

void
_dns_configuration_ack (dns_config_t *config,
const char *bundle_id) API_AVAILABLE(macos(10.8), ios(6.0));

__END_DECLS

#endif /* __DNSINFO_H__ */