From: Christoph Heiss <c.heiss@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v3 07/14] fix #5379: api-types: add `default` field to all realm types
Date: Fri, 16 Aug 2024 13:16:39 +0200 [thread overview]
Message-ID: <20240816111648.483368-8-c.heiss@proxmox.com> (raw)
In-Reply-To: <20240816111648.483368-1-c.heiss@proxmox.com>
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
---
Changes v2 -> v3:
* make `default` property deletable
Changes v1 -> v2:
* no changes
pbs-api-types/src/ad.rs | 7 +++++++
pbs-api-types/src/ldap.rs | 7 +++++++
pbs-api-types/src/openid.rs | 7 +++++++
src/api2/config/access/ad.rs | 5 +++++
src/api2/config/access/ldap.rs | 5 +++++
src/api2/config/access/openid.rs | 5 +++++
6 files changed, 36 insertions(+)
diff --git a/pbs-api-types/src/ad.rs b/pbs-api-types/src/ad.rs
index 910571a0..5c236325 100644
--- a/pbs-api-types/src/ad.rs
+++ b/pbs-api-types/src/ad.rs
@@ -16,6 +16,10 @@ use super::{
optional: true,
schema: SINGLE_LINE_COMMENT_SCHEMA,
},
+ "default": {
+ optional: true,
+ default: false,
+ },
"verify": {
optional: true,
default: false,
@@ -64,6 +68,9 @@ pub struct AdRealmConfig {
/// Comment
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
+ /// True if it should be the default realm to login in
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub default: Option<bool>,
/// Connection security
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<LdapMode>,
diff --git a/pbs-api-types/src/ldap.rs b/pbs-api-types/src/ldap.rs
index a3e0407b..79735d93 100644
--- a/pbs-api-types/src/ldap.rs
+++ b/pbs-api-types/src/ldap.rs
@@ -29,6 +29,10 @@ pub enum LdapMode {
optional: true,
schema: SINGLE_LINE_COMMENT_SCHEMA,
},
+ "default": {
+ optional: true,
+ default: false,
+ },
"verify": {
optional: true,
default: false,
@@ -75,6 +79,9 @@ pub struct LdapRealmConfig {
/// Comment
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
+ /// True if it should be the default realm to login in
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub default: Option<bool>,
/// Connection security
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<LdapMode>,
diff --git a/pbs-api-types/src/openid.rs b/pbs-api-types/src/openid.rs
index 2c95c5c6..e8ec19d9 100644
--- a/pbs-api-types/src/openid.rs
+++ b/pbs-api-types/src/openid.rs
@@ -80,6 +80,10 @@ pub const OPENID_USERNAME_CLAIM_SCHEMA: Schema = StringSchema::new(
optional: true,
schema: SINGLE_LINE_COMMENT_SCHEMA,
},
+ "default": {
+ optional: true,
+ default: false,
+ },
autocreate: {
optional: true,
default: false,
@@ -111,6 +115,9 @@ pub struct OpenIdRealmConfig {
pub client_key: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
+ /// True if it should be the default realm to login in
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub default: Option<bool>,
/// Automatically create users if they do not exist.
#[serde(skip_serializing_if = "Option::is_none")]
pub autocreate: Option<bool>,
diff --git a/src/api2/config/access/ad.rs b/src/api2/config/access/ad.rs
index c202291a..4106e0f4 100644
--- a/src/api2/config/access/ad.rs
+++ b/src/api2/config/access/ad.rs
@@ -136,6 +136,8 @@ pub enum DeletableProperty {
Port,
/// Comment
Comment,
+ /// Is default realm
+ Default,
/// Verify server certificate
Verify,
/// Mode (ldap, ldap+starttls or ldaps),
@@ -217,6 +219,9 @@ pub async fn update_ad_realm(
DeletableProperty::Comment => {
config.comment = None;
}
+ DeletableProperty::Default => {
+ config.default = None;
+ }
DeletableProperty::Port => {
config.port = None;
}
diff --git a/src/api2/config/access/ldap.rs b/src/api2/config/access/ldap.rs
index e60dc9c1..7dcf7990 100644
--- a/src/api2/config/access/ldap.rs
+++ b/src/api2/config/access/ldap.rs
@@ -171,6 +171,8 @@ pub enum DeletableProperty {
Port,
/// Comment
Comment,
+ /// Is default realm
+ Default,
/// Verify server certificate
Verify,
/// Mode (ldap, ldap+starttls or ldaps),
@@ -252,6 +254,9 @@ pub fn update_ldap_realm(
DeletableProperty::Comment => {
config.comment = None;
}
+ DeletableProperty::Default => {
+ config.default = None;
+ }
DeletableProperty::Port => {
config.port = None;
}
diff --git a/src/api2/config/access/openid.rs b/src/api2/config/access/openid.rs
index 4901880e..2fbcd1b1 100644
--- a/src/api2/config/access/openid.rs
+++ b/src/api2/config/access/openid.rs
@@ -149,6 +149,8 @@ pub enum DeletableProperty {
ClientKey,
/// Delete the comment property.
Comment,
+ /// Delete the default property.
+ Default,
/// Delete the autocreate property
Autocreate,
/// Delete the scopes property
@@ -217,6 +219,9 @@ pub fn update_openid_realm(
DeletableProperty::Comment => {
config.comment = None;
}
+ DeletableProperty::Default => {
+ config.default = None;
+ }
DeletableProperty::Autocreate => {
config.autocreate = None;
}
--
2.45.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2024-08-16 11:17 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-16 11:16 [pbs-devel] [PATCH proxmox-backup/pwt v3 00/14] fix #5379: introduce default auth realm option Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH widget-toolkit v3 01/14] window: AuthEditBase: include more information in thrown errors Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH widget-toolkit v3 02/14] panel: AuthView: make `useTypeInUrl` property per-realm Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH widget-toolkit v3 03/14] window: add panel for editing simple, built-in realms Christoph Heiss
2024-08-16 12:23 ` Gabriel Goller
2024-08-16 12:50 ` Christoph Heiss
2024-08-19 14:18 ` Hannes Laimer
2024-08-22 15:19 ` Christoph Heiss
2024-08-23 6:41 ` Hannes Laimer
2024-08-23 10:23 ` Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH widget-toolkit v3 04/14] schema: make PAM realm editable using new AuthSimple panel Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH widget-toolkit v3 05/14] fix #5379: panel: AuthView: add column displaying whether the realm is default Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH widget-toolkit v3 06/14] fix #5379: window: AuthEdit{LDAP, OpenId}: add 'Default realm' checkbox Christoph Heiss
2024-08-16 11:16 ` Christoph Heiss [this message]
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 08/14] fix #5379: api2: access: set default realm accordingly on individual update Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 09/14] api-types: introduce proper types for PAM and PBS realms Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 10/14] config: use new dedicated PAM and PBS realm types Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 11/14] api2: access: add update support for built-in PAM realm Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 12/14] api2: access: add update support for built-in PBS realm Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 13/14] www: AccessControl: make `useTypeInUrl` property per-realm Christoph Heiss
2024-08-16 11:16 ` [pbs-devel] [PATCH proxmox-backup v3 14/14] www: utils: make built-in pbs realm editable using new AuthSimplePanel Christoph Heiss
2024-08-19 14:19 ` [pbs-devel] [PATCH proxmox-backup/pwt v3 00/14] fix #5379: introduce default auth realm option Hannes Laimer
2024-08-23 11:45 ` Christoph Heiss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240816111648.483368-8-c.heiss@proxmox.com \
--to=c.heiss@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.