From 10052ea6444a82519570386e22fc02a08aa3333b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Thu, 5 Nov 2020 12:12:25 +0100 Subject: [PATCH] remote.cfg: rename userid to 'auth-id' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 0fce5bed..7ae1d244 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); } @@ -323,7 +323,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 ff59abe1..77f9746e 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 858c3acd..bf55e02c 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) { @@ -129,11 +129,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',