Fix OIDC: Add default domain name to groups that are not email addresses

This commit is contained in:
Maurus Decimus
2026-06-16 21:51:48 +02:00
parent 8f627fbd69
commit 3f2c5632b8
33 changed files with 83 additions and 64 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "common"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
build = "build.rs"

View File

@@ -1,6 +1,6 @@
[package]
name = "coordinator"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "dav-proto"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "dav"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "directory"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -213,7 +213,13 @@ impl OpenIdDirectory {
.as_ref()
.and_then(|groups_claim| claims.get(groups_claim))
.map(extract_string_list)
.unwrap_or_default(),
.unwrap_or_default()
.into_iter()
.map(|group| match &self.config.default_domain {
Some(domain) if !group.contains('@') => format!("{group}@{domain}"),
_ => group,
})
.collect(),
description: self
.config
.claim_name

View File

@@ -1,6 +1,6 @@
[package]
name = "email"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "groupware"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "http_proto"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "http"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -472,9 +472,11 @@ impl ParseHttp for Server {
self.is_http_anonymous_request_allowed(session.remote_ip)
.await?;
let path_email = path.find(|segment| segment.contains('@')).map(|segment| {
percent_decode_str(segment).decode_utf8_lossy().into_owned()
});
let path_email = path
.map(|segment| {
percent_decode_str(segment).decode_utf8_lossy().into_owned()
})
.find(|segment| segment.contains('@'));
return self
.handle_autodiscover_v2_request(req.uri().query(), path_email.as_deref())

View File

@@ -1,6 +1,6 @@
[package]
name = "imap_proto"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "imap"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "jmap_proto"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "jmap"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -7,7 +7,7 @@ homepage = "https://stalw.art"
keywords = ["imap", "jmap", "smtp", "email", "mail", "webdav", "server"]
categories = ["email"]
license = "AGPL-3.0-only OR LicenseRef-SEL"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[[bin]]

View File

@@ -1,6 +1,6 @@
[package]
name = "managesieve"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "migration"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "nlp"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "pop3"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "registry"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "services"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -7,7 +7,7 @@ homepage = "https://stalw.art/smtp"
keywords = ["smtp", "email", "mail", "server"]
categories = ["email"]
license = "AGPL-3.0-only OR LicenseRef-SEL"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "spam-filter"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "store"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "trc"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "event_macro"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[lib]

View File

@@ -1,6 +1,6 @@
[package]
name = "types"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "utils"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "proc_macros"
version = "0.16.9"
version = "0.16.10"
edition = "2024"
[lib]