Beispiel #1
0
        protected override RemoteCall Process(RemoteCall call)
        {
            //try
            {
                /////////////////////////////////////////
                // Windows Firewall

                if (call.func == "GetFilteringMode")
                {
                    call.args = App.engine.GetFilteringMode();
                }
                else if (call.func == "SetFilteringMode")
                {
                    call.args = App.engine.SetFilteringMode((FirewallManager.FilteringModes)call.args);
                }
                else if (call.func == "IsFirewallGuard")
                {
                    call.args = App.engine.IsFirewallGuard();
                }
                else if (call.func == "SetFirewallGuard")
                {
                    call.args = App.engine.SetFirewallGuard(RemoteCall.GetArg <bool>(call.args, 0), RemoteCall.GetArg <FirewallGuard.Mode>(call.args, 1));
                }
                else if (call.func == "GetAuditPolicy")
                {
                    call.args = App.engine.GetAuditPolicy();
                }
                else if (call.func == "SetAuditPolicy")
                {
                    call.args = App.engine.SetAuditPolicy((FirewallMonitor.Auditing)call.args);
                }
                else if (call.func == "GetPrograms")
                {
                    call.args = App.engine.GetPrograms(RemoteCall.GetArg <List <Guid> >(call.args, 0));
                }
                else if (call.func == "GetProgram")
                {
                    call.args = App.engine.GetProgram(RemoteCall.GetArg <ProgramID>(call.args, 0), RemoteCall.GetArg <bool>(call.args, 1));
                }
                else if (call.func == "AddProgram")
                {
                    call.args = App.engine.AddProgram(RemoteCall.GetArg <ProgramID> (call.args, 0), RemoteCall.GetArg <Guid>(call.args, 1));
                }
                else if (call.func == "UpdateProgram")
                {
                    call.args = App.engine.UpdateProgram(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <ProgramSet.Config>(call.args, 1), RemoteCall.GetArg <UInt64>(call.args, 2));
                }
                else if (call.func == "MergePrograms")
                {
                    call.args = App.engine.MergePrograms(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <Guid>(call.args, 1));
                }
                else if (call.func == "SplitPrograms")
                {
                    call.args = App.engine.SplitPrograms(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <ProgramID>(call.args, 1));
                }
                else if (call.func == "RemoveProgram")
                {
                    call.args = App.engine.RemoveProgram(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <ProgramID>(call.args, 1));
                }
                else if (call.func == "LoadRules")
                {
                    call.args = App.engine.LoadRules();
                }
                else if (call.func == "GetRules")
                {
                    call.args = App.engine.GetRules((List <Guid>)call.args);
                }
                else if (call.func == "UpdateRule")
                {
                    call.args = App.engine.UpdateRule(RemoteCall.GetArg <FirewallRule>(call.args, 0), RemoteCall.GetArg <UInt64>(call.args, 1));
                }
                else if (call.func == "RemoveRule")
                {
                    call.args = App.engine.RemoveRule((FirewallRule)call.args);
                }
                else if (call.func == "SetRuleApproval")
                {
                    call.args = App.engine.SetRuleApproval(RemoteCall.GetArg <Priv10Engine.ApprovalMode>(call.args, 0), RemoteCall.GetArg <FirewallRule>(call.args, 1));
                }
                else if (call.func == "BlockInternet")
                {
                    call.args = App.engine.BlockInternet((bool)call.args);
                }
                else if (call.func == "ClearLog")
                {
                    call.args = App.engine.ClearLog((bool)call.args);
                }
                else if (call.func == "ClearDnsLog")
                {
                    call.args = App.engine.ClearDnsLog();
                }
                else if (call.func == "CleanUpPrograms")
                {
                    call.args = App.engine.CleanUpPrograms((bool)call.args);
                }
                else if (call.func == "CleanUpRules")
                {
                    call.args = App.engine.CleanUpRules();
                }
                else if (call.func == "GetConnections")
                {
                    call.args = App.engine.GetConnections((List <Guid>)call.args);
                }
                else if (call.func == "GetSockets")
                {
                    call.args = App.engine.GetSockets((List <Guid>)call.args);
                }
                else if (call.func == "SetupDnsInspector")
                {
                    call.args = App.engine.SetupDnsInspector(RemoteCall.GetArg <bool>(call.args, 0));
                }
                else if (call.func == "GetDomains")
                {
                    call.args = App.engine.GetDomains((List <Guid>)call.args);
                }
                else if (call.func == "GetAllAppPkgs")
                {
                    call.args = App.engine.GetAllAppPkgs((bool)call.args);
                }
                else if (call.func == "GetAppPkgRes")
                {
                    call.args = App.engine.GetAppPkgRes((string)call.args);
                }

                /////////////////////////////////////////
                // Dns Proxy

                else if (call.func == "ConfigureDNSProxy")
                {
                    call.args = App.engine.ConfigureDNSProxy(RemoteCall.GetArg <bool>(call.args, 0), RemoteCall.GetArg <bool?>(call.args, 1), RemoteCall.GetArg <string>(call.args, 2));
                }

                // Querylog
                else if (call.func == "GetLoggedDnsQueries")
                {
                    call.args = App.engine.GetLoggedDnsQueries();
                }
                else if (call.func == "ClearLoggedDnsQueries")
                {
                    call.args = App.engine.ClearLoggedDnsQueries();
                }

                // Whitelist/Blacklist
                else if (call.func == "GetDomainFilter")
                {
                    call.args = App.engine.GetDomainFilter(RemoteCall.GetArg <DnsBlockList.Lists>(call.args, 0));
                }
                else if (call.func == "UpdateDomainFilter")
                {
                    call.args = App.engine.UpdateDomainFilter(RemoteCall.GetArg <DnsBlockList.Lists>(call.args, 0), RemoteCall.GetArg <DomainFilter>(call.args, 1));
                }
                else if (call.func == "RemoveDomainFilter")
                {
                    call.args = App.engine.RemoveDomainFilter(RemoteCall.GetArg <DnsBlockList.Lists>(call.args, 0), RemoteCall.GetArg <string>(call.args, 1));
                }

                // Blocklist
                else if (call.func == "GetDomainBlocklists")
                {
                    call.args = App.engine.GetDomainBlocklists();
                }
                else if (call.func == "UpdateDomainBlocklist")
                {
                    call.args = App.engine.UpdateDomainBlocklist((DomainBlocklist)call.args);
                }
                else if (call.func == "RemoveDomainBlocklist")
                {
                    call.args = App.engine.RemoveDomainBlocklist((string)call.args);
                }
                else if (call.func == "RefreshDomainBlocklist")
                {
                    call.args = App.engine.RefreshDomainBlocklist((string)call.args);
                }

                /////////////////////////////////////////
                // Privacy tweaks

                else if (call.func == "ApplyTweak")
                {
                    call.args = App.engine.ApplyTweak((TweakManager.Tweak)call.args);
                }
                else if (call.func == "TestTweak")
                {
                    call.args = App.engine.TestTweak((TweakManager.Tweak)call.args);
                }
                else if (call.func == "UndoTweak")
                {
                    call.args = App.engine.UndoTweak((TweakManager.Tweak)call.args);
                }

                /////////////////////////////////////////
                // Misc

                /*else if (call.func == "Quit")
                 * {
                 *  call.args = App.engine.Quit();
                 * }*/

                else
                {
                    call.args = new Exception("Unknown FunctionCall");
                }
            }

            /*catch (Exception err)
             * {
             *  AppLog.Exception(err);
             *  call.args = err;
             * }*/
            return(call);
        }
Beispiel #2
0
        protected override RemoteCall Process(RemoteCall call)
        {
            //try
            {
                if (call.func == "GetFilteringMode")
                {
                    call.args = App.engine.GetFilteringMode();
                }
                else if (call.func == "SetFilteringMode")
                {
                    call.args = App.engine.SetFilteringMode((FirewallManager.FilteringModes)call.args);
                }
                else if (call.func == "IsFirewallGuard")
                {
                    call.args = App.engine.IsFirewallGuard();
                }
                else if (call.func == "SetFirewallGuard")
                {
                    call.args = App.engine.SetFirewallGuard(RemoteCall.GetArg <bool>(call.args, 0), RemoteCall.GetArg <FirewallGuard.Mode>(call.args, 1));
                }
                else if (call.func == "GetAuditPolicy")
                {
                    call.args = App.engine.GetAuditPolicy();
                }
                else if (call.func == "SetAuditPolicy")
                {
                    call.args = App.engine.SetAuditPolicy((FirewallMonitor.Auditing)call.args);
                }
                else if (call.func == "GetPrograms")
                {
                    call.args = App.engine.GetPrograms(RemoteCall.GetArg <List <Guid> >(call.args, 0));
                }
                else if (call.func == "GetProgram")
                {
                    call.args = App.engine.GetProgram(RemoteCall.GetArg <ProgramID>(call.args, 0), RemoteCall.GetArg <bool>(call.args, 1));
                }
                else if (call.func == "AddProgram")
                {
                    call.args = App.engine.AddProgram(RemoteCall.GetArg <ProgramID> (call.args, 0), RemoteCall.GetArg <Guid>(call.args, 1));
                }
                else if (call.func == "UpdateProgram")
                {
                    call.args = App.engine.UpdateProgram(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <ProgramSet.Config>(call.args, 1), RemoteCall.GetArg <UInt64>(call.args, 2));
                }
                else if (call.func == "MergePrograms")
                {
                    call.args = App.engine.MergePrograms(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <Guid>(call.args, 1));
                }
                else if (call.func == "SplitPrograms")
                {
                    call.args = App.engine.SplitPrograms(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <ProgramID>(call.args, 1));
                }
                else if (call.func == "RemoveProgram")
                {
                    call.args = App.engine.RemoveProgram(RemoteCall.GetArg <Guid>(call.args, 0), RemoteCall.GetArg <ProgramID>(call.args, 1));
                }
                else if (call.func == "LoadRules")
                {
                    call.args = App.engine.LoadRules();
                }
                else if (call.func == "GetRules")
                {
                    call.args = App.engine.GetRules((List <Guid>)call.args);
                }
                else if (call.func == "UpdateRule")
                {
                    call.args = App.engine.UpdateRule(RemoteCall.GetArg <FirewallRule>(call.args, 0), RemoteCall.GetArg <UInt64>(call.args, 1));
                }
                else if (call.func == "RemoveRule")
                {
                    call.args = App.engine.RemoveRule((FirewallRule)call.args);
                }
                else if (call.func == "SetRuleApproval")
                {
                    call.args = App.engine.SetRuleApproval(RemoteCall.GetArg <Engine.ApprovalMode>(call.args, 0), RemoteCall.GetArg <FirewallRule>(call.args, 1));
                }
                else if (call.func == "BlockInternet")
                {
                    call.args = App.engine.BlockInternet((bool)call.args);
                }
                else if (call.func == "ClearLog")
                {
                    call.args = App.engine.ClearLog((bool)call.args);
                }
                else if (call.func == "CleanUpPrograms")
                {
                    call.args = App.engine.CleanUpPrograms((bool)call.args);
                }
                else if (call.func == "CleanUpRules")
                {
                    call.args = App.engine.CleanUpRules();
                }
                else if (call.func == "GetConnections")
                {
                    call.args = App.engine.GetConnections((List <Guid>)call.args);
                }
                else if (call.func == "GetSockets")
                {
                    call.args = App.engine.GetSockets((List <Guid>)call.args);
                }
                else if (call.func == "GetDomains")
                {
                    call.args = App.engine.GetDomains((List <Guid>)call.args);
                }

                else if (call.func == "ApplyTweak")
                {
                    call.args = App.engine.ApplyTweak((TweakManager.Tweak)call.args);
                }
                else if (call.func == "TestTweak")
                {
                    call.args = App.engine.TestTweak((TweakManager.Tweak)call.args);
                }
                else if (call.func == "UndoTweak")
                {
                    call.args = App.engine.UndoTweak((TweakManager.Tweak)call.args);
                }
                else if (call.func == "Quit")
                {
                    call.args = App.engine.Quit();
                }

                else
                {
                    call.args = new Exception("Unknon FunctionCall");
                }
            }

            /*catch (Exception err)
             * {
             *  AppLog.Exception(err);
             *  call.args = err;
             * }*/
            return(call);
        }