commit b0348f83a30bbc8578c76ca9e157bf556705d3e6
parent ed02edd8e2e906c1ef25a15ea382f97e1d30aaf3
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 4 Aug 2026 18:40:29 +0200
enable use of '=' in slugs, we need it for the session_id
Diffstat:
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/include/taler/taler_util.h b/src/include/taler/taler_util.h
@@ -484,7 +484,8 @@ TALER_url_is_reserved (char c);
* - Hyphen: -
* - Underscore: _
* - Period: .
- * - Tilde: ~
+ * - Colon: :
+ * - Equals: = (needed for base64-encoded identifiers)
*
* Additional restrictions:
* - must not be empty
diff --git a/src/util/util.c b/src/util/util.c
@@ -500,7 +500,11 @@ TALER_is_slug (const char *slug)
case '_':
case '.':
case ':':
- /* Note: could also allow '~' in principle, is on safe list! */
+ case '=':
+ /* Note: '=' is needed as base64-encoded identifiers (such as
+ the Paivana IDs used as merchant session IDs) may end in
+ padding. Note: could also allow '~' in principle, is on
+ safe list! */
continue;
default:
return false;