- Add EXIT trap so cleanup runs on success AND failure
- Replace Unix-only lsof with cross-platform kill_by_port that tries
lsof, netstat+taskkill, and fuser with graceful fallbacks
- Add kill_process helper for OS-aware PID termination
- Track all PIDs (connector, listener, target) for reliable cleanup
- Clean up temp credential directory on exit
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
The 'Invalid command fails' and 'Invalid port fails' smoke test steps use
bash if/then/fi syntax that fails on Windows runners (default pwsh shell).
Explicitly setting shell: bash makes these steps portable across the
Windows/Linux/macOS CI matrix.
- Make CI smoke commands Windows-aware by using OS-neutral cargo run invocations
- Replace masked negative smoke checks (|| true) with explicit non-zero assertions
- Remove Cargo.lock from .gitignore and track for binary reproducibility
- Strengthen secret redaction to eliminate stable first/last character leakage
- Remove readme field from Cargo.toml that referenced a missing README.md