From e61a31872d20136cf9d0e67693a2188ef6d7c0ab Mon Sep 17 00:00:00 2001 From: dawn <90008@gaze.systems> Date: Sat, 21 Feb 2026 23:31:15 +0300 Subject: [PATCH] fjall: dont use padded base64url to parse the signatures --- src/plc_fjall.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plc_fjall.rs b/src/plc_fjall.rs index 6e1bc86..7a07015 100644 --- a/src/plc_fjall.rs +++ b/src/plc_fjall.rs @@ -1,5 +1,5 @@ use crate::{Dt, ExportPage, Op as CommonOp, PageBoundaryState}; -use data_encoding::{BASE32_NOPAD, BASE64URL}; +use data_encoding::{BASE32_NOPAD, BASE64URL, BASE64URL_NOPAD}; use fjall::{Database, Keyspace, KeyspaceCreateOptions, OwnedWriteBatch, PersistMode}; use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; @@ -86,16 +86,16 @@ struct Signature(#[serde(with = "serde_bytes")] Vec); impl Signature { fn from_base64url(s: &str) -> anyhow::Result { - BASE64URL + BASE64URL_NOPAD .decode(s.as_bytes()) .map(Self) - .map_err(|e| anyhow::anyhow!("invalid base64url sig: {e}")) + .map_err(|e| anyhow::anyhow!("invalid base64url sig {s}: {e}")) } } impl fmt::Display for Signature { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str(&BASE64URL.encode(&self.0)) + f.write_str(&BASE64URL_NOPAD.encode(&self.0)) } } -- 2.51.2