The blocklist import service targets a dedicated jail called 'blocklist-import' (BLOCKLIST_JAIL constant in blocklist_service.py), but that jail was never defined in the dev fail2ban configuration. Every import attempt immediately failed with UnknownJailException. Add Docker/fail2ban-dev-config/fail2ban/jail.d/blocklist-import.conf: a manual-ban jail with no log-based detection that accepts banip commands only, using iptables-allports with a 1-week bantime. Also track the new file in .gitignore (whitelist) and fix a pre-existing blank-line-with-whitespace lint error in setup_service.py.
25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# BanGUI — Task List
|
|
|
|
This document breaks the entire BanGUI project into development stages, ordered so that each stage builds on the previous one. Every task is described in prose with enough detail for a developer to begin work. References point to the relevant documentation.
|
|
|
|
---
|
|
|
|
## ✅ fix: blocklist import — Jail not found (DONE)
|
|
|
|
**Problem:** Triggering a blocklist import failed with `Jail not found: 'blocklist-import'` because
|
|
the dedicated fail2ban jail did not exist in the dev configuration.
|
|
|
|
**Root cause:** `Docker/fail2ban-dev-config/fail2ban/jail.d/` had no `blocklist-import.conf` jail.
|
|
The service code (`blocklist_service.BLOCKLIST_JAIL = "blocklist-import"`) is correct, but the
|
|
matching jail was never defined.
|
|
|
|
**Fix:**
|
|
- Added `Docker/fail2ban-dev-config/fail2ban/jail.d/blocklist-import.conf` — a manual-ban jail
|
|
(no log monitoring; accepts `banip` commands only; 1-week bantime; `iptables-allports` action).
|
|
- Fixed pre-existing trailing-whitespace lint issue in `app/services/setup_service.py`.
|
|
|
|
**Verification:** All 19 blocklist service tests pass. `ruff check` and `mypy --strict` are clean.
|
|
|
|
---
|
|
|