From 8cfcc69100cf14dee9f97c4a57b104dcbec237fa Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Wed, 18 Dec 2024 20:43:03 +0100 Subject: [PATCH] mod_stun_disco: Fix syntax of credentials response As per XEP-0215 (#3.3), the response to a credentials request must use the element rather than . Thanks to Thilo Molitor for spotting the issue. --- src/mod_stun_disco.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mod_stun_disco.erl b/src/mod_stun_disco.erl index f1e267fc9..d70651a3a 100644 --- a/src/mod_stun_disco.erl +++ b/src/mod_stun_disco.erl @@ -484,13 +484,15 @@ process_iq(#iq{lang = Lang} = IQ) -> -spec process_iq_get(iq(), request()) -> iq(). process_iq_get(#iq{from = From, to = #jid{lserver = Host}, lang = Lang} = IQ, - Request) -> + #request{restricted = Restricted} = Request) -> Access = mod_stun_disco_opt:access(Host), case acl:match_rule(Host, Access, From) of allow -> ?DEBUG("Performing external service discovery for ~ts", [jid:encode(From)]), case get_services(Host, From, Request) of + {ok, Services} when Restricted -> % A request. + xmpp:make_iq_result(IQ, #credentials{services = Services}); {ok, Services} -> xmpp:make_iq_result(IQ, #services{list = Services}); {error, timeout} -> % Has been logged already.