Skip to content

Commit 3fc1958

Browse files
authored
Merge pull request #1545 from laravel/mes/safari-happy-eyeballs-fix
Add IPV6 lookup for Safari Happy Eyeballs
2 parents d87dd5a + e559ad6 commit 3fc1958

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

cli/Valet/DnsMasq.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,11 @@ public function createDnsmasqTldConfigFile(string $tld): void
109109
$tldConfigFile = $this->dnsmasqUserConfigDir().'tld-'.$tld.'.conf';
110110
$loopback = $this->configuration->read()['loopback'];
111111

112-
$this->files->putAsUser($tldConfigFile, 'address=/.'.$tld.'/'.$loopback.PHP_EOL.'listen-address='.$loopback.PHP_EOL);
112+
$this->files->putAsUser($tldConfigFile,
113+
'address=/.'.$tld.'/'.$loopback.PHP_EOL
114+
.'address=/.'.$tld.'/::1'.PHP_EOL // IPV6 loopback prevents Safari "Happy Eyeballs" slow load
115+
.'listen-address='.$loopback.PHP_EOL
116+
);
113117
}
114118

115119
/**

tests/DnsMasqTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function test_install_installs_and_places_configuration_files_in_proper_l
5151
$dnsMasq->install('test');
5252

5353
$this->assertSame('nameserver '.VALET_LOOPBACK.PHP_EOL, file_get_contents(__DIR__.'/output/resolver/test'));
54-
$this->assertSame('address=/.test/'.VALET_LOOPBACK.PHP_EOL.'listen-address='.VALET_LOOPBACK.PHP_EOL, file_get_contents(__DIR__.'/output/tld-test.conf'));
54+
$this->assertSame('address=/.test/'.VALET_LOOPBACK.PHP_EOL.'address=/.test/::1'.PHP_EOL.'listen-address='.VALET_LOOPBACK.PHP_EOL, file_get_contents(__DIR__.'/output/tld-test.conf'));
5555
$this->assertSame('test-contents
5656
'.PHP_EOL.'conf-dir='.BREW_PREFIX.'/etc/dnsmasq.d/,*.conf'.PHP_EOL,
5757
file_get_contents($dnsMasq->dnsmasqMasterConfigFile)

0 commit comments

Comments
 (0)