From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 4256774B7B for ; Mon, 11 Oct 2021 14:14:34 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 4082C201BC for ; Mon, 11 Oct 2021 14:14:34 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id A0EAE201B1 for ; Mon, 11 Oct 2021 14:14:33 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 7B40345CC3 for ; Mon, 11 Oct 2021 14:14:33 +0200 (CEST) From: Dominik Csapak To: pbs-devel@lists.proxmox.com Date: Mon, 11 Oct 2021 14:14:32 +0200 Message-Id: <20211011121432.1006944-2-d.csapak@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011121432.1006944-1-d.csapak@proxmox.com> References: <20211011121432.1006944-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.299 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH proxmox-backup v2 2/2] backup-proxy: fix api log reopen send_command calls X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Oct 2021 12:14:34 -0000 if we give a string to send_command, it gets to the receiving end as a string again (not an object), and the command fails with: 'unable to parse parameters (expected json object)' Instead, use send_raw_command which expects the string. Also refactor the identical command strings. Fixes: commit 45b8a0327f21f048bb4384bafc292954358b5651 Signed-off-by: Dominik Csapak --- changes from v1: * include fixed commit in commit message * use send_raw_command with the original strings src/bin/proxmox-backup-proxy.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs index 4c879483..3529f586 100644 --- a/src/bin/proxmox-backup-proxy.rs +++ b/src/bin/proxmox-backup-proxy.rs @@ -852,14 +852,15 @@ async fn schedule_task_log_rotate() { } async fn command_reopen_access_logfiles() -> Result<(), Error> { + let cmd = "{\"command\":\"api-access-log-reopen\"}\n"; // 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, cmd); 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, cmd); match futures::join!(f1, f2) { (Err(e1), Err(e2)) => Err(format_err!("reopen commands failed, proxy: {}; api: {}", e1, e2)), @@ -870,14 +871,15 @@ async fn command_reopen_access_logfiles() -> Result<(), Error> { } async fn command_reopen_auth_logfiles() -> Result<(), Error> { + let cmd = "{\"command\":\"api-auth-log-reopen\"}\n"; // 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, cmd); 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, cmd); match futures::join!(f1, f2) { (Err(e1), Err(e2)) => Err(format_err!("reopen commands failed, proxy: {}; api: {}", e1, e2)), -- 2.30.2