public override void Deactivation() { base.Deactivation(); foreach (RouteEntry Entry in EntryAdded.Values) { Entry.Remove(); } foreach (RouteEntry Entry in EntryRemoved.Values) { Entry.Add(); Engine.Instance.Logs.Log(LogType.Verbose, MessagesFormatter.Format(Messages.NetworkLockRouteRestored, Entry.ToString())); } DefaultGateway = ""; DefaultInterface = ""; EntryAdded.Clear(); EntryRemoved.Clear(); }
public override void Activation() { base.Activation(); List <RouteEntry> EntryList = Platform.Instance.RouteList(); DefaultGateway = ""; DefaultInterface = ""; EntryRemoved.Clear(); EntryAdded.Clear(); foreach (RouteEntry Entry in EntryList) { if (IsIP(Entry.Gateway)) { if (DefaultGateway.Valid == false) { DefaultGateway = Entry.Gateway; DefaultInterface = Entry.Interface; } else if (DefaultGateway != Entry.Gateway) { Failed = true; break; } } } if (DefaultGateway.Valid == false) { Failed = true; } if (Failed) { DefaultGateway = ""; DefaultInterface = ""; foreach (RouteEntry Entry in EntryList) { Engine.Instance.Logs.Log(LogType.Verbose, Entry.ToString()); } throw new Exception("error"); } /* * foreach (RouteEntry Entry in EntryList) * { * if (IsIP(Entry.Gateway)) * { * EntryRemoved[Entry.Key] = Entry; * Engine.Instance.Logs.Log(LogType.Verbose, Messages.Format(Messages.NetworkLockRouteRemoved, Entry.ToString())); * Entry.Remove(); * } * } */ IpAddress destinationHole = DefaultGateway; string interfaceHole = "1"; int routesHoleN = 4; for (int i = 0; i < routesHoleN; i++) { string maskHole = "192.0.0.0"; string ipHole = Conversions.ToString((256 / routesHoleN * i)) + ".0.0.0"; RouteAdd(ipHole, maskHole, destinationHole, interfaceHole); } }