From fdbed3f1e8c8c32fc1d48b44d726422e246635f6 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Thu, 28 Apr 2022 11:35:49 +0200 Subject: [PATCH] Encode causality tokens using URL-safe b64 this should fix the pollitem test where the ct was passed in the url --- src/model/k2v/causality.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/model/k2v/causality.rs b/src/model/k2v/causality.rs index 03717a06..0c7633d0 100644 --- a/src/model/k2v/causality.rs +++ b/src/model/k2v/causality.rs @@ -42,11 +42,12 @@ impl CausalContext { bytes.extend(u64::to_be_bytes(i)); } - base64::encode(bytes) + base64::encode_config(bytes, base64::URL_SAFE_NO_PAD) } /// Parse from base64-encoded binary representation pub fn parse(s: &str) -> Result { - let bytes = base64::decode(s).ok_or_message("Invalid causality token (bad base64)")?; + let bytes = base64::decode_config(s, base64::URL_SAFE_NO_PAD) + .ok_or_message("Invalid causality token (bad base64)")?; if bytes.len() % 16 != 8 || bytes.len() < 8 { return Err(Error::Message( "Invalid causality token (bad length)".into(),