From a6dc4d322d4b3b275aebc35b54364972c6cee75a Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 22 May 2024 15:38:26 +0200 Subject: [PATCH] auth-api: remove unnecessary allocation Signed-off-by: Wolfgang Bumiller --- proxmox-auth-api/src/api/access.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/proxmox-auth-api/src/api/access.rs b/proxmox-auth-api/src/api/access.rs index 5c750944..f7d52e95 100644 --- a/proxmox-auth-api/src/api/access.rs +++ b/proxmox-auth-api/src/api/access.rs @@ -276,16 +276,11 @@ fn verify_csrf_prevention_token_do( min_age: i64, max_age: i64, ) -> Result { - use std::collections::VecDeque; + let (timestamp, sig) = token + .split_once(':') + .filter(|(_, sig)| !sig.contains(':')) + .ok_or_else(|| format_err!("format error - wrong number of parts."))?; - let mut parts: VecDeque<&str> = token.split(':').collect(); - - if parts.len() != 2 { - bail!("format error - wrong number of parts."); - } - - let timestamp = parts.pop_front().unwrap(); - let sig = parts.pop_front().unwrap(); let sig = base64::decode_config(sig, base64::STANDARD_NO_PAD) .map_err(|e| format_err!("could not base64 decode csrf signature - {e}"))?;