diff --git a/EduNetworkBuilder/NB.cs b/EduNetworkBuilder/NB.cs index 0f20f86..13851b8 100644 --- a/EduNetworkBuilder/NB.cs +++ b/EduNetworkBuilder/NB.cs @@ -41,6 +41,7 @@ namespace EduNetworkBuilder public enum RTFWindowContents { help, about, release_notes } public enum NetTestType { NeedsLocalIPTo, NeedsDefaultGW, NeedsLinkToDevice, NeedsRouteToNet, SuccessfullyPings, SuccessfullyArps, SuccessfullyDHCPs, HelpRequest, ReadContextHelp, FailedPing, + DHCPServerEnabled, LockAll, LockIP, LockRoute, LockNic, LockDHCP, LockGateway } public enum NetTestVerbosity { none, basic, hints, full } diff --git a/EduNetworkBuilder/NetTest.cs b/EduNetworkBuilder/NetTest.cs index c036ac6..b999213 100644 --- a/EduNetworkBuilder/NetTest.cs +++ b/EduNetworkBuilder/NetTest.cs @@ -152,6 +152,9 @@ namespace EduNetworkBuilder case NetTestType.FailedPing: toreturn = "Should fail to ping a specific host"; break; + case NetTestType.DHCPServerEnabled: + toreturn = "Needs change to DHCP server:"; + break; case NetTestType.LockAll: toreturn = "Is Locked"; break; @@ -209,6 +212,10 @@ namespace EduNetworkBuilder case NetTestType.FailedPing: toreturn = "Needs to try to ping (and fail):"; break; + case NetTestType.DHCPServerEnabled: + toreturn = "DHCP Server enabled = "; + break; + case NetTestType.LockAll: toreturn = "Is Locked:"; break; @@ -271,6 +278,7 @@ namespace EduNetworkBuilder NetworkDevice Source = theNet.GetDeviceFromName(sHost); NetworkDevice Dest = theNet.GetDeviceFromName(dHost); if (Source == null) return false; + if (TheTest == NetTestType.DHCPServerEnabled) return true; //dest does not matter if (Dest == null) return false; return true; } @@ -391,6 +399,14 @@ namespace EduNetworkBuilder case NetTestType.ReadContextHelp: case NetTestType.FailedPing: return TaskWasDone; //This variable will tell us if these tests have been done. + case NetTestType.DHCPServerEnabled: + if (Source == null) return false; //Unable to do it. Do not count it against them. + //dHost is either "true" or "false" + string srvr = Source.GetIsDHCPServer().ToString().ToLower(); + string shouldbe = dHost.ToLower(); + if (srvr == shouldbe) + return true; + break; case NetTestType.LockAll: case NetTestType.LockDHCP: case NetTestType.LockIP: diff --git a/EduNetworkBuilder/NetTestEditor.cs b/EduNetworkBuilder/NetTestEditor.cs index 6f1b3c9..4245f7b 100644 --- a/EduNetworkBuilder/NetTestEditor.cs +++ b/EduNetworkBuilder/NetTestEditor.cs @@ -94,6 +94,11 @@ namespace EduNetworkBuilder cbDest.Items.Add(subnet); } } + else if (ToEdit.TheTest == NetTestType.DHCPServerEnabled) + { + cbDest.Items.Add(true.ToString()); + cbDest.Items.Add(false.ToString()); + } else if (ToEdit.TheTest == NetTestType.HelpRequest) { foreach (string HelpLevel in Enum.GetNames(typeof(NetTestVerbosity))) @@ -215,6 +220,7 @@ namespace EduNetworkBuilder Network theNet = NB.GetNetwork(); NetTestType ntt = NB.ParseEnum(cbTest.SelectedItem.ToString()); if (ntt == NetTestType.ReadContextHelp) return true; + if (ntt == NetTestType.DHCPServerEnabled) return true; if (cbSource.SelectedItem.ToString() == cbDest.SelectedItem.ToString() && ntt != NetTestType.HelpRequest) return false; //Source cannot equal dest if (theNet.GetDeviceFromName(cbSource.SelectedItem.ToString()) == null)