Changeset

13074:794a5ad5495e

mod_tokenauth: Fix parsing binary part of tokens Fixes parsing of tokens that happen to have a `;` in their secret part, otherwise it splits there and the later bit goes into the username and hitting the "Invalid token in storage" condition.
author Kim Alvefur <zash@zash.se>
date Wed, 12 Apr 2023 11:43:32 +0200
parents 13073:9e5802b45b9e
children 13075:82980f6890cd
files plugins/mod_tokenauth.lua
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_tokenauth.lua	Wed Apr 12 10:21:32 2023 +0200
+++ b/plugins/mod_tokenauth.lua	Wed Apr 12 11:43:32 2023 +0200
@@ -120,7 +120,7 @@
 	if not encoded_data then return nil; end
 	local token = base64.decode(encoded_data);
 	if not token then return nil; end
-	local token_id, token_secret, token_jid = token:match("^2;([^;]+);([^;]+);(.+)$");
+	local token_id, token_secret, token_jid = token:match("^2;([^;]+);(..................);(.+)$");
 	if not token_id then return nil; end
 	local token_user, token_host = jid.split(token_jid);
 	return token_id, token_user, token_host, token_secret;