From a239858abcb8a7bee47120666588fc06930dac91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20L=C3=BCck?= Date: Tue, 16 Mar 2021 07:54:40 +0100 Subject: [PATCH 1/2] Support falling back to multiple DNS servers from DNS config --- composer.json | 2 +- src/Connector.php | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 5a43ed92..639f81b5 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "require": { "php": ">=5.3.0", "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "react/dns": "^1.1", + "react/dns": "dev-master#ae37876 as 1.7.0", "react/event-loop": "^1.0 || ^0.5", "react/promise": "^2.6.0 || ^1.2.1", "react/promise-timer": "^1.4.0", diff --git a/src/Connector.php b/src/Connector.php index 0225f0fb..87a26cba 100644 --- a/src/Connector.php +++ b/src/Connector.php @@ -57,16 +57,18 @@ public function __construct(LoopInterface $loop, array $options = array()) $resolver = $options['dns']; } else { if ($options['dns'] !== true) { - $server = $options['dns']; + $config = $options['dns']; } else { // try to load nameservers from system config or default to Google's public DNS $config = DnsConfig::loadSystemConfigBlocking(); - $server = $config->nameservers ? \reset($config->nameservers) : '8.8.8.8'; + if (!$config->nameservers) { + $config->nameservers[] = '8.8.8.8'; + } } $factory = new DnsFactory(); $resolver = $factory->createCached( - $server, + $config, $loop ); } From c37c55ce984a675bd78ab29440d91b4a39c588c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20L=C3=BCck?= Date: Thu, 24 Jun 2021 19:21:12 +0200 Subject: [PATCH 2/2] Update DNS component for required DNS fallback support --- composer.json | 2 +- src/Connector.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 639f81b5..b3fdc636 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "require": { "php": ">=5.3.0", "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "react/dns": "dev-master#ae37876 as 1.7.0", + "react/dns": "^1.7", "react/event-loop": "^1.0 || ^0.5", "react/promise": "^2.6.0 || ^1.2.1", "react/promise-timer": "^1.4.0", diff --git a/src/Connector.php b/src/Connector.php index 87a26cba..914c6a98 100644 --- a/src/Connector.php +++ b/src/Connector.php @@ -62,7 +62,7 @@ public function __construct(LoopInterface $loop, array $options = array()) // try to load nameservers from system config or default to Google's public DNS $config = DnsConfig::loadSystemConfigBlocking(); if (!$config->nameservers) { - $config->nameservers[] = '8.8.8.8'; + $config->nameservers[] = '8.8.8.8'; // @codeCoverageIgnore } }