Commit graph

23 commits

Author SHA1 Message Date
ppom
645d72ac1e
.gitignore cleanup 2026-02-12 12:00:00 +01:00
ppom
a8651bf2e0
Removal of nft46 and ip46tables 2026-02-11 12:00:00 +01:00
ppom
3a6260fa26
reaction-plugin-ipset: first work session 2026-02-09 12:00:00 +01:00
ppom
22125dfd53
First plugin shot 2025-12-07 12:00:00 +01:00
ppom
04e3fb3e28
unit tests passing. handle_order in e2e tests panicing
panic because of two read transactions open in same thread.
Don't know if I will fix this with txns without tls
or if i'll find another way
2025-05-28 12:00:00 +02:00
ppom
9569421336 Move ActionManager's logic to FilterManager
I realized that already-ran actions where not run on startup.
This is a problem because reaction is expected to ban, then unban.
On startup it runs already ran action with have a still-to-be run action
with an after directive.

So the solution to this problem has been to move the action execution
logic to the filter manager, which have a coherent view of all the
action set of a filter.

I also changed how pending actions are run on exit:
- Before, pending tasks would be left out by the runtime quitting, and
  now tasks would run to exec them
- Now, pending tasks are woken up by a global CancellationToken.
  This token also replace the shutdown channel.
  The daemon/mod.rs then waits for all the tasks to complete via an
  empty mpsc channel.

TODO
Add the (Match, Time) to triggers only if longuest_action_duration is
non-zero.
Then spawn a task that will remove past self.triggers (Match, Time) after
longuest_action_duration time.
2025-02-13 12:00:00 +01:00
ppom
8579e30890 test infrastructure, new conf's state_directory, less deps
reaction's configuration now has a state_directory optional member,
which is where it will save its databases. defaults to cwd.

added a lot of code necessary to properly test databases.
The new tests are currently failing, which is good : they'll permit
to hunt down this database consistency bug.

also removed some indirect dependencies via features removal,
and moved test dependencies to dedicated [dev-dependencies]

also small fix on an nft46.c function type and empty conf file
for ccls LSP server.
2024-11-13 12:00:00 +01:00
ppom
4b8d6e8168 Fix db migration glue script 2024-10-24 12:00:00 +02:00
ppom
3dd97523fd Move new rust codebase to root dir 2024-10-24 12:00:00 +02:00
ppom
b8f037352c Add import & export scripts 2024-10-24 12:00:00 +02:00
ppom
0fb870f5be Fix time ambiguity bug 2024-10-24 12:00:00 +02:00
Luc Didry
2b548ffb11
📦👷 — Build better deb package in release.sh + test building in CI 2024-04-03 16:16:53 +02:00
ppom
c076177d2b release.sh & Makefile: add nft46 2024-02-07 12:00:00 +01:00
ppom
bff697dc17 Add support for nftables 2024-02-05 12:00:00 +01:00
ppom
9ce589b07d Now signing release assets. fix #54 2024-01-04 12:00:00 +01:00
ppom
592b60172a Add rm -f deb folder that can stay around when make fails 2024-01-04 12:00:00 +01:00
Luc Didry
9d847657d1
📦 — Add a make target for Debian packaging 2023-12-20 15:56:39 +01:00
ppom
7afe7e9b6f update IP regex
see https://framagit.org/ppom/reaction-wiki/-/issues/13
2023-12-20 12:00:00 +01:00
ppom
92e07f5fe6 ip46tables
wrote `ip46tables` C minimal program to handle both ipv4 and ipv6 at the same time.
fix #22
2023-10-05 12:00:00 +02:00
ppom
1cb0562e15 persist flushes accross restarts. fixes #23 2023-09-09 19:32:23 +02:00
ppom
799ba88823 New unified CLI design
fixes #25
thanks @bertille-ddp for comments && suggestions!
2023-09-03 12:13:18 +02:00
ppom
addff0f3c1 Standardize go project structure 2023-05-05 12:53:10 +02:00
ppom
a2be5a566c Working log code
Closes #7 #17
2023-04-27 10:42:19 +02:00