DragonFlyBSD Kernel Audit
DF-0706 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-0706 reachability probe — confirms the buggy ipfw3_sync lifecycle
# paths can never execute on a default kernel.
#
# We DO NOT kldunload ipfw3/ipfw3_basic afterwards: that hits a separate,
# unrelated panic in rn_flush() (radix-tree cleanup) on this master build
# and is NOT the DF-0706 bug. The module-load + opcode-fire is sufficient
# to prove the sync code paths are unreachable.
set -e
cd "$(dirname "$0")"
if ! kldstat -m 2>/dev/null | grep -q ipfw3_basic; then
    if [ "$(id -u)" = "0" ]; then
        echo "[*] loading ipfw3.ko + ipfw3_basic.ko"
        # default-to-accept so ssh survives ipfw3's default-deny
        sysctl -w net.filters_default_to_accept=1 >/dev/null 2>&1 || true
        kldload ipfw3.ko
        kldload ipfw3_basic.ko
    else
        echo "[!] ipfw3 not loaded" >&2; exit 2
    fi
fi
echo "[*] running as: $(id)"
./ipfw3_sync_lifecycle_probe
echo "RUN_EXIT=$?"