From e77fe15a33a3b8b3d98790a37e41e34ce6464c11 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sun, 6 Dec 2020 17:22:38 +0530 Subject: [PATCH] removing .NET framework based portable app in favor of .NET 5 portable app. --- DnsServerApp/App.config | 6 - DnsServerApp/DnsServerApp.csproj | 61 ------- DnsServerApp/Program.cs | 213 ------------------------ DnsServerApp/Properties/AssemblyInfo.cs | 36 ---- DnsServerApp/logo2.ico | Bin 8478 -> 0 bytes 5 files changed, 316 deletions(-) delete mode 100644 DnsServerApp/App.config delete mode 100644 DnsServerApp/DnsServerApp.csproj delete mode 100644 DnsServerApp/Program.cs delete mode 100644 DnsServerApp/Properties/AssemblyInfo.cs delete mode 100644 DnsServerApp/logo2.ico diff --git a/DnsServerApp/App.config b/DnsServerApp/App.config deleted file mode 100644 index 4bfa0056..00000000 --- a/DnsServerApp/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/DnsServerApp/DnsServerApp.csproj b/DnsServerApp/DnsServerApp.csproj deleted file mode 100644 index 3c2dd40f..00000000 --- a/DnsServerApp/DnsServerApp.csproj +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Debug - AnyCPU - {C166A19B-B533-45F8-813F-861DAB6D1865} - Exe - DnsServerApp - DnsServerApp - v4.8 - 512 - false - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - logo2.ico - - - - - ..\..\TechnitiumLibrary\bin\TechnitiumLibrary.Net.Firewall.dll - - - - - - - - - {4494b79b-588c-41f2-95ad-0897123af154} - DnsServerCore - - - - - - - - \ No newline at end of file diff --git a/DnsServerApp/Program.cs b/DnsServerApp/Program.cs deleted file mode 100644 index 32500d72..00000000 --- a/DnsServerApp/Program.cs +++ /dev/null @@ -1,213 +0,0 @@ -/* -Technitium DNS Server -Copyright (C) 2020 Shreyas Zare (shreyas@technitium.com) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -using DnsServerCore; -using System; -using System.Diagnostics; -using System.Reflection; -using System.Security.Principal; -using System.Threading; -using TechnitiumLibrary.Net.Firewall; - -namespace DnsServerApp -{ - class Program - { - static void Main(string[] args) - { - #region check windows firewall entry - - string appPath = Assembly.GetEntryAssembly().Location; - - if (!WindowsFirewallEntryExists(appPath)) - { - bool isAdmin = new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); - - if (isAdmin) - { - AddWindowsFirewallEntry(appPath); - } - else - { - ProcessStartInfo processInfo = new ProcessStartInfo(appPath, string.Join(" ", args)); - - processInfo.UseShellExecute = true; - processInfo.Verb = "runas"; - - try - { - Process.Start(processInfo); - return; - } - catch - { } - } - } - - #endregion - - string configFolder = null; - - if (args.Length == 1) - configFolder = args[0]; - - EventWaitHandle waitHandle = new ManualResetEvent(false); - EventWaitHandle exitHandle = new ManualResetEvent(false); - WebService service = null; - - try - { - service = new WebService(configFolder, new Uri("https://go.technitium.com/?id=20")); - service.Start(); - - Console.CancelKeyPress += delegate (object sender, ConsoleCancelEventArgs e) - { - e.Cancel = true; - waitHandle.Set(); - }; - - AppDomain.CurrentDomain.ProcessExit += delegate (object sender, EventArgs e) - { - waitHandle.Set(); - exitHandle.WaitOne(); - }; - - Console.WriteLine("Technitium DNS Server was started successfully."); - Console.WriteLine("Using config folder: " + service.ConfigFolder); - Console.WriteLine(""); - Console.WriteLine("Note: Open http://" + service.WebServiceHostname + ":" + service.WebServicePort + "/ in web browser to access web console."); - Console.WriteLine(""); - Console.WriteLine("Press [CTRL + C] to stop..."); - - waitHandle.WaitOne(); - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } - finally - { - Console.WriteLine(""); - Console.WriteLine("Technitium DNS Server is stopping..."); - - if (service != null) - service.Dispose(); - - Console.WriteLine("Technitium DNS Server was stopped successfully."); - exitHandle.Set(); - } - } - - #region private - - private static bool WindowsFirewallEntryExists(string appPath) - { - switch (Environment.OSVersion.Platform) - { - case PlatformID.Win32NT: - if (Environment.OSVersion.Version.Major > 5) - { - //vista and above - try - { - return WindowsFirewall.RuleExistsVista("", appPath) == RuleStatus.Allowed; - } - catch - { - return false; - } - } - else - { - try - { - return WindowsFirewall.ApplicationExists(appPath) == RuleStatus.Allowed; - } - catch - { - return false; - } - } - - default: - return false; - } - } - - private static bool AddWindowsFirewallEntry(string appPath) - { - switch (Environment.OSVersion.Platform) - { - case PlatformID.Win32NT: - if (Environment.OSVersion.Version.Major > 5) - { - //vista and above - try - { - RuleStatus status = WindowsFirewall.RuleExistsVista("", appPath); - - switch (status) - { - case RuleStatus.Blocked: - case RuleStatus.Disabled: - WindowsFirewall.RemoveRuleVista("", appPath); - break; - - case RuleStatus.Allowed: - return true; - } - - WindowsFirewall.AddRuleVista("Technitium DNS Server", "Allow incoming connection request to the DNS server.", FirewallAction.Allow, appPath, Protocol.ANY, null, null, null, null, InterfaceTypeFlags.All, true, Direction.Inbound, true); - return true; - } - catch - { } - } - else - { - try - { - RuleStatus status = WindowsFirewall.ApplicationExists(appPath); - - switch (status) - { - case RuleStatus.Disabled: - WindowsFirewall.RemoveApplication(appPath); - break; - - case RuleStatus.Allowed: - return true; - } - - WindowsFirewall.AddApplication("Technitium DNS Server", appPath); - return true; - } - catch - { } - } - - break; - } - - return false; - } - - #endregion - } -} diff --git a/DnsServerApp/Properties/AssemblyInfo.cs b/DnsServerApp/Properties/AssemblyInfo.cs deleted file mode 100644 index cdb076a7..00000000 --- a/DnsServerApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Technitium DNS Server")] -[assembly: AssemblyDescription("Technitium DNS Server")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Technitium")] -[assembly: AssemblyProduct("Technitium DNS Server")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("c166a19b-b533-45f8-813f-861dab6d1865")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("5.5.0.0")] -[assembly: AssemblyFileVersion("5.5.0.0")] diff --git a/DnsServerApp/logo2.ico b/DnsServerApp/logo2.ico deleted file mode 100644 index 67432fd83dad417f419e15c0af9f4209634b0a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8478 zcmeI1zfUAL6o4Peo`ezF4Z?dUc3nMy&OyU+sp6A|H$#{*Ye#jzY@q$E!9zd5)C?o z&Y&}@<3>^wi{3J@=q-ASUY9xa4!uKg=pA}G@#sBzkKUv3dP5=y48UurY!N6c(h)6IP7z_*s1_MLHgu%dIU@$Nk7$Q0h1_lFzfx*CF0y;Ph97Z|V zBcO^Dme#^zVX?5pLx#l?+!Dy*)WQF4W zorS}~U}5la$MPwK#7Te1F}<1{sEF;bi>W5IgUJ!p5x~LZi0znk#CF7X#Ez#U#zs$k zM|?+oJw=ZAj@&pH91KqPN{tuKgl51|Y4tRc15Z2;n}@>_FP>WEAO{`}uN)j$Jl!nv zuy|NJ5T1bX5`e|C&|}0MOGU4ji?VP|JS<-G5n1$V(6fLJh5$o=A;1t|2r$IU2?h^C zfFZ!(VZaR)dl&)?0fqnruBqr@2r#g_QT4L|A2N(;(!V#ixwXyQK{3zSo z+p@E>BfGo1vbVP<2L}hTzrQahCns`xdMamUXL5diE*BRUa(Q_vZ~hJP!^@Z4#}(Pt zdq6wiaL8vnLVfQ zEHQgdd7G{9wrkQ>&Z=flpV}wSkJi4M*qn-Ts#iIYy1UzVPZBZAL%Z{qeJ&&{=0 z^OU~NKj&Rsf2pSCY4+Y>_I;jjvi!EsyMftzhll^(fggE`CklP?=*a2gSAPwrG{(uW tPfq6TypH0+IEeoH)U091Yv1e?Ppr_CNU_({ca+