From fe930e4690dfc7b8df34d14dee18f6d847fd1a87 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 24 Sep 2022 16:06:19 +0530 Subject: [PATCH] DnsWebService: fixes file loading issue caused due to earlier code refactoring. --- DnsServerCore/DnsWebService.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/DnsServerCore/DnsWebService.cs b/DnsServerCore/DnsWebService.cs index b5309eb3..6bdf1b90 100644 --- a/DnsServerCore/DnsWebService.cs +++ b/DnsServerCore/DnsWebService.cs @@ -3741,12 +3741,17 @@ namespace DnsServerCore try { + int version; + using (FileStream fS = new FileStream(configFile, FileMode.Open, FileAccess.Read)) { - ReadConfigFrom(new BinaryReader(fS)); + version = ReadConfigFrom(new BinaryReader(fS)); } _log.Write("DNS Server config file was loaded: " + configFile); + + if (version <= 27) + SaveConfigFile(); //save as new config version to avoid loading old version next time } catch (FileNotFoundException) { @@ -3956,7 +3961,7 @@ namespace DnsServerCore _authManager.SaveConfigFile(); } - private void ReadConfigFrom(BinaryReader bR) + private int ReadConfigFrom(BinaryReader bR) { if (Encoding.ASCII.GetString(bR.ReadBytes(2)) != "DS") //format throw new InvalidDataException("DNS Server config file format is invalid."); @@ -3973,14 +3978,13 @@ namespace DnsServerCore //new default settings _appsApi.EnableAutomaticUpdate = true; - - //save as new config version to avoid loading old version next time - SaveConfigFile(); } else { throw new InvalidDataException("DNS Server config version not supported."); } + + return version; } private void ReadConfigFrom(BinaryReader bR, int version)