* [pbs-devel] [PATCH proxmox-backup] fix ipv6 handling for remotes/sync jobs
@ 2020-09-30 11:23 Dominik Csapak
2020-09-30 11:44 ` [pbs-devel] applied: " Dietmar Maurer
0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2020-09-30 11:23 UTC (permalink / raw)
To: pbs-devel
* add square brackets to ipv6 adresses in BackupRepository if they not
already have some (we save them without in the remote config)
* in get_pull_parameters, we now create a BackupRepository first and use
those values (which does the [] mapping), this also has the advantage
that we have one place less were we hardcode 8007 as port
* in the ui, add square brackets for ipv6 adresses for remotes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
src/api2/pull.rs | 5 +++--
src/client/backup_repo.rs | 6 ++++++
www/config/RemoteView.js | 3 +++
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/api2/pull.rs b/src/api2/pull.rs
index 3edbdf2f..c78658b5 100644
--- a/src/api2/pull.rs
+++ b/src/api2/pull.rs
@@ -55,12 +55,13 @@ pub async fn get_pull_parameters(
.password(Some(remote.password.clone()))
.fingerprint(remote.fingerprint.clone());
- let client = HttpClient::new(&remote.host, remote.port.unwrap_or(8007), &remote.userid, options)?;
+ let src_repo = BackupRepository::new(Some(remote.userid.clone()), Some(remote.host.clone()), remote.port, remote_store.to_string());
+
+ let client = HttpClient::new(&src_repo.host(), src_repo.port(), &src_repo.user(), options)?;
let _auth_info = client.login() // make sure we can auth
.await
.map_err(|err| format_err!("remote connection to '{}' failed - {}", remote.host, err))?;
- let src_repo = BackupRepository::new(Some(remote.userid), Some(remote.host), remote.port, remote_store.to_string());
Ok((client, src_repo, tgt_store))
}
diff --git a/src/client/backup_repo.rs b/src/client/backup_repo.rs
index 862e93af..c33314bf 100644
--- a/src/client/backup_repo.rs
+++ b/src/client/backup_repo.rs
@@ -28,6 +28,12 @@ pub struct BackupRepository {
impl BackupRepository {
pub fn new(user: Option<Userid>, host: Option<String>, port: Option<u16>, store: String) -> Self {
+ let host = match host {
+ Some(host) if (IP_V6_REGEX.regex_obj)().is_match(&host) => {
+ Some(format!("[{}]", host))
+ },
+ other => other,
+ };
Self { user, host, port, store }
}
diff --git a/www/config/RemoteView.js b/www/config/RemoteView.js
index a804e5d6..96788fc7 100644
--- a/www/config/RemoteView.js
+++ b/www/config/RemoteView.js
@@ -6,6 +6,9 @@ Ext.define('pmx-remotes', {
calculate: function(data) {
let host = data.host || "localhost";
let port = data.port || "8007";
+ if (Proxmox.Utils.IP64_match.test(host)) {
+ host = `[${host}]`;
+ }
return `${host}:${port}`;
}
}
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pbs-devel] applied: [PATCH proxmox-backup] fix ipv6 handling for remotes/sync jobs
2020-09-30 11:23 [pbs-devel] [PATCH proxmox-backup] fix ipv6 handling for remotes/sync jobs Dominik Csapak
@ 2020-09-30 11:44 ` Dietmar Maurer
0 siblings, 0 replies; 2+ messages in thread
From: Dietmar Maurer @ 2020-09-30 11:44 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Dominik Csapak
applied
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-09-30 11:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-30 11:23 [pbs-devel] [PATCH proxmox-backup] fix ipv6 handling for remotes/sync jobs Dominik Csapak
2020-09-30 11:44 ` [pbs-devel] applied: " Dietmar Maurer
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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal