From 45483c3cdb7c323455ee418a0262ee3ac8b291b7 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 23 Sep 2023 18:18:19 +0530 Subject: [PATCH] WebServiceSettingsApi: sorting tsig keys by key name. Updated SetDnsSettings() to use new TsigKey constructor for key auto generation. --- DnsServerCore/WebServiceSettingsApi.cs | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/DnsServerCore/WebServiceSettingsApi.cs b/DnsServerCore/WebServiceSettingsApi.cs index cc39b862..75742f49 100644 --- a/DnsServerCore/WebServiceSettingsApi.cs +++ b/DnsServerCore/WebServiceSettingsApi.cs @@ -22,12 +22,12 @@ using DnsServerCore.Dns; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; +using System.Collections.Immutable; using System.IO; using System.IO.Compression; using System.Linq; using System.Net; using System.Net.Sockets; -using System.Security.Cryptography; using System.Text; using System.Text.Json; using System.Threading; @@ -44,8 +44,6 @@ namespace DnsServerCore { #region variables - readonly static RandomNumberGenerator _rng = RandomNumberGenerator.Create(); - readonly DnsWebService _dnsWebService; Timer _blockListUpdateTimer; @@ -305,7 +303,7 @@ namespace DnsServerCore if (_dnsWebService.DnsServer.TsigKeys is not null) { - foreach (KeyValuePair tsigKey in _dnsWebService.DnsServer.TsigKeys) + foreach (KeyValuePair tsigKey in _dnsWebService.DnsServer.TsigKeys.ToImmutableSortedDictionary()) { jsonWriter.WriteStartObject(); @@ -886,16 +884,9 @@ namespace DnsServerCore string algorithmName = strTsigKeyParts[i + 2]; if (sharedSecret.Length == 0) - { - byte[] key = new byte[32]; - _rng.GetBytes(key); - - tsigKeys.Add(keyName, new TsigKey(keyName, Convert.ToBase64String(key), algorithmName)); - } + tsigKeys.Add(keyName, new TsigKey(keyName, algorithmName)); else - { tsigKeys.Add(keyName, new TsigKey(keyName, sharedSecret, algorithmName)); - } } _dnsWebService.DnsServer.TsigKeys = tsigKeys;