commit 66de199b7fb5c486f85522ff33f79e4b8116f674
parent fb122b79a8e0a208972d5e75c03a16f7ee4d3ba4
Author: Peter Kosyh <p.kosyh@gmail.com>
Date: Sat, 5 Sep 2020 18:18:55 +0300
another blacklist realization
Diffstat:
| M | ii/db.go | | | 33 | +++++++++++++++++++-------------- |
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/ii/db.go b/ii/db.go
@@ -518,20 +518,22 @@ func (db *DB) Edit(m *Msg) error {
}
func (db *DB) Blacklist(m *Msg) error {
- db.Sync.Lock()
- defer db.Sync.Unlock()
- db.Lock()
- defer db.Unlock()
-
- repto, _ := m.Tag("repto")
- if repto != "" {
- repto = ":" + repto
- }
- rec := fmt.Sprintf("%s:%s:%d%s", m.MsgId, m.Echo, -1, repto)
- if err := append_file(db.IndexPath(), rec); err != nil {
- return err
- }
- return nil
+ m.Tags.Add("access/blacklist")
+ return db.Edit(m)
+
+ //db.Sync.Lock()
+ //defer db.Sync.Unlock()
+ //db.Lock()
+ //defer db.Unlock()
+ // repto, _ := m.Tag("repto")
+ // if repto != "" {
+ // repto = ":" + repto
+ // }
+ // rec := fmt.Sprintf("%s:%s:%d%s", m.MsgId, m.Echo, -1, repto)
+ // if err := append_file(db.IndexPath(), rec); err != nil {
+ // return err
+ // }
+ // return nil
}
func (db *DB) _Store(m *Msg, edit bool) error {
@@ -551,6 +553,9 @@ func (db *DB) _Store(m *Msg, edit bool) error {
if err == nil {
off = fi.Size()
}
+ if v, _ := m.Tag("access"); v == "blacklist" {
+ off = -1
+ }
if err := append_file(db.BundlePath(), m.Encode()); err != nil {
return err
}