mail-mcp/crates
Kayos 6432a1f5ff audit-fix round 2: LOW-3, LOW-5, LOW-6
- LOW-3 (canonical Flag display): render_flag() pattern-matches the
  async-imap Flag enum to its IMAP wire syntax — \\Seen, \\Flagged,
  \\Deleted, etc. — instead of Debug syntax ("Seen", Custom("...")).
  Consumers checking for \\Seen now match.
- LOW-5 (schema 0=default sentinel): limit fields are now Option<u32>
  instead of bare u32 with a 0-means-default contract. JSON schema
  output is clearer; clamp_limit() still treats Some(0) the same as
  None for backwards compatibility.
- LOW-6 (config chmod gate): Config::load() now refuses to read a
  config file with group/other read bits set. Same posture as
  ssh-keygen rejecting loose private-key permissions. Refuses 0644
  cleanly; accepts 0600. Unix-only — Windows path is a no-op.

Smoke verified: loose-chmod test refuses to start with the expected
error; tight-chmod test starts and serves initialize cleanly. All
seven tools still listed with valid input schemas.
2026-05-21 07:55:43 -07:00
..
mail-mcp audit-fix round 2: LOW-3, LOW-5, LOW-6 2026-05-21 07:55:43 -07:00