Skip to content

fix stop-time set persistence; add show routing/accounting; harden nft check fallback#1

Merged
davekempe merged 2 commits into
sol1:mainfrom
vk2amv:fix/stop-preserve-dynamic-sets-and-show-ops
Jul 13, 2026
Merged

fix stop-time set persistence; add show routing/accounting; harden nft check fallback#1
davekempe merged 2 commits into
sol1:mainfrom
vk2amv:fix/stop-preserve-dynamic-sets-and-show-ops

Conversation

@vk2amv

@vk2amv vk2amv commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds operational and robustness fixes on top of upstream 0.0.6, with local changes tracked separately in changelog as 0.0.6+local1.

Changes

  • Preserve Shorewall-referenced externally populated nft sets across shorewall stop by:
    • snapshotting set elements before stopped-state table replacement
    • keeping referenced set declarations in the stopped-state ruleset
    • restoring set elements immediately after stop ruleset load
  • Refresh the stop wrapper atomically before executing stop, with safe fallback to the last valid compiled artifact if current config cannot compile.
  • Implement shorewall show routing and shorewall6 show routing for live policy rules and route tables.
  • Add shorewall show accounting for live named counters and accounting chains.
  • Improve large-ruleset handling in shorewall check and shorewall migrate with chunked validation when single-transaction nft checks fail (for example: "Message too long").
  • Update accounting parsing/emission support to handle additional actions (COUNT and DONE) and chain-oriented accounting behavior.
  • Enhance tests to verify preservation of dynamic sets across stop/start cycles and guard against regressions.

Validation

  • python3 tests/harness/hardening-unit.py passed
  • tests/run 0041-ipset-persist passed

vk2amv added 2 commits July 11, 2026 20:48
…counting display

- Preserve externally populated nft sets across `shorewall stop` by snapshotting and restoring their elements.
- Implement `shorewall show routing` and `shorewall6 show routing` for live policy rules and route tables.
- Add `shorewall show accounting` for live named counters and accounting chains.
- Improve handling of large rulesets in `shorewall check` and `shorewall migrate` with chunked validation.
- Update accounting parsing to support new actions: COUNT and DONE.
- Enhance tests to verify preservation of dynamic sets across stop/start cycles.
@davekempe
davekempe merged commit c77a58e into sol1:main Jul 13, 2026
4 checks passed
@vk2amv
vk2amv deleted the fix/stop-preserve-dynamic-sets-and-show-ops branch July 13, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants