diff options
Diffstat (limited to 'internal/config')
-rw-r--r-- | internal/config/config.go | 1 | ||||
-rw-r--r-- | internal/config/defaults.go | 1 | ||||
-rw-r--r-- | internal/config/flags.go | 1 | ||||
-rw-r--r-- | internal/config/helpers.gen.go | 25 |
4 files changed, 28 insertions, 0 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index a4cd83227..292b6b7ee 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -78,6 +78,7 @@ type Configuration struct { WebAssetBaseDir string `name:"web-asset-base-dir" usage:"Directory to serve static assets from, accessible at example.org/assets/"` InstanceFederationMode string `name:"instance-federation-mode" usage:"Set instance federation mode."` + InstanceFederationSpamFilter bool `name:"instance-federation-spam-filter" usage:"Enable basic spam filter heuristics for messages coming from other instances, and drop messages identified as spam"` InstanceExposePeers bool `name:"instance-expose-peers" usage:"Allow unauthenticated users to query /api/v1/instance/peers?filter=open"` InstanceExposeSuspended bool `name:"instance-expose-suspended" usage:"Expose suspended instances via web UI, and allow unauthenticated users to query /api/v1/instance/peers?filter=suspended"` InstanceExposeSuspendedWeb bool `name:"instance-expose-suspended-web" usage:"Expose list of suspended instances as webpage on /about/suspended"` diff --git a/internal/config/defaults.go b/internal/config/defaults.go index a8343400b..78474539f 100644 --- a/internal/config/defaults.go +++ b/internal/config/defaults.go @@ -59,6 +59,7 @@ var Defaults = Configuration{ WebAssetBaseDir: "./web/assets/", InstanceFederationMode: InstanceFederationModeDefault, + InstanceFederationSpamFilter: false, InstanceExposePeers: false, InstanceExposeSuspended: false, InstanceExposeSuspendedWeb: false, diff --git a/internal/config/flags.go b/internal/config/flags.go index ae8a3ba36..516ba0101 100644 --- a/internal/config/flags.go +++ b/internal/config/flags.go @@ -84,6 +84,7 @@ func (s *ConfigState) AddServerFlags(cmd *cobra.Command) { // Instance cmd.Flags().String(InstanceFederationModeFlag(), cfg.InstanceFederationMode, fieldtag("InstanceFederationMode", "usage")) + cmd.Flags().Bool(InstanceFederationSpamFilterFlag(), cfg.InstanceFederationSpamFilter, fieldtag("InstanceFederationSpamFilter", "usage")) cmd.Flags().Bool(InstanceExposePeersFlag(), cfg.InstanceExposePeers, fieldtag("InstanceExposePeers", "usage")) cmd.Flags().Bool(InstanceExposeSuspendedFlag(), cfg.InstanceExposeSuspended, fieldtag("InstanceExposeSuspended", "usage")) cmd.Flags().Bool(InstanceExposeSuspendedWebFlag(), cfg.InstanceExposeSuspendedWeb, fieldtag("InstanceExposeSuspendedWeb", "usage")) diff --git a/internal/config/helpers.gen.go b/internal/config/helpers.gen.go index 0379a541b..9549d67c1 100644 --- a/internal/config/helpers.gen.go +++ b/internal/config/helpers.gen.go @@ -775,6 +775,31 @@ func GetInstanceFederationMode() string { return global.GetInstanceFederationMod // SetInstanceFederationMode safely sets the value for global configuration 'InstanceFederationMode' field func SetInstanceFederationMode(v string) { global.SetInstanceFederationMode(v) } +// GetInstanceFederationSpamFilter safely fetches the Configuration value for state's 'InstanceFederationSpamFilter' field +func (st *ConfigState) GetInstanceFederationSpamFilter() (v bool) { + st.mutex.RLock() + v = st.config.InstanceFederationSpamFilter + st.mutex.RUnlock() + return +} + +// SetInstanceFederationSpamFilter safely sets the Configuration value for state's 'InstanceFederationSpamFilter' field +func (st *ConfigState) SetInstanceFederationSpamFilter(v bool) { + st.mutex.Lock() + defer st.mutex.Unlock() + st.config.InstanceFederationSpamFilter = v + st.reloadToViper() +} + +// InstanceFederationSpamFilterFlag returns the flag name for the 'InstanceFederationSpamFilter' field +func InstanceFederationSpamFilterFlag() string { return "instance-federation-spam-filter" } + +// GetInstanceFederationSpamFilter safely fetches the value for global configuration 'InstanceFederationSpamFilter' field +func GetInstanceFederationSpamFilter() bool { return global.GetInstanceFederationSpamFilter() } + +// SetInstanceFederationSpamFilter safely sets the value for global configuration 'InstanceFederationSpamFilter' field +func SetInstanceFederationSpamFilter(v bool) { global.SetInstanceFederationSpamFilter(v) } + // GetInstanceExposePeers safely fetches the Configuration value for state's 'InstanceExposePeers' field func (st *ConfigState) GetInstanceExposePeers() (v bool) { st.mutex.RLock() |