summaryrefslogtreecommitdiff
path: root/crates/smtp
diff options
context:
space:
mode:
authormdecimus <mauro@stalw.art>2024-09-10 18:44:44 +0200
committermdecimus <mauro@stalw.art>2024-09-10 18:44:44 +0200
commitfbcf55d8e1891b72499fed7d5ff54964c8a2f256 (patch)
treec6f18add7f0b62ce3bb6848c1b8b9e68c4eb4e5e /crates/smtp
parent08a95ae58b451dbc2284ed7ac2d413185bc879fe (diff)
Access token permissions
Diffstat (limited to 'crates/smtp')
-rw-r--r--crates/smtp/src/inbound/auth.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/smtp/src/inbound/auth.rs b/crates/smtp/src/inbound/auth.rs
index 4e8131cd..d7ff8c24 100644
--- a/crates/smtp/src/inbound/auth.rs
+++ b/crates/smtp/src/inbound/auth.rs
@@ -5,6 +5,7 @@
*/
use common::listener::SessionStream;
+use directory::backend::internal::PrincipalField;
use mail_parser::decoders::base64::base64_decode;
use mail_send::Credentials;
use smtp_proto::{IntoString, AUTH_LOGIN, AUTH_OAUTHBEARER, AUTH_PLAIN, AUTH_XOAUTH2};
@@ -177,10 +178,10 @@ impl<T: SessionStream> Session<T> {
.await
{
Ok(principal) => {
+ let todo = "check smtp auth permissions";
self.data.authenticated_as = authenticated_as.to_lowercase();
self.data.authenticated_emails = principal
- .emails
- .into_iter()
+ .iter_str(PrincipalField::Emails)
.map(|e| e.trim().to_lowercase())
.collect();
self.eval_post_auth_params().await;