diff options
author | 2023-01-25 18:06:41 +0100 | |
---|---|---|
committer | 2023-01-25 18:06:41 +0100 | |
commit | 17eecfb6d9f50821d7822d60fa4135d59ea5ca57 (patch) | |
tree | 26796a658eb1b05e27c34ec23c2fc8030ffb4458 /internal/config | |
parent | [feature] Accept incoming federated Flag activity (#1382) (diff) | |
download | gotosocial-17eecfb6d9f50821d7822d60fa4135d59ea5ca57.tar.xz |
[feature] Public list of suspended domains (#1362)
* basic rendered domain blocklist (unauthenticated!)
* style basic domain block list
* better formatting for domain blocklist
* add opt-in config option for showing suspended domains
* format/linter
* re-use InstancePeersGet for web-accessible domain blocklist
* reword explanation, border styling
* always attach blocklist handler, update error message
* domain blocklist error message grammar
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 c28cfe419..472e7b93d 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -76,6 +76,7 @@ type Configuration struct { 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"` InstanceExposePublicTimeline bool `name:"instance-expose-public-timeline" usage:"Allow unauthenticated users to query /api/v1/timelines/public"` InstanceDeliverToSharedInboxes bool `name:"instance-deliver-to-shared-inboxes" usage:"Deliver federated messages to shared inboxes, if they're available."` diff --git a/internal/config/defaults.go b/internal/config/defaults.go index 3cd1a3ed3..ecd32be2f 100644 --- a/internal/config/defaults.go +++ b/internal/config/defaults.go @@ -58,6 +58,7 @@ var Defaults = Configuration{ InstanceExposePeers: false, InstanceExposeSuspended: false, + InstanceExposeSuspendedWeb: false, InstanceDeliverToSharedInboxes: true, AccountsRegistrationOpen: true, diff --git a/internal/config/flags.go b/internal/config/flags.go index a0fde3eed..a21f17f53 100644 --- a/internal/config/flags.go +++ b/internal/config/flags.go @@ -78,6 +78,7 @@ func (s *ConfigState) AddServerFlags(cmd *cobra.Command) { // Instance 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")) cmd.Flags().Bool(InstanceDeliverToSharedInboxesFlag(), cfg.InstanceDeliverToSharedInboxes, fieldtag("InstanceDeliverToSharedInboxes", "usage")) // Accounts diff --git a/internal/config/helpers.gen.go b/internal/config/helpers.gen.go index 1da2ff42c..3560c566a 100644 --- a/internal/config/helpers.gen.go +++ b/internal/config/helpers.gen.go @@ -724,6 +724,31 @@ func GetInstanceExposeSuspended() bool { return global.GetInstanceExposeSuspende // SetInstanceExposeSuspended safely sets the value for global configuration 'InstanceExposeSuspended' field func SetInstanceExposeSuspended(v bool) { global.SetInstanceExposeSuspended(v) } +// GetInstanceExposeSuspendedWeb safely fetches the Configuration value for state's 'InstanceExposeSuspendedWeb' field +func (st *ConfigState) GetInstanceExposeSuspendedWeb() (v bool) { + st.mutex.Lock() + v = st.config.InstanceExposeSuspendedWeb + st.mutex.Unlock() + return +} + +// SetInstanceExposeSuspendedWeb safely sets the Configuration value for state's 'InstanceExposeSuspendedWeb' field +func (st *ConfigState) SetInstanceExposeSuspendedWeb(v bool) { + st.mutex.Lock() + defer st.mutex.Unlock() + st.config.InstanceExposeSuspendedWeb = v + st.reloadToViper() +} + +// InstanceExposeSuspendedWebFlag returns the flag name for the 'InstanceExposeSuspendedWeb' field +func InstanceExposeSuspendedWebFlag() string { return "instance-expose-suspended-web" } + +// GetInstanceExposeSuspendedWeb safely fetches the value for global configuration 'InstanceExposeSuspendedWeb' field +func GetInstanceExposeSuspendedWeb() bool { return global.GetInstanceExposeSuspendedWeb() } + +// SetInstanceExposeSuspendedWeb safely sets the value for global configuration 'InstanceExposeSuspendedWeb' field +func SetInstanceExposeSuspendedWeb(v bool) { global.SetInstanceExposeSuspendedWeb(v) } + // GetInstanceExposePublicTimeline safely fetches the Configuration value for state's 'InstanceExposePublicTimeline' field func (st *ConfigState) GetInstanceExposePublicTimeline() (v bool) { st.mutex.Lock() |