make banlist consistent, fixes #54

This commit is contained in:
Aine
2022-12-14 00:35:15 +02:00
parent fcd6110790
commit 2ac6c64d13
2 changed files with 13 additions and 5 deletions

View File

@@ -119,12 +119,14 @@ func (b *Bot) IsTrusted(addr net.Addr) bool {
} }
} }
b.log.Debug("address %s is NOT trusted", ip)
return false return false
} }
// Ban an address // Ban an address
func (b *Bot) Ban(addr net.Addr) { func (b *Bot) Ban(addr net.Addr) {
if !b.cfg.BanlistEnalbed() {
return
}
if b.IsTrusted(addr) { if b.IsTrusted(addr) {
return return
} }

View File

@@ -1,8 +1,6 @@
package config package config
import ( import (
"fmt"
"gitlab.com/etke.cc/go/logger" "gitlab.com/etke.cc/go/logger"
"gitlab.com/etke.cc/linkpearl" "gitlab.com/etke.cc/linkpearl"
"maunium.net/go/mautrix/id" "maunium.net/go/mautrix/id"
@@ -32,15 +30,23 @@ func New(lp *linkpearl.Linkpearl, log *logger.Logger) *Manager {
return m return m
} }
// BanlistEnalbed or not
func (m *Manager) BanlistEnalbed() bool {
return m.ble
}
// GetBot config // GetBot config
func (m *Manager) GetBot() Bot { func (m *Manager) GetBot() Bot {
config, err := m.lp.GetAccountData(acBotKey) var err error
var config Bot
config, err = m.lp.GetAccountData(acBotKey)
if err != nil { if err != nil {
m.log.Error("cannot get bot settings: %v", utils.UnwrapError(err)) m.log.Error("cannot get bot settings: %v", utils.UnwrapError(err))
} }
if config == nil { if config == nil {
config = make(Bot, 0) config = make(Bot, 0)
} }
m.ble = config.BanlistEnabled()
return config return config
} }
@@ -88,7 +94,7 @@ func (m *Manager) GetBanlist() List {
// SetBanlist config // SetBanlist config
func (m *Manager) SetBanlist(cfg List) error { func (m *Manager) SetBanlist(cfg List) error {
if !m.ble { if !m.ble {
return fmt.Errorf("banlist is disabled, kupo") return nil
} }
m.mu.Lock("banlist") m.mu.Lock("banlist")