view mod_compact_resource/mod_compact_resource.lua @ 5086:dec4b2e31d1c

mod_rest: Do not allow replies to <iq type=result> from webhooks Replying to a result stanza could cause loops, just as replying to an error. No stanza.name check here but it should be fine since no other kinds of stanzas have type=result, and the boolean logic would most definitely be wrong on the first attempt.
author Kim Alvefur <zash@zash.se>
date Sun, 27 Nov 2022 00:10:38 +0100
parents 6f34e51a23f0
children
line wrap: on
line source


local base64_encode = require"util.encodings".base64.encode;
local random_bytes = require"util.random".bytes;

local b64url = { ["+"] = "-", ["/"] = "_", ["="] = "" };
local function random_resource()
	return base64_encode(random_bytes(8)):gsub("[+/=]", b64url);
end

module:hook("pre-resource-bind", function (event)
	event.resource = random_resource();
end);