Mercurial > prosody-modules
view mod_jid_prep/mod_jid_prep.lua @ 5472:b80b6947b079
mod_http_oauth2: Always show early errors to user
Before having validated the client_id, communicating an error back to
the client via redirect would make this an open redirect, so we may just
as well skip past that logic, and especially the warning log message.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 18 May 2023 13:43:17 +0200 |
parents | 99cb06b31ae8 |
children |
line wrap: on
line source
-- Run JIDs through stringprep processing on behalf of clients -- http://xmpp.org/extensions/inbox/jidprep.html local jid_prep = require "util.jid".prep; local st = require "util.stanza"; local xmlns_prep = "urn:xmpp:jidprep:0"; module:add_feature(xmlns_prep); function prep_jid(event) local stanza = event.stanza; local jid = jid_prep(stanza:get_child_text("jid", xmlns_prep)); if not jid then return event.origin.send(st.error_reply(stanza, "modify", "jid-malformed")); end return event.origin.send(st.reply(stanza):tag("jid", { xmlns = xmlns_prep }):text(jid)); end module:hook("iq/host/"..xmlns_prep..":jid", prep_jid); module:depends("http"); module:provides("http", { route = { ["GET /*"] = function (event, jid) return jid_prep(jid) or 400; end; } });