From caf79a00445f04a9534a2dbe1fbc1bcbe6ab2b42 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 16 Nov 2024 14:10:21 +0530 Subject: [PATCH] WebServiceSettingsApi: updated api to support reverse proxy network ACL. --- DnsServerCore/WebServiceSettingsApi.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/DnsServerCore/WebServiceSettingsApi.cs b/DnsServerCore/WebServiceSettingsApi.cs index 174c5b96..d99d1d75 100644 --- a/DnsServerCore/WebServiceSettingsApi.cs +++ b/DnsServerCore/WebServiceSettingsApi.cs @@ -320,6 +320,20 @@ namespace DnsServerCore jsonWriter.WriteNumber("dnsOverTlsPort", _dnsWebService.DnsServer.DnsOverTlsPort); jsonWriter.WriteNumber("dnsOverHttpsPort", _dnsWebService.DnsServer.DnsOverHttpsPort); jsonWriter.WriteNumber("dnsOverQuicPort", _dnsWebService.DnsServer.DnsOverQuicPort); + + jsonWriter.WritePropertyName("reverseProxyNetworkACL"); + { + jsonWriter.WriteStartArray(); + + if (_dnsWebService.DnsServer.ReverseProxyNetworkACL is not null) + { + foreach (NetworkAccessControl nac in _dnsWebService.DnsServer.ReverseProxyNetworkACL) + jsonWriter.WriteStringValue(nac.ToString()); + } + + jsonWriter.WriteEndArray(); + } + jsonWriter.WriteString("dnsTlsCertificatePath", _dnsWebService._dnsTlsCertificatePath); jsonWriter.WriteString("dnsTlsCertificatePassword", "************"); jsonWriter.WriteString("dnsOverHttpRealIpHeader", _dnsWebService.DnsServer.DnsOverHttpRealIpHeader); @@ -980,6 +994,15 @@ namespace DnsServerCore } } + string reverseProxyNetworkACL = request.QueryOrForm("reverseProxyNetworkACL"); + if (reverseProxyNetworkACL is not null) + { + if ((reverseProxyNetworkACL.Length == 0) || reverseProxyNetworkACL.Equals("false", StringComparison.OrdinalIgnoreCase)) + _dnsWebService.DnsServer.ReverseProxyNetworkACL = null; + else + _dnsWebService.DnsServer.ReverseProxyNetworkACL = reverseProxyNetworkACL.Split(NetworkAccessControl.Parse, ','); + } + string dnsTlsCertificatePath = request.QueryOrForm("dnsTlsCertificatePath"); if (dnsTlsCertificatePath is not null) {