From 75442e813ec30a7377815999998681bd27231ada Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 11 Oct 2021 14:14:32 +0200 Subject: [PATCH] api daemons: fix sending log-reopen command send_command serializes everything so it cannot be used to send a raw, optimized command. Normally that means we get an error like > 'unable to parse parameters (expected json object)' when used that way. Switch over to send_raw_command which does not re-serializes the command. Fixes: 45b8a032 ("refactor send_command") Signed-off-by: Dominik Csapak Signed-off-by: Thomas Lamprecht --- src/bin/proxmox-backup-proxy.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs index a4841740..4bdb8ce9 100644 --- a/src/bin/proxmox-backup-proxy.rs +++ b/src/bin/proxmox-backup-proxy.rs @@ -855,11 +855,11 @@ async fn command_reopen_access_logfiles() -> Result<(), Error> { // only care about the most recent daemon instance for each, proxy & api, as other older ones // should not respond to new requests anyway, but only finish their current one and then exit. let sock = proxmox_rest_server::our_ctrl_sock(); - let f1 = proxmox_rest_server::send_command(sock, "{\"command\":\"api-access-log-reopen\"}\n"); + let f1 = proxmox_rest_server::send_raw_command(sock, "{\"command\":\"api-access-log-reopen\"}\n"); let pid = proxmox_rest_server::read_pid(pbs_buildcfg::PROXMOX_BACKUP_API_PID_FN)?; let sock = proxmox_rest_server::ctrl_sock_from_pid(pid); - let f2 = proxmox_rest_server::send_command(sock, "{\"command\":\"api-access-log-reopen\"}\n"); + let f2 = proxmox_rest_server::send_raw_command(sock, "{\"command\":\"api-access-log-reopen\"}\n"); match futures::join!(f1, f2) { (Err(e1), Err(e2)) => Err(format_err!("reopen commands failed, proxy: {}; api: {}", e1, e2)), @@ -873,11 +873,11 @@ async fn command_reopen_auth_logfiles() -> Result<(), Error> { // only care about the most recent daemon instance for each, proxy & api, as other older ones // should not respond to new requests anyway, but only finish their current one and then exit. let sock = proxmox_rest_server::our_ctrl_sock(); - let f1 = proxmox_rest_server::send_command(sock, "{\"command\":\"api-auth-log-reopen\"}\n"); + let f1 = proxmox_rest_server::send_raw_command(sock, "{\"command\":\"api-auth-log-reopen\"}\n"); let pid = proxmox_rest_server::read_pid(pbs_buildcfg::PROXMOX_BACKUP_API_PID_FN)?; let sock = proxmox_rest_server::ctrl_sock_from_pid(pid); - let f2 = proxmox_rest_server::send_command(sock, "{\"command\":\"api-auth-log-reopen\"}\n"); + let f2 = proxmox_rest_server::send_raw_command(sock, "{\"command\":\"api-auth-log-reopen\"}\n"); match futures::join!(f1, f2) { (Err(e1), Err(e2)) => Err(format_err!("reopen commands failed, proxy: {}; api: {}", e1, e2)),