From 783e88c2df600675ccc98b4a99bfbe1c4d18f55e Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Tue, 28 Mar 2023 19:02:46 +0200 Subject: [PATCH] cli: manager, tape, debug: avoid setting up auth context for printdoc as otherwise build fails in a clean environment, where no API auth key is available. This whole printdoc command injection is quite ugly and causes headache in general though, we'd be better off if we could do away with that.. Signed-off-by: Thomas Lamprecht --- src/bin/proxmox-backup-debug.rs | 5 ++++- src/bin/proxmox-backup-manager.rs | 4 +++- src/bin/proxmox-tape.rs | 5 ++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/bin/proxmox-backup-debug.rs b/src/bin/proxmox-backup-debug.rs index f1a76af1..df8969a9 100644 --- a/src/bin/proxmox-backup-debug.rs +++ b/src/bin/proxmox-backup-debug.rs @@ -23,7 +23,10 @@ fn main() { let mut rpcenv = CliEnvironment::new(); rpcenv.set_auth_id(Some(format!("{}@pam", username))); - proxmox_backup::auth_helpers::setup_auth_context(true); + let args: Vec = std::env::args().take(2).collect(); + if args.len() < 2 || args[1] != "printdoc" { + proxmox_backup::auth_helpers::setup_auth_context(true); + } run_cli_command( cmd_def, diff --git a/src/bin/proxmox-backup-manager.rs b/src/bin/proxmox-backup-manager.rs index 66a4ce76..665d4b5f 100644 --- a/src/bin/proxmox-backup-manager.rs +++ b/src/bin/proxmox-backup-manager.rs @@ -490,7 +490,9 @@ async fn run() -> Result<(), Error> { let mut rpcenv = CliEnvironment::new(); rpcenv.set_auth_id(Some(String::from("root@pam"))); - proxmox_backup::auth_helpers::setup_auth_context(true); + if args.len() < 2 || args[1] != "printdoc" { + proxmox_backup::auth_helpers::setup_auth_context(true); + } run_async_cli_command(cmd_def, rpcenv).await; // this call exit(-1) on error diff --git a/src/bin/proxmox-tape.rs b/src/bin/proxmox-tape.rs index 8e2103d0..7ed91850 100644 --- a/src/bin/proxmox-tape.rs +++ b/src/bin/proxmox-tape.rs @@ -1113,7 +1113,10 @@ fn main() { let mut rpcenv = CliEnvironment::new(); rpcenv.set_auth_id(Some(String::from("root@pam"))); - proxmox_backup::auth_helpers::setup_auth_context(true); + let args: Vec = std::env::args().take(2).collect(); + if args.len() < 2 || args[1] != "printdoc" { + proxmox_backup::auth_helpers::setup_auth_context(true); + } proxmox_async::runtime::main(run_async_cli_command(cmd_def, rpcenv)); }