From 559ff57f81e87b2f40644beab2dbb2eba4a1f10a Mon Sep 17 00:00:00 2001 From: Benjamin Gaussorgues Date: Tue, 26 Mar 2024 10:25:06 +0100 Subject: [PATCH] fix(dns): detect disabled IPv6 support in DNS pinning Signed-off-by: Benjamin Gaussorgues --- lib/private/Http/Client/DnsPinMiddleware.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/private/Http/Client/DnsPinMiddleware.php b/lib/private/Http/Client/DnsPinMiddleware.php index 518281e4af01b..58789c8b9e383 100644 --- a/lib/private/Http/Client/DnsPinMiddleware.php +++ b/lib/private/Http/Client/DnsPinMiddleware.php @@ -75,7 +75,10 @@ private function dnsResolve(string $target, int $recursionCount) : array { $soaDnsEntry = $this->soaRecord($target); $dnsNegativeTtl = $soaDnsEntry['minimum-ttl'] ?? null; - $dnsTypes = [DNS_A, DNS_AAAA, DNS_CNAME]; + // Detect IPv6 support without dependency to php-sockets + $dnsTypes = inet_pton('::1') === false + ? [DNS_A, DNS_CNAME] + : [DNS_A, DNS_AAAA, DNS_CNAME]; foreach ($dnsTypes as $dnsType) { if ($this->negativeDnsCache->isNegativeCached($target, $dnsType)) { continue;