fix: Phase 8 — mesh hardening: atomic writes, unwrap elimination, GPS opt-out

- Ratchet state: atomic write via tmp + rename to prevent corruption on crash
- Block header decode: replaced .unwrap() with proper error handling on
  untrusted network data (was a crash vector from malicious peers)
- Shutdown channel: replaced .unwrap() with .ok_or_else() error propagation
- Dead man's switch GPS: default changed to opt-out (auto_include_gps=false)
- Alert signature verification: already covered by Phase 4 envelope checks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-18 01:04:19 +00:00
co-authored by Claude Opus 4.6
parent 36a33f3575
commit d341585bed
5 changed files with 22 additions and 13 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ impl Default for AlertConfig {
dead_man_interval_secs: DEFAULT_INTERVAL_SECS,
last_gps: None,
emergency_contacts: Vec::new(),
auto_include_gps: true,
auto_include_gps: false,
custom_message: None,
}
}