From 51144821f98eb09dddc2120d153921d224175826 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Fri, 1 Mar 2019 06:48:41 +0100 Subject: [PATCH] src/bin/proxmox-backup-client.rs: login before starting backup --- src/bin/proxmox-backup-client.rs | 14 +++++++++----- src/client/http_client.rs | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/bin/proxmox-backup-client.rs b/src/bin/proxmox-backup-client.rs index 491cf54f..dff03f24 100644 --- a/src/bin/proxmox-backup-client.rs +++ b/src/bin/proxmox-backup-client.rs @@ -175,13 +175,10 @@ fn create_backup( }; if (stat.st_mode & libc::S_IFDIR) != 0 { - let stream = CaTarBackupStream::open(filename)?; - - let body = Body::wrap_stream(stream); let target = format!("{}.catar", target); - upload_list.push((body, filename.to_owned(), target)); + upload_list.push((filename.to_owned(), target)); } else if (stat.st_mode & (libc::S_IFREG|libc::S_IFBLK)) != 0 { if stat.st_size <= 0 { bail!("got strange file size '{}'", stat.st_size); } @@ -204,8 +201,15 @@ fn create_backup( let mut client = HttpClient::new(&repo.host, &repo.user); - for (body, filename, target) in upload_list { + client.login()?; // login before starting backup + + for (filename, target) in upload_list { println!("Upload '{}' to '{:?}'", filename, repo); + + let stream = CaTarBackupStream::open(&filename)?; + + let body = Body::wrap_stream(stream); + backup_directory(&mut client, &repo, body, &target, backup_time, chunk_size_opt)?; } diff --git a/src/client/http_client.rs b/src/client/http_client.rs index 2ca7af91..da902b15 100644 --- a/src/client/http_client.rs +++ b/src/client/http_client.rs @@ -163,7 +163,7 @@ impl HttpClient { Self::run_request(request) } - fn login(&mut self) -> Result<(String, String), Error> { + pub fn login(&mut self) -> Result<(String, String), Error> { if let Some(ref ticket) = self.ticket { if let Some(ref token) = self.token { -- 2.39.2