From 07159174a42af1563473dcca2f0fa0eb1b02c2f5 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Wed, 14 Jun 2023 15:17:07 +0000 Subject: [PATCH] fix(pkg/blockbuilder): make settings fields nilable --- internal/setup/block.go | 6 +++--- pkg/blockbuilder/builder.go | 6 +++--- pkg/blockbuilder/settings.go | 15 +++++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/internal/setup/block.go b/internal/setup/block.go index 6a552c7..9d6cf2a 100644 --- a/internal/setup/block.go +++ b/internal/setup/block.go @@ -12,9 +12,9 @@ func BuildBlockBuilder(userSettings settings.Block, client *http.Client) (blockBuilder *blockbuilder.Builder) { settings := blockbuilder.Settings{ Client: client, - BlockMalicious: *userSettings.BlockMalicious, - BlockAds: *userSettings.BlockAds, - BlockSurveillance: *userSettings.BlockSurveillance, + BlockMalicious: userSettings.BlockMalicious, + BlockAds: userSettings.BlockAds, + BlockSurveillance: userSettings.BlockSurveillance, } settings.AllowedHosts = make([]string, len(userSettings.AllowedHosts)) diff --git a/pkg/blockbuilder/builder.go b/pkg/blockbuilder/builder.go index 72d51ee..e504b60 100644 --- a/pkg/blockbuilder/builder.go +++ b/pkg/blockbuilder/builder.go @@ -17,9 +17,9 @@ func New(settings Settings) *Builder { return &Builder{ client: settings.Client, - blockMalicious: settings.BlockMalicious, - blockAds: settings.BlockAds, - blockSurveillance: settings.BlockSurveillance, + blockMalicious: *settings.BlockMalicious, + blockAds: *settings.BlockAds, + blockSurveillance: *settings.BlockSurveillance, allowedHosts: settings.AllowedHosts, allowedIPs: settings.AllowedIPs, allowedIPPrefixes: settings.AllowedIPPrefixes, diff --git a/pkg/blockbuilder/settings.go b/pkg/blockbuilder/settings.go index d3bc711..69910cf 100644 --- a/pkg/blockbuilder/settings.go +++ b/pkg/blockbuilder/settings.go @@ -14,9 +14,9 @@ import ( type Settings struct { Client *http.Client - BlockMalicious bool - BlockAds bool - BlockSurveillance bool + BlockMalicious *bool + BlockAds *bool + BlockSurveillance *bool AllowedHosts []string AllowedIPs []netip.Addr AllowedIPPrefixes []netip.Prefix @@ -27,6 +27,9 @@ type Settings struct { func (s *Settings) SetDefaults() { s.Client = gosettings.DefaultPointerRaw(s.Client, http.DefaultClient) + s.BlockMalicious = gosettings.DefaultPointer(s.BlockMalicious, false) + s.BlockAds = gosettings.DefaultPointer(s.BlockMalicious, false) + s.BlockSurveillance = gosettings.DefaultPointer(s.BlockMalicious, false) } var hostRegex = regexp.MustCompile(`^([a-zA-Z0-9]|[a-zA-Z0-9_][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9_])(\.([a-zA-Z0-9]|[a-zA-Z0-9_][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9]))*$`) //nolint:lll @@ -60,13 +63,13 @@ func (s *Settings) ToLinesNode() (node *gotree.Node) { node = gotree.New("Filter build settings:") var blockedCategories []string - if s.BlockMalicious { + if *s.BlockMalicious { blockedCategories = append(blockedCategories, "malicious") } - if s.BlockSurveillance { + if *s.BlockSurveillance { blockedCategories = append(blockedCategories, "surveillance") } - if s.BlockAds { + if *s.BlockAds { blockedCategories = append(blockedCategories, "ads") }