mirror of
https://github.com/danog/dns.git
synced 2025-01-22 21:41:11 +01:00
Enable AppVeyor, search in all interfaces for nameservers
This commit is contained in:
parent
cf08357a86
commit
0b0ef2b82d
53
appveyor.yml
Normal file
53
appveyor.yml
Normal file
@ -0,0 +1,53 @@
|
||||
build: false
|
||||
platform:
|
||||
- x64
|
||||
clone_folder: c:\projects\php-project-workspace
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- dependencies: lowest
|
||||
php_ver_target: 5.6
|
||||
- dependencies: lowest
|
||||
php_ver_target: 7.0
|
||||
- dependencies: lowest
|
||||
php_ver_target: 7.1
|
||||
- dependencies: highest
|
||||
php_ver_target: 5.6
|
||||
- dependencies: highest
|
||||
php_ver_target: 7.0
|
||||
- dependencies: highest
|
||||
php_ver_target: 7.1
|
||||
|
||||
## Cache composer bits
|
||||
cache:
|
||||
- '%LOCALAPPDATA%\Composer\files -> composer.lock'
|
||||
|
||||
## Set up environment variables
|
||||
init:
|
||||
- SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH%
|
||||
- SET COMPOSER_NO_INTERACTION=1
|
||||
- SET PHP=1
|
||||
- SET ANSICON=121x90 (121x90)
|
||||
|
||||
## Install PHP and Composer, and run the appropriate Composer command
|
||||
install:
|
||||
- IF EXIST c:\tools\php (SET PHP=0)
|
||||
- ps: cinst --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $Env:php_ver_target | Select-Object -first 1) -replace '[php|]','')
|
||||
- cd c:\tools\php
|
||||
- IF %PHP%==1 copy php.ini-production php.ini /Y
|
||||
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini
|
||||
- IF %PHP%==1 echo extension_dir=ext >> php.ini
|
||||
- IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
|
||||
- IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
|
||||
- IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
|
||||
- IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
|
||||
- appveyor DownloadFile https://getcomposer.org/composer.phar
|
||||
- cd c:\projects\php-project-workspace
|
||||
- IF %dependencies%==lowest appveyor-retry composer update --prefer-lowest --no-progress --profile -n
|
||||
- IF %dependencies%==highest appveyor-retry composer update --no-progress --profile -n
|
||||
- composer show
|
||||
|
||||
## Run the actual test
|
||||
test_script:
|
||||
- cd c:\projects\php-project-workspace
|
||||
- vendor/bin/phpunit --colors=always
|
@ -33,11 +33,11 @@
|
||||
"amphp/amp": "^1",
|
||||
"amphp/cache": "^0.1",
|
||||
"amphp/file": "^0.1",
|
||||
"amphp/windows-registry": "^0.2",
|
||||
"amphp/windows-registry": "^0.2.2",
|
||||
"daverandom/libdns": "^1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8",
|
||||
"phpunit/phpunit": "^4.8|^5.1.3",
|
||||
"friendsofphp/php-cs-fixer": "^1.9"
|
||||
},
|
||||
"autoload": {
|
||||
|
@ -351,7 +351,7 @@ REGEX;
|
||||
}
|
||||
} else if (\stripos(PHP_OS, "win") === 0) {
|
||||
$keys = [
|
||||
"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Nameserver",
|
||||
"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\NameServer",
|
||||
"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\DhcpNameServer",
|
||||
];
|
||||
|
||||
@ -364,8 +364,21 @@ REGEX;
|
||||
} catch (KeyNotFoundException $e) { }
|
||||
}
|
||||
|
||||
if ($nameserver === "") {
|
||||
$subKeys = (yield $reader->listKeys("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces"));
|
||||
|
||||
while ($nameserver === "" && ($key = array_shift($subKeys))) {
|
||||
try {
|
||||
$nameserver = (yield $reader->read("{$key}\\NameServer"));
|
||||
} catch (KeyNotFoundException $e) { }
|
||||
}
|
||||
}
|
||||
|
||||
if ($nameserver !== "") {
|
||||
$result["nameservers"] = ["{$nameserver}:53"];
|
||||
// Microsoft documents space as delimiter, AppVeyor uses comma.
|
||||
$result["nameservers"] = array_map(function ($ns) {
|
||||
return trim($ns) . ":53";
|
||||
}, explode(" ", strtr($nameserver, ",", " ")));
|
||||
} else {
|
||||
throw new ResolutionException("Could not find a nameserver in the Windows Registry.");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user