From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 4B5CE69575 for ; Wed, 23 Mar 2022 14:09:57 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 424D227324 for ; Wed, 23 Mar 2022 14:09:57 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 2990027310 for ; Wed, 23 Mar 2022 14:09:56 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 820D846F77 for ; Wed, 23 Mar 2022 14:01:17 +0100 (CET) From: Matthias Heiserer To: pbs-devel@lists.proxmox.com Date: Wed, 23 Mar 2022 14:01:09 +0100 Message-Id: <20220323130111.2552347-1-m.heiserer@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.007 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pbs-devel] [PATCH proxmox-backup 1/3] fix #3939: add default-realm field to node config X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2022 13:09:57 -0000 This is probably not ideal, but I like it better than storing the default value in the domains config, especially as pam and pbs auth are hardcoded in the domains endpoint. Signed-off-by: Matthias Heiserer --- pbs-api-types/src/lib.rs | 2 +- src/api2/node/config.rs | 4 ++++ src/config/node.rs | 12 ++++++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pbs-api-types/src/lib.rs b/pbs-api-types/src/lib.rs index 421566f7..e1544d76 100644 --- a/pbs-api-types/src/lib.rs +++ b/pbs-api-types/src/lib.rs @@ -59,7 +59,7 @@ pub use userid::Userid; pub use userid::{Realm, RealmRef}; pub use userid::{Tokenname, TokennameRef}; pub use userid::{Username, UsernameRef}; -pub use userid::{PROXMOX_GROUP_ID_SCHEMA, PROXMOX_TOKEN_ID_SCHEMA, PROXMOX_TOKEN_NAME_SCHEMA}; +pub use userid::{PROXMOX_GROUP_ID_SCHEMA, PROXMOX_TOKEN_ID_SCHEMA, PROXMOX_TOKEN_NAME_SCHEMA, PROXMOX_AUTH_REALM_SCHEMA}; #[macro_use] mod user; diff --git a/src/api2/node/config.rs b/src/api2/node/config.rs index 3b267adc..068d54ca 100644 --- a/src/api2/node/config.rs +++ b/src/api2/node/config.rs @@ -66,6 +66,8 @@ pub enum DeletableProperty { default_lang, /// Delete any description description, + /// Delete the default-realm property. + default_realm, } #[api( @@ -127,6 +129,7 @@ pub fn update_node_config( DeletableProperty::ciphers_tls_1_2 => { config.ciphers_tls_1_2 = None; }, DeletableProperty::default_lang => { config.default_lang = None; }, DeletableProperty::description => { config.description = None; }, + DeletableProperty::default_realm => { config.default_realm = None; }, } } } @@ -143,6 +146,7 @@ pub fn update_node_config( if update.ciphers_tls_1_2.is_some() { config.ciphers_tls_1_2 = update.ciphers_tls_1_2; } if update.default_lang.is_some() { config.default_lang = update.default_lang; } if update.description.is_some() { config.description = update.description; } + if update.default_realm.is_some() { config.default_realm = update.default_realm; } crate::config::node::save_config(&config)?; diff --git a/src/config/node.rs b/src/config/node.rs index ac6774e3..c6f2e50d 100644 --- a/src/config/node.rs +++ b/src/config/node.rs @@ -10,7 +10,7 @@ use proxmox_http::ProxyConfig; use pbs_api_types::{ EMAIL_SCHEMA, MULTI_LINE_COMMENT_SCHEMA, OPENSSL_CIPHERS_TLS_1_2_SCHEMA, - OPENSSL_CIPHERS_TLS_1_3_SCHEMA, + OPENSSL_CIPHERS_TLS_1_3_SCHEMA, PROXMOX_AUTH_REALM_SCHEMA }; use pbs_buildcfg::configdir; @@ -175,7 +175,11 @@ pub enum Translation { "description" : { optional: true, schema: MULTI_LINE_COMMENT_SCHEMA, - } + }, + "default-realm": { + schema: PROXMOX_AUTH_REALM_SCHEMA, + optional: true, + }, }, )] #[derive(Deserialize, Serialize, Updater)] @@ -222,6 +226,10 @@ pub struct NodeConfig { /// Node description #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, + + /// Default realm for authenticating + #[serde(skip_serializing_if = "Option::is_none")] + pub default_realm: Option, } impl NodeConfig { -- 2.30.2