Skip to content

Commit 9639589

Browse files
authored
Feature: DNS Lookup - Input server (#3261)
* Feature: DNS Lookup - Input server * Feature: Enter dns server in ui * Update DNSLookupView.xaml * Chore: Adjust regex for IPv4 * Chore: Migrate regex to generatedRegex * Docs: adjust regex comments * Design: Migrate dns server to child window * Design: Migrate SNTP dialog * Feature: Parse input and profile server field * Docs: #3261 & dotnet format * Update NETworkManager.Documentation.csproj
1 parent 28c05f9 commit 9639589

File tree

51 files changed

+687
-347
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+687
-347
lines changed

Source/GlobalAssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
[assembly: AssemblyTrademark("")]
77
[assembly: AssemblyCulture("")]
88

9-
[assembly: AssemblyVersion("2025.11.16.0")]
10-
[assembly: AssemblyFileVersion("2025.11.16.0")]
9+
[assembly: AssemblyVersion("2025.12.10.0")]
10+
[assembly: AssemblyFileVersion("2025.12.10.0")]

Source/NETworkManager.Converters/DNSServerConnectionInfoProfileToString.cs

Lines changed: 0 additions & 23 deletions
This file was deleted.

Source/NETworkManager.Converters/StringIsNotNullOrEmptyOrIPv4AddressToBooleanConverter.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
using System;
1+
using NETworkManager.Utilities;
2+
using System;
23
using System.Globalization;
3-
using System.Text.RegularExpressions;
44
using System.Windows.Data;
5-
using NETworkManager.Utilities;
65

76
namespace NETworkManager.Converters;
87

98
public sealed class StringIsNotNullOrEmptyOrIPv4AddressToBooleanConverter : IValueConverter
109
{
1110
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
1211
{
13-
return !string.IsNullOrEmpty(value as string) && !Regex.IsMatch((string)value, RegexHelper.IPv4AddressRegex);
12+
return !string.IsNullOrEmpty(value as string) && !RegexHelper.IPv4AddressRegex().IsMatch((string)value);
1413
}
1514

1615
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

Source/NETworkManager.Converters/ValidateSubnetCalculatorSubnettingConverter.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Globalization;
33
using System.Net;
44
using System.Net.Sockets;
5-
using System.Text.RegularExpressions;
65
using System.Windows.Data;
76
using NETworkManager.Models.Network;
87
using NETworkManager.Utilities;
@@ -40,7 +39,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
4039
};
4140

4241
// Support subnetmask like 255.255.255.0
43-
int newCidr = Regex.IsMatch(newSubnetmaskOrCidr, RegexHelper.SubnetmaskRegex)
42+
int newCidr = RegexHelper.SubnetmaskRegex().IsMatch(newSubnetmaskOrCidr)
4443
? System.Convert.ToByte(Subnetmask.ConvertSubnetmaskToCidr(IPAddress.Parse(newSubnetmaskOrCidr)))
4544
: System.Convert.ToByte(newSubnetmaskOrCidr.TrimStart('/'));
4645

Source/NETworkManager.Documentation/NETworkManager.Documentation.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<ProjectGuid>{95CE4AD5-14C0-4486-9C11-5D6A5EC48176}</ProjectGuid>
44
<OutputType>Library</OutputType>

Source/NETworkManager.Localization/Resources/Strings.Designer.cs

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Source/NETworkManager.Localization/Resources/Strings.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3945,4 +3945,10 @@ If you click Cancel, the profile file will remain unencrypted.</value>
39453945
<data name="ToolTip_RestartRequired" xml:space="preserve">
39463946
<value>A restart is required to apply changes such as language settings.</value>
39473947
</data>
3948+
<data name="CouldNotParseOrResolveDNSServers" xml:space="preserve">
3949+
<value>Could not parse or resolve any of the specified DNS servers.</value>
3950+
</data>
3951+
<data name="CouldNotParseX" xml:space="preserve">
3952+
<value>Could not parse DNS server "{0}".</value>
3953+
</data>
39483954
</root>

Source/NETworkManager.Models/Network/DNSLookupErrorArgs.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class DNSLookupErrorArgs : EventArgs
66
{
77
public DNSLookupErrorArgs()
88
{
9+
910
}
1011

1112
public DNSLookupErrorArgs(string query, string server, string ipEndPoint, string errorMessage)

Source/NETworkManager.Models/Network/DNSServer.cs

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,34 +13,39 @@ public static class DNSServer
1313
/// <returns>List of common dns servers.</returns>
1414
public static List<DNSServerConnectionInfoProfile> GetDefaultList()
1515
{
16-
return new List<DNSServerConnectionInfoProfile>
17-
{
16+
return
17+
[
1818
new(), // Windows DNS server
19-
new("Cloudflare", new List<ServerConnectionInfo>
20-
{
19+
new("Cloudflare",
20+
[
2121
new("1.1.1.1", 53, TransportProtocol.Udp),
2222
new("1.0.0.1", 53, TransportProtocol.Udp)
23-
}),
24-
new("DNS.Watch", new List<ServerConnectionInfo>
25-
{
23+
]),
24+
new("DNS.Watch",
25+
[
2626
new("84.200.69.80", 53, TransportProtocol.Udp),
2727
new("84.200.70.40", 53, TransportProtocol.Udp)
28-
}),
29-
new("Google Public DNS", new List<ServerConnectionInfo>
30-
{
28+
]),
29+
new("Google Public DNS",
30+
[
3131
new("8.8.8.8", 53, TransportProtocol.Udp),
3232
new("8.8.4.4", 53, TransportProtocol.Udp)
33-
}),
34-
new("Level3", new List<ServerConnectionInfo>
35-
{
33+
]),
34+
new("Level3",
35+
[
3636
new("209.244.0.3", 53, TransportProtocol.Udp),
3737
new("209.244.0.4", 53, TransportProtocol.Udp)
38-
}),
39-
new("Verisign", new List<ServerConnectionInfo>
40-
{
38+
]),
39+
new("Quad9",
40+
[
41+
new ("9.9.9.9", 53, TransportProtocol.Udp),
42+
new ("149.112.112.112", 53 , TransportProtocol.Udp)
43+
]),
44+
new("Verisign",
45+
[
4146
new("64.6.64.6", 53, TransportProtocol.Udp),
4247
new("64.6.65.6", 53, TransportProtocol.Udp)
43-
})
44-
};
48+
])
49+
];
4550
}
4651
}

Source/NETworkManager.Models/Network/DNSServerConnectionInfoProfile.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class DNSServerConnectionInfoProfile : ServerConnectionInfoProfile
1313
/// </summary>
1414
public DNSServerConnectionInfoProfile()
1515
{
16+
Name = "[Windows DNS]";
1617
UseWindowsDNSServer = true;
1718
}
1819

@@ -23,6 +24,7 @@ public DNSServerConnectionInfoProfile()
2324
/// <param name="servers">List of servers as <see cref="ServerConnectionInfo" />.</param>
2425
public DNSServerConnectionInfoProfile(string name, List<ServerConnectionInfo> servers) : base(name, servers)
2526
{
27+
2628
}
2729

2830
/// <summary>

0 commit comments

Comments
 (0)