Merge pull request #153 from safing/feature/option-categories

Add category annotations to options
This commit is contained in:
Patrick Pacher
2020-09-22 16:45:50 +02:00
committed by GitHub
7 changed files with 57 additions and 23 deletions

View File

@@ -36,6 +36,7 @@ func registerConfig() error {
DefaultValue: defaultDevMode, DefaultValue: defaultDevMode,
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: 127, config.DisplayOrderAnnotation: 127,
config.CategoryAnnotation: "Development",
}, },
}) })
if err != nil { if err != nil {
@@ -52,6 +53,7 @@ func registerConfig() error {
DefaultValue: true, // TODO: turn off by default on unsupported systems DefaultValue: true, // TODO: turn off by default on unsupported systems
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: 32, config.DisplayOrderAnnotation: 32,
config.CategoryAnnotation: "General",
}, },
}) })
if err != nil { if err != nil {

View File

@@ -36,6 +36,7 @@ func registerConfig() error {
DefaultValue: true, DefaultValue: true,
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionPermanentVerdictsOrder, config.DisplayOrderAnnotation: cfgOptionPermanentVerdictsOrder,
config.CategoryAnnotation: "Advanced",
}, },
}) })
if err != nil { if err != nil {
@@ -53,6 +54,7 @@ func registerConfig() error {
DefaultValue: true, DefaultValue: true,
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionAskWithSystemNotificationsOrder, config.DisplayOrderAnnotation: cfgOptionAskWithSystemNotificationsOrder,
config.CategoryAnnotation: "General",
}, },
}) })
if err != nil { if err != nil {
@@ -70,6 +72,7 @@ func registerConfig() error {
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionAskTimeoutOrder, config.DisplayOrderAnnotation: cfgOptionAskTimeoutOrder,
config.UnitAnnotation: "seconds", config.UnitAnnotation: "seconds",
config.CategoryAnnotation: "General",
}, },
}) })
if err != nil { if err != nil {

View File

@@ -31,6 +31,9 @@ func init() {
ExpertiseLevel: config.ExpertiseLevelUser, ExpertiseLevel: config.ExpertiseLevelUser,
ReleaseLevel: config.ReleaseLevelBeta, ReleaseLevel: config.ReleaseLevelBeta,
DefaultValue: true, DefaultValue: true,
Annotations: config.Annotations{
config.CategoryAnnotation: "General",
},
}, },
) )
} }

View File

@@ -22,6 +22,7 @@ func registerConfiguration() error {
DefaultValue: true, DefaultValue: true,
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: 144, config.DisplayOrderAnnotation: 144,
config.CategoryAnnotation: "Development",
}, },
}) })
if err != nil { if err != nil {

View File

@@ -103,6 +103,7 @@ func registerConfiguration() error {
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: config.DisplayHintOneOf, config.DisplayHintAnnotation: config.DisplayHintOneOf,
config.DisplayOrderAnnotation: cfgOptionDefaultActionOrder, config.DisplayOrderAnnotation: cfgOptionDefaultActionOrder,
config.CategoryAnnotation: "General",
}, },
PossibleValues: []config.PossibleValue{ PossibleValues: []config.PossibleValue{
{ {
@@ -138,6 +139,7 @@ func registerConfiguration() error {
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionDisableAutoPermitOrder, config.DisplayOrderAnnotation: cfgOptionDisableAutoPermitOrder,
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.CategoryAnnotation: "Advanced",
}, },
PossibleValues: status.SecurityLevelValues, PossibleValues: status.SecurityLevelValues,
}) })
@@ -175,15 +177,16 @@ Examples:
// Endpoint Filter List // Endpoint Filter List
err = config.Register(&config.Option{ err = config.Register(&config.Option{
Name: "Endpoint Filter List", Name: "Outgoing Rules",
Key: CfgOptionEndpointsKey, Key: CfgOptionEndpointsKey,
Description: "Filter outgoing connections by matching the destination endpoint. Network Scope restrictions still apply.", Description: "Rules that apply to outgoing network connections. Network Scope restrictions still apply.",
Help: filterListHelp, Help: filterListHelp,
OptType: config.OptTypeStringArray, OptType: config.OptTypeStringArray,
DefaultValue: []string{}, DefaultValue: []string{},
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: endpoints.DisplayHintEndpointList, config.DisplayHintAnnotation: endpoints.DisplayHintEndpointList,
config.DisplayOrderAnnotation: cfgOptionEndpointsOrder, config.DisplayOrderAnnotation: cfgOptionEndpointsOrder,
config.CategoryAnnotation: "Rules",
}, },
ValidationRegex: `^(\+|\-) [A-z0-9\.:\-*/]+( [A-z0-9/]+)?$`, ValidationRegex: `^(\+|\-) [A-z0-9\.:\-*/]+( [A-z0-9/]+)?$`,
}) })
@@ -195,15 +198,16 @@ Examples:
// Service Endpoint Filter List // Service Endpoint Filter List
err = config.Register(&config.Option{ err = config.Register(&config.Option{
Name: "Service Endpoint Filter List", Name: "Incoming Rules",
Key: CfgOptionServiceEndpointsKey, Key: CfgOptionServiceEndpointsKey,
Description: "Filter incoming connections by matching the source endpoint. Network Scope restrictions and the inbound permission still apply. Also not that the implicit default action of this list is to always block.", Description: "Rules that apply to incoming network connections. Network Scope restrictions and the inbound permission still apply. Also not that the implicit default action of this list is to always block.",
Help: filterListHelp, Help: filterListHelp,
OptType: config.OptTypeStringArray, OptType: config.OptTypeStringArray,
DefaultValue: []string{"+ Localhost"}, DefaultValue: []string{"+ Localhost"},
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: endpoints.DisplayHintEndpointList, config.DisplayHintAnnotation: endpoints.DisplayHintEndpointList,
config.DisplayOrderAnnotation: cfgOptionServiceEndpointsOrder, config.DisplayOrderAnnotation: cfgOptionServiceEndpointsOrder,
config.CategoryAnnotation: "Rules",
}, },
ValidationRegex: `^(\+|\-) [A-z0-9\.:\-*/]+( [A-z0-9/]+)?$`, ValidationRegex: `^(\+|\-) [A-z0-9\.:\-*/]+( [A-z0-9/]+)?$`,
}) })
@@ -223,6 +227,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: "filter list", config.DisplayHintAnnotation: "filter list",
config.DisplayOrderAnnotation: cfgOptionFilterListsOrder, config.DisplayOrderAnnotation: cfgOptionFilterListsOrder,
config.CategoryAnnotation: "Rules",
}, },
ValidationRegex: `^[a-zA-Z0-9\-]+$`, ValidationRegex: `^[a-zA-Z0-9\-]+$`,
}) })
@@ -243,6 +248,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionFilterCNAMEOrder, config.DisplayOrderAnnotation: cfgOptionFilterCNAMEOrder,
config.CategoryAnnotation: "DNS",
}, },
PossibleValues: status.SecurityLevelValues, PossibleValues: status.SecurityLevelValues,
}) })
@@ -263,6 +269,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionFilterSubDomainsOrder, config.DisplayOrderAnnotation: cfgOptionFilterSubDomainsOrder,
config.CategoryAnnotation: "DNS",
}, },
}) })
if err != nil { if err != nil {
@@ -283,6 +290,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionBlockScopeLocalOrder, config.DisplayOrderAnnotation: cfgOptionBlockScopeLocalOrder,
config.CategoryAnnotation: "Scopes & Types",
}, },
}) })
if err != nil { if err != nil {
@@ -302,6 +310,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionBlockScopeLANOrder, config.DisplayOrderAnnotation: cfgOptionBlockScopeLANOrder,
config.CategoryAnnotation: "Scopes & Types",
}, },
}) })
if err != nil { if err != nil {
@@ -321,6 +330,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionBlockScopeInternetOrder, config.DisplayOrderAnnotation: cfgOptionBlockScopeInternetOrder,
config.CategoryAnnotation: "Scopes & Types",
}, },
}) })
if err != nil { if err != nil {
@@ -340,6 +350,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionBlockP2POrder, config.DisplayOrderAnnotation: cfgOptionBlockP2POrder,
config.CategoryAnnotation: "Scopes & Types",
}, },
}) })
if err != nil { if err != nil {
@@ -359,6 +370,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionBlockInboundOrder, config.DisplayOrderAnnotation: cfgOptionBlockInboundOrder,
config.CategoryAnnotation: "Scopes & Types",
}, },
}) })
if err != nil { if err != nil {
@@ -379,6 +391,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionEnforceSPNOrder, config.DisplayOrderAnnotation: cfgOptionEnforceSPNOrder,
config.CategoryAnnotation: "Advanced",
}, },
}) })
if err != nil { if err != nil {
@@ -400,6 +413,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionRemoveOutOfScopeDNSOrder, config.DisplayOrderAnnotation: cfgOptionRemoveOutOfScopeDNSOrder,
config.CategoryAnnotation: "DNS",
}, },
}) })
if err != nil { if err != nil {
@@ -421,6 +435,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionRemoveBlockedDNSOrder, config.DisplayOrderAnnotation: cfgOptionRemoveBlockedDNSOrder,
config.CategoryAnnotation: "DNS",
}, },
}) })
if err != nil { if err != nil {
@@ -441,6 +456,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionDomainHeuristicsOrder, config.DisplayOrderAnnotation: cfgOptionDomainHeuristicsOrder,
config.CategoryAnnotation: "DNS",
}, },
}) })
if err != nil { if err != nil {
@@ -461,6 +477,7 @@ Examples:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.DisplayOrderAnnotation: cfgOptionPreventBypassingOrder, config.DisplayOrderAnnotation: cfgOptionPreventBypassingOrder,
config.CategoryAnnotation: "Advanced",
}, },
}) })
if err != nil { if err != nil {

View File

@@ -113,6 +113,7 @@ Parameters:
ValidationRegex: fmt.Sprintf("^(%s|%s|%s)://.*", ServerTypeDoT, ServerTypeDNS, ServerTypeTCP), ValidationRegex: fmt.Sprintf("^(%s|%s|%s)://.*", ServerTypeDoT, ServerTypeDNS, ServerTypeTCP),
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionNameServersOrder, config.DisplayOrderAnnotation: cfgOptionNameServersOrder,
config.CategoryAnnotation: "Servers",
}, },
}) })
if err != nil { if err != nil {
@@ -131,6 +132,7 @@ Parameters:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionNameserverRetryRateOrder, config.DisplayOrderAnnotation: cfgOptionNameserverRetryRateOrder,
config.UnitAnnotation: "seconds", config.UnitAnnotation: "seconds",
config.CategoryAnnotation: "Servers",
}, },
}) })
if err != nil { if err != nil {
@@ -138,25 +140,6 @@ Parameters:
} }
nameserverRetryRate = config.Concurrent.GetAsInt(CfgOptionNameserverRetryRateKey, 600) nameserverRetryRate = config.Concurrent.GetAsInt(CfgOptionNameserverRetryRateKey, 600)
err = config.Register(&config.Option{
Name: "Do not use Multicast DNS",
Key: CfgOptionNoMulticastDNSKey,
Description: "Multicast DNS queries other devices in the local network",
OptType: config.OptTypeInt,
ExpertiseLevel: config.ExpertiseLevelExpert,
ReleaseLevel: config.ReleaseLevelStable,
DefaultValue: status.SecurityLevelsHighAndExtreme,
PossibleValues: status.SecurityLevelValues,
Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionNoMulticastDNSOrder,
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
},
})
if err != nil {
return err
}
noMulticastDNS = status.SecurityLevelOption(CfgOptionNoMulticastDNSKey)
err = config.Register(&config.Option{ err = config.Register(&config.Option{
Name: "Do not use assigned Nameservers", Name: "Do not use assigned Nameservers",
Key: CfgOptionNoAssignedNameserversKey, Key: CfgOptionNoAssignedNameserversKey,
@@ -169,6 +152,7 @@ Parameters:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionNoAssignedNameserversOrder, config.DisplayOrderAnnotation: cfgOptionNoAssignedNameserversOrder,
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.CategoryAnnotation: "Servers",
}, },
}) })
if err != nil { if err != nil {
@@ -176,6 +160,26 @@ Parameters:
} }
noAssignedNameservers = status.SecurityLevelOption(CfgOptionNoAssignedNameserversKey) noAssignedNameservers = status.SecurityLevelOption(CfgOptionNoAssignedNameserversKey)
err = config.Register(&config.Option{
Name: "Do not use Multicast DNS",
Key: CfgOptionNoMulticastDNSKey,
Description: "Multicast DNS queries other devices in the local network",
OptType: config.OptTypeInt,
ExpertiseLevel: config.ExpertiseLevelExpert,
ReleaseLevel: config.ReleaseLevelStable,
DefaultValue: status.SecurityLevelsHighAndExtreme,
PossibleValues: status.SecurityLevelValues,
Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionNoMulticastDNSOrder,
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.CategoryAnnotation: "Resolving",
},
})
if err != nil {
return err
}
noMulticastDNS = status.SecurityLevelOption(CfgOptionNoMulticastDNSKey)
err = config.Register(&config.Option{ err = config.Register(&config.Option{
Name: "Do not resolve insecurely", Name: "Do not resolve insecurely",
Key: CfgOptionNoInsecureProtocolsKey, Key: CfgOptionNoInsecureProtocolsKey,
@@ -188,6 +192,7 @@ Parameters:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionNoInsecureProtocolsOrder, config.DisplayOrderAnnotation: cfgOptionNoInsecureProtocolsOrder,
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.CategoryAnnotation: "Resolving",
}, },
}) })
if err != nil { if err != nil {
@@ -207,6 +212,7 @@ Parameters:
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: cfgOptionDontResolveSpecialDomainsOrder, config.DisplayOrderAnnotation: cfgOptionDontResolveSpecialDomainsOrder,
config.DisplayHintAnnotation: status.DisplayHintSecurityLevel, config.DisplayHintAnnotation: status.DisplayHintSecurityLevel,
config.CategoryAnnotation: "Resolving",
}, },
}) })
if err != nil { if err != nil {

View File

@@ -44,6 +44,7 @@ func registerConfig() error {
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: 1, config.DisplayOrderAnnotation: 1,
config.DisplayHintAnnotation: config.DisplayHintOneOf, config.DisplayHintAnnotation: config.DisplayHintOneOf,
config.CategoryAnnotation: "Expertise & Release",
}, },
}) })
if err != nil { if err != nil {
@@ -61,6 +62,7 @@ func registerConfig() error {
DefaultValue: false, DefaultValue: false,
Annotations: config.Annotations{ Annotations: config.Annotations{
config.DisplayOrderAnnotation: 64, config.DisplayOrderAnnotation: 64,
config.CategoryAnnotation: "General",
}, },
}) })
if err != nil { if err != nil {