package firewall import ( "github.com/safing/portbase/config" ) // Configuration Keys var ( CfgOptionEnableFilterKey = "filter/enable" CfgOptionPromptTimeoutKey = "filter/promptTimeout" CfgOptionPromptTimeoutOrder = 2 promptTimeout config.IntOption CfgOptionPermanentVerdictsKey = "filter/permanentVerdicts" CfgOptionPermanentVerdictsOrder = 128 permanentVerdicts config.BoolOption devMode config.BoolOption apiListenAddress config.StringOption ) func registerConfig() error { err := config.Register(&config.Option{ Name: "Permanent Verdicts", Key: CfgOptionPermanentVerdictsKey, Description: "With permanent verdicts, control of a connection is fully handed back to the OS after the initial decision. This brings a great performance increase, but makes it impossible to change the decision of a link later on.", Order: CfgOptionPermanentVerdictsOrder, OptType: config.OptTypeBool, ExpertiseLevel: config.ExpertiseLevelExpert, ReleaseLevel: config.ReleaseLevelExperimental, DefaultValue: true, }) if err != nil { return err } permanentVerdicts = config.Concurrent.GetAsBool(CfgOptionPermanentVerdictsKey, true) err = config.Register(&config.Option{ Name: "Timeout for prompt notifications", Key: CfgOptionPromptTimeoutKey, Description: "Amount of time how long Portmaster will wait for a response when prompting about a connection via a notification. In seconds.", Order: CfgOptionPromptTimeoutOrder, OptType: config.OptTypeInt, ExpertiseLevel: config.ExpertiseLevelUser, ReleaseLevel: config.ReleaseLevelBeta, DefaultValue: 60, }) if err != nil { return err } promptTimeout = config.Concurrent.GetAsInt(CfgOptionPromptTimeoutKey, 60) devMode = config.Concurrent.GetAsBool("core/devMode", false) apiListenAddress = config.GetAsString("api/listenAddress", "") return nil }