feat(S2): validate IMAP/SMTP hostnames against injection #25

Merged
guettlibot merged 1 commits from task/s2-hostname-validation into main 2026-05-13 21:49:34 +00:00
guettlibot commented 2026-05-13 21:46:16 +00:00 (Migrated from codeberg.org)

Summary

  • Add validateHostname and validateOptionalHostname to host_utils.dart; reject values containing @, /, \, or control characters (< 0x20 or 0x7F)
  • Wire validateHostname into IMAP and SMTP host fields in AddAccountScreen and EditAccountScreen
  • Wire validateOptionalHostname into the optional ManageSieve host field in EditAccountScreen

Test plan

  • task check-fast passes locally
  • Entering evil@host or host/path shows "Invalid hostname" inline error and blocks form submission
## Summary - Add `validateHostname` and `validateOptionalHostname` to `host_utils.dart`; reject values containing `@`, `/`, `\`, or control characters (< 0x20 or 0x7F) - Wire `validateHostname` into IMAP and SMTP host fields in `AddAccountScreen` and `EditAccountScreen` - Wire `validateOptionalHostname` into the optional ManageSieve host field in `EditAccountScreen` ## Test plan - [x] `task check-fast` passes locally - [x] Entering `evil@host` or `host/path` shows "Invalid hostname" inline error and blocks form submission
Sign in to join this conversation.