aboutsummaryrefslogtreecommitdiffstats
path: root/src/m_email/EMailAccountModel.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2026-09-12 16:47:36 +0200
committersaturneric <[email protected]>2026-09-12 16:47:36 +0200
commite2e2ce0d0747c56e590ef517f0cea547517341ff (patch)
tree2e698657051102f1aec6dfe1cf7b6763cf4bf611 /src/m_email/EMailAccountModel.cpp
parentchore(email): bump module version to 2.0.0 (diff)
downloadmodules-e2e2ce0d0747c56e590ef517f0cea547517341ff.tar.gz
modules-e2e2ce0d0747c56e590ef517f0cea547517341ff.zip
feat(email): enforce policy-driven mail ports
- remove persisted and editable port overrides - show read-only port hints derived from security settings - ignore legacy port values when loading accounts - remove persisted message page-size configuration - retain sent-folder override as the sole account-specific option
Diffstat (limited to 'src/m_email/EMailAccountModel.cpp')
-rw-r--r--src/m_email/EMailAccountModel.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/m_email/EMailAccountModel.cpp b/src/m_email/EMailAccountModel.cpp
index 6695a2d..4afa812 100644
--- a/src/m_email/EMailAccountModel.cpp
+++ b/src/m_email/EMailAccountModel.cpp
@@ -106,7 +106,6 @@ auto MailTransportConfig::ToJson() const -> QJsonObject {
return QJsonObject{
{"enabled", enabled},
{"host", host},
- {"port", static_cast<int>(port)},
{"tls", MailTlsModeToString(tls)},
{"username", username},
{"pinned_cert_sha256", pinned_cert_sha256},
@@ -123,8 +122,9 @@ auto MailTransportConfig::FromJson(const QJsonObject& json)
config.pinned_cert_sha256 =
json.value("pinned_cert_sha256").toString().toLower();
- const auto port = json.value("port").toInt();
- config.port = port > 0 && port <= 65535 ? static_cast<quint16>(port) : 0;
+ // A port is deliberately neither written nor read back: it is policy, not
+ // configuration. An account stored by an earlier build may still carry one,
+ // and ignoring it here is what retires the override.
// A stored cleartext mode is re-checked against the host rather than
// trusted. The file may predate the policy, or have been edited by hand;
@@ -167,7 +167,6 @@ auto MailAccountConfig::ToJson() const -> QJsonObject {
{"imap", imap.ToJson()},
{"smtp", smtp.ToJson()},
{"sent_folder_override", sent_folder_override},
- {"page_size", page_size},
};
}
@@ -182,7 +181,5 @@ auto MailAccountConfig::FromJson(const QJsonObject& json) -> MailAccountConfig {
config.smtp = MailTransportConfig::FromJson(json.value("smtp").toObject());
config.sent_folder_override =
json.value("sent_folder_override").toString().trimmed();
- config.page_size =
- MailClampPageSize(json.value("page_size").toInt(kMailDefaultPageSize));
return config;
}