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 DAD1365E9C for ; Thu, 5 Nov 2020 12:12:43 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D874717398 for ; Thu, 5 Nov 2020 12:12:43 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (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 firstgate.proxmox.com (Proxmox) with ESMTPS id 28D721738D for ; Thu, 5 Nov 2020 12:12:43 +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 B8F9445EB2 for ; Thu, 5 Nov 2020 12:12:42 +0100 (CET) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pbs-devel@lists.proxmox.com Date: Thu, 5 Nov 2020 12:12:25 +0100 Message-Id: <20201105111226.4105475-5-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201105111226.4105475-1-f.gruenbichler@proxmox.com> References: <20201105111226.4105475-1-f.gruenbichler@proxmox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.024 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [pull.rs, remote.rs, data.host] Subject: [pbs-devel] [PATCH v2 proxmox-backup 4/5] remote.cfg: rename userid to 'auth-id' 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: Thu, 05 Nov 2020 11:12:43 -0000 and fixup config file on upgrades accordingly Signed-off-by: Fabian Grünbichler --- debian/postinst | 9 +++++++++ src/api2/config/remote.rs | 10 +++++----- src/api2/pull.rs | 2 +- src/config/remote.rs | 5 +++-- www/config/RemoteView.js | 6 +++--- www/form/RemoteSelector.js | 4 ++-- www/window/RemoteEdit.js | 6 ++---- 7 files changed, 25 insertions(+), 17 deletions(-) diff --git a/debian/postinst b/debian/postinst index af5ee097..6a0cf9fd 100644 --- a/debian/postinst +++ b/debian/postinst @@ -28,6 +28,15 @@ case "$1" in if dpkg --compare-versions "$2" 'le' '0.9.5-1'; then chown --quiet backup:backup /var/log/proxmox-backup/api/auth.log || true fi + if dpkg --compare-versions "$2" 'le' '0.9.6-1'; then + if [ -e /etc/proxmox-backup/remote.cfg ]; then + echo "NOTE: Switching over remote.cfg to new field names.." + flock -w 30 /etc/proxmox-backup/.remote.lck \ + sed -i \ + -e 's/^\s\+userid /\tauth-id /g' \ + /etc/proxmox-backup/remote.cfg || true + fi + fi fi # FIXME: Remove in future version once we're sure no broken entries remain in anyone's files if grep -q -e ':termproxy::[^@]\+: ' /var/log/proxmox-backup/tasks/active; then diff --git a/src/api2/config/remote.rs b/src/api2/config/remote.rs index f053ef36..29b14472 100644 --- a/src/api2/config/remote.rs +++ b/src/api2/config/remote.rs @@ -78,7 +78,7 @@ pub fn list_remotes( optional: true, default: 8007, }, - userid: { + "auth-id": { type: Authid, }, password: { @@ -178,7 +178,7 @@ pub enum DeletableProperty { type: u16, optional: true, }, - userid: { + "auth-id": { optional: true, type: Authid, }, @@ -214,7 +214,7 @@ pub fn update_remote( comment: Option, host: Option, port: Option, - userid: Option, + auth_id: Option, password: Option, fingerprint: Option, delete: Option>, @@ -252,7 +252,7 @@ pub fn update_remote( } if let Some(host) = host { data.host = host; } if port.is_some() { data.port = port; } - if let Some(userid) = userid { data.userid = userid; } + if let Some(auth_id) = auth_id { data.auth_id = auth_id; } if let Some(password) = password { data.password = password; } if let Some(fingerprint) = fingerprint { data.fingerprint = Some(fingerprint); } @@ -312,7 +312,7 @@ pub async fn remote_client(remote: remote::Remote) -> Result let client = HttpClient::new( &remote.host, remote.port.unwrap_or(8007), - &remote.userid, + &remote.auth_id, options)?; let _auth_info = client.login() // make sure we can auth .await diff --git a/src/api2/pull.rs b/src/api2/pull.rs index 87015c72..88ce750c 100644 --- a/src/api2/pull.rs +++ b/src/api2/pull.rs @@ -50,7 +50,7 @@ pub async fn get_pull_parameters( let (remote_config, _digest) = remote::config()?; let remote: remote::Remote = remote_config.lookup("remote", remote)?; - let src_repo = BackupRepository::new(Some(remote.userid.clone()), Some(remote.host.clone()), remote.port, remote_store.to_string()); + let src_repo = BackupRepository::new(Some(remote.auth_id.clone()), Some(remote.host.clone()), remote.port, remote_store.to_string()); let client = crate::api2::config::remote::remote_client(remote).await?; diff --git a/src/config/remote.rs b/src/config/remote.rs index 14c57c0e..20fd39d4 100644 --- a/src/config/remote.rs +++ b/src/config/remote.rs @@ -44,7 +44,7 @@ pub const REMOTE_PASSWORD_SCHEMA: Schema = StringSchema::new("Password or auth t description: "The (optional) port", type: u16, }, - userid: { + "auth-id": { type: Authid, }, password: { @@ -57,6 +57,7 @@ pub const REMOTE_PASSWORD_SCHEMA: Schema = StringSchema::new("Password or auth t } )] #[derive(Serialize,Deserialize)] +#[serde(rename_all = "kebab-case")] /// Remote properties. pub struct Remote { pub name: String, @@ -65,7 +66,7 @@ pub struct Remote { pub host: String, #[serde(skip_serializing_if="Option::is_none")] pub port: Option, - pub userid: Authid, + pub auth_id: Authid, #[serde(skip_serializing_if="String::is_empty")] #[serde(with = "proxmox::tools::serde::string_as_base64")] pub password: String, diff --git a/www/config/RemoteView.js b/www/config/RemoteView.js index 685503fe..fa4c8825 100644 --- a/www/config/RemoteView.js +++ b/www/config/RemoteView.js @@ -1,6 +1,6 @@ Ext.define('pmx-remotes', { extend: 'Ext.data.Model', - fields: ['name', 'host', 'port', 'userid', 'fingerprint', 'comment', + fields: ['name', 'host', 'port', 'auth-id', 'fingerprint', 'comment', { name: 'server', calculate: function(data) { @@ -127,11 +127,11 @@ Ext.define('PBS.config.RemoteView', { dataIndex: 'server', }, { - header: gettext('User name'), + header: gettext('Auth ID'), width: 200, sortable: true, renderer: Ext.String.htmlEncode, - dataIndex: 'userid', + dataIndex: 'auth-id', }, { header: gettext('Fingerprint'), diff --git a/www/form/RemoteSelector.js b/www/form/RemoteSelector.js index 3f55ef1f..8dae6682 100644 --- a/www/form/RemoteSelector.js +++ b/www/form/RemoteSelector.js @@ -29,9 +29,9 @@ Ext.define('PBS.form.RemoteSelector', { flex: 1, }, { - header: gettext('User name'), + header: gettext('Auth ID'), sortable: true, - dataIndex: 'userid', + dataIndex: 'auth-id', renderer: Ext.String.htmlEncode, flex: 1, }, diff --git a/www/window/RemoteEdit.js b/www/window/RemoteEdit.js index 56a248e0..4a4d8114 100644 --- a/www/window/RemoteEdit.js +++ b/www/window/RemoteEdit.js @@ -5,8 +5,6 @@ Ext.define('PBS.window.RemoteEdit', { onlineHelp: 'backup_remote', - userid: undefined, - isAdd: true, subject: gettext('Remote'), @@ -93,8 +91,8 @@ Ext.define('PBS.window.RemoteEdit', { { xtype: 'proxmoxtextfield', allowBlank: false, - name: 'userid', - fieldLabel: gettext('Userid'), + name: 'auth-id', + fieldLabel: gettext('Auth ID'), }, { xtype: 'textfield', -- 2.20.1