From f576564f02c7ea9011835be74b8d895d63caa8f9 Mon Sep 17 00:00:00 2001 From: anti Date: Sun, 19 Apr 2026 21:04:31 -0400 Subject: [PATCH] fix(agent): also wipe /etc/decnet during self-destruct --- decnet/agent/executor.py | 2 +- tests/swarm/test_agent_app.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/decnet/agent/executor.py b/decnet/agent/executor.py index 3fa331d..6985143 100644 --- a/decnet/agent/executor.py +++ b/decnet/agent/executor.py @@ -139,7 +139,7 @@ done # Nuke install paths. Logs under /var/log/decnet* are intentionally # preserved — the operator typically wants them for forensic review. -rm -rf /opt/decnet* /var/lib/decnet/* /usr/local/bin/decnet* +rm -rf /opt/decnet* /var/lib/decnet/* /usr/local/bin/decnet* /etc/decnet rm -f /etc/systemd/system/decnet-*.service /etc/systemd/system/decnet-*.timer systemctl daemon-reload 2>/dev/null diff --git a/tests/swarm/test_agent_app.py b/tests/swarm/test_agent_app.py index a4e9fae..1f75604 100644 --- a/tests/swarm/test_agent_app.py +++ b/tests/swarm/test_agent_app.py @@ -84,6 +84,7 @@ def test_self_destruct_spawns_reaper_and_returns_fast(monkeypatch, tmp_path) -> assert "/etc/systemd/system/decnet-" in body assert "/var/lib/decnet/*" in body assert "/usr/local/bin/decnet*" in body + assert "/etc/decnet" in body # Logs must be preserved — no `rm` line should touch /var/log. for line in body.splitlines(): stripped = line.strip()