mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 22:44:29 +01:00
Fix setting up DNS name
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||||
<Version>1.0.2.91</Version>
|
<Version>1.0.2.92</Version>
|
||||||
<NoWarn>NU1701,CA1816,CA1308,CA1810,CA2208</NoWarn>
|
<NoWarn>NU1701,CA1816,CA1308,CA1810,CA2208</NoWarn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -180,6 +180,8 @@ namespace BTCPayServer.Controllers
|
|||||||
return View(vm);
|
return View(vm);
|
||||||
}
|
}
|
||||||
vm.DNSDomain = vm.DNSDomain.Trim().ToLowerInvariant();
|
vm.DNSDomain = vm.DNSDomain.Trim().ToLowerInvariant();
|
||||||
|
if (vm.DNSDomain.Equals(this.Request.Host.Host, StringComparison.OrdinalIgnoreCase))
|
||||||
|
return View(vm);
|
||||||
if (IPAddress.TryParse(vm.DNSDomain, out var unused))
|
if (IPAddress.TryParse(vm.DNSDomain, out var unused))
|
||||||
{
|
{
|
||||||
ModelState.AddModelError(nameof(vm.DNSDomain), $"This should be a domain name");
|
ModelState.AddModelError(nameof(vm.DNSDomain), $"This should be a domain name");
|
||||||
@@ -198,14 +200,13 @@ namespace BTCPayServer.Controllers
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
builder.Scheme = this.Request.Scheme;
|
var addresses1 = Dns.GetHostAddressesAsync(this.Request.Host.Host);
|
||||||
builder.Host = vm.DNSDomain;
|
var addresses2 = Dns.GetHostAddressesAsync(vm.DNSDomain);
|
||||||
if (this.Request.Host.Port != null)
|
await Task.WhenAll(addresses1, addresses2);
|
||||||
builder.Port = this.Request.Host.Port.Value;
|
|
||||||
builder.Path = "runid";
|
var addressesSet = addresses1.GetAwaiter().GetResult().Select(c => c.ToString()).ToHashSet();
|
||||||
builder.Query = $"expected={RunId}";
|
var hasCommonAddress = addresses2.GetAwaiter().GetResult().Select(c => c.ToString()).Any(s => addressesSet.Contains(s));
|
||||||
var response = await client.GetAsync(builder.Uri);
|
if (!hasCommonAddress)
|
||||||
if (!response.IsSuccessStatusCode)
|
|
||||||
{
|
{
|
||||||
ModelState.AddModelError(nameof(vm.DNSDomain), $"Invalid host ({vm.DNSDomain} is not pointing to this BTCPay instance)");
|
ModelState.AddModelError(nameof(vm.DNSDomain), $"Invalid host ({vm.DNSDomain} is not pointing to this BTCPay instance)");
|
||||||
return View(vm);
|
return View(vm);
|
||||||
|
|||||||
Reference in New Issue
Block a user