feat: improve reason string on db
All checks were successful
build / build (push) Successful in 3m8s
All checks were successful
build / build (push) Successful in 3m8s
This commit is contained in:
@@ -105,7 +105,7 @@ var BanCmd = &cobra.Command{
|
|||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
err = db.AddBan(ip, ttl_fw)
|
err = db.AddBan(ip, ttl_fw, "manual ban")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ func (j *Judge) Tribunal() {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
err = j.db_w.AddBan(entry.IP, rule.BanTime)
|
err = j.db_w.AddBan(entry.IP, rule.BanTime, rule.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
j.logger.Error(
|
j.logger.Error(
|
||||||
"Failed to add ban to database",
|
"Failed to add ban to database",
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ func (d *BanWriter) CreateTable() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *BanWriter) AddBan(ip string, ttl string) error {
|
func (d *BanWriter) AddBan(ip string, ttl string, reason string) error {
|
||||||
duration, err := config.ParseDurationWithYears(ttl)
|
duration, err := config.ParseDurationWithYears(ttl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
d.logger.Error("Invalid duration format", "ttl", ttl, "error", err)
|
d.logger.Error("Invalid duration format", "ttl", ttl, "error", err)
|
||||||
@@ -54,7 +54,7 @@ func (d *BanWriter) AddBan(ip string, ttl string) error {
|
|||||||
_, err = d.db.Exec(
|
_, err = d.db.Exec(
|
||||||
"INSERT INTO bans (ip, reason, banned_at, expired_at) VALUES (?, ?, ?, ?)",
|
"INSERT INTO bans (ip, reason, banned_at, expired_at) VALUES (?, ?, ?, ?)",
|
||||||
ip,
|
ip,
|
||||||
"1",
|
reason,
|
||||||
now.Format(time.RFC3339),
|
now.Format(time.RFC3339),
|
||||||
expiredAt.Format(time.RFC3339),
|
expiredAt.Format(time.RFC3339),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ func TestBanWriter_AddBan(t *testing.T) {
|
|||||||
ip := "192.168.1.1"
|
ip := "192.168.1.1"
|
||||||
ttl := "1h"
|
ttl := "1h"
|
||||||
|
|
||||||
err = writer.AddBan(ip, ttl)
|
err = writer.AddBan(ip, ttl, "test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("AddBan failed: %v", err)
|
t.Errorf("AddBan failed: %v", err)
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ func TestBanWriter_RemoveBan(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ip := "192.168.1.2"
|
ip := "192.168.1.2"
|
||||||
err = writer.AddBan(ip, "1h")
|
err = writer.AddBan(ip, "1h", "test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to add ban: %v", err)
|
t.Fatalf("Failed to add ban: %v", err)
|
||||||
}
|
}
|
||||||
@@ -111,13 +111,13 @@ func TestBanWriter_RemoveExpiredBans(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
expiredIP := "192.168.1.3"
|
expiredIP := "192.168.1.3"
|
||||||
err = writer.AddBan(expiredIP, "-1h")
|
err = writer.AddBan(expiredIP, "-1h", "tes")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to add expired ban: %v", err)
|
t.Fatalf("Failed to add expired ban: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
activeIP := "192.168.1.4"
|
activeIP := "192.168.1.4"
|
||||||
err = writer.AddBan(activeIP, "1h")
|
err = writer.AddBan(activeIP, "1h", "test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to add active ban: %v", err)
|
t.Fatalf("Failed to add active ban: %v", err)
|
||||||
}
|
}
|
||||||
@@ -181,7 +181,7 @@ func TestBanReader_IsBanned(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ip := "192.168.1.5"
|
ip := "192.168.1.5"
|
||||||
err = writer.AddBan(ip, "1h")
|
err = writer.AddBan(ip, "1h", "test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to add ban: %v", err)
|
t.Fatalf("Failed to add ban: %v", err)
|
||||||
}
|
}
|
||||||
@@ -280,7 +280,7 @@ func TestBanWriter_AddBan_InvalidDuration(t *testing.T) {
|
|||||||
t.Fatalf("Failed to create table: %v", err)
|
t.Fatalf("Failed to create table: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = writer.AddBan("192.168.1.7", "invalid_duration")
|
err = writer.AddBan("192.168.1.7", "invalid_duration", "test")
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Error("Expected error for invalid duration")
|
t.Error("Expected error for invalid duration")
|
||||||
} else if err.Error() == "" || err.Error() == "<nil>" {
|
} else if err.Error() == "" || err.Error() == "<nil>" {
|
||||||
@@ -306,7 +306,7 @@ func TestMultipleBans(t *testing.T) {
|
|||||||
ips := []string{"192.168.1.8", "192.168.1.9", "192.168.1.10"}
|
ips := []string{"192.168.1.8", "192.168.1.9", "192.168.1.10"}
|
||||||
|
|
||||||
for _, ip := range ips {
|
for _, ip := range ips {
|
||||||
err := writer.AddBan(ip, "1h")
|
err := writer.AddBan(ip, "1h", "test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Failed to add ban for IP %s: %v", ip, err)
|
t.Errorf("Failed to add ban for IP %s: %v", ip, err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user