mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
Use #jid{} type for #muc_unsubscribe.jid
This commit is contained in:
parent
d7a999eaf5
commit
3adf720bc1
@ -24,7 +24,7 @@
|
|||||||
{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}},
|
{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}},
|
||||||
{stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.8"}}},
|
{stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.8"}}},
|
||||||
{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.21"}}},
|
{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.21"}}},
|
||||||
{xmpp, ".*", {git, "https://github.com/processone/xmpp", "ad15e74e073a9cd230f31f657b395b1873227875"}},
|
{xmpp, ".*", {git, "https://github.com/processone/xmpp", "806ac5e4ebfbcf1f8f5ebe5a8458ebb7e250d501"}},
|
||||||
{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.10"}}},
|
{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.10"}}},
|
||||||
{esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.11"}}},
|
{esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.11"}}},
|
||||||
{fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.9"}}},
|
{fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.9"}}},
|
||||||
|
@ -3742,20 +3742,18 @@ process_iq_mucsub(From,
|
|||||||
add_new_user(From, Nick, Packet, SD2)
|
add_new_user(From, Nick, Packet, SD2)
|
||||||
end;
|
end;
|
||||||
process_iq_mucsub(From, #iq{type = set, lang = Lang,
|
process_iq_mucsub(From, #iq{type = set, lang = Lang,
|
||||||
sub_els = [#muc_unsubscribe{jid = UnsubJid}]},
|
sub_els = [#muc_unsubscribe{jid = #jid{} = UnsubJid}]},
|
||||||
StateData) when UnsubJid /= <<>> ->
|
StateData) ->
|
||||||
FAffiliation = get_affiliation(From, StateData),
|
FAffiliation = get_affiliation(From, StateData),
|
||||||
FRole = get_role(From, StateData),
|
FRole = get_role(From, StateData),
|
||||||
try jid:decode(UnsubJid) of
|
if FRole == moderator; FAffiliation == owner; FAffiliation == admin ->
|
||||||
FromUnsub when FRole == moderator; FAffiliation == owner; FAffiliation == admin ->
|
process_iq_mucsub(UnsubJid,
|
||||||
process_iq_mucsub(FromUnsub, #iq{type = set, sub_els = [#muc_unsubscribe{jid = <<>>}]},
|
#iq{type = set,
|
||||||
StateData);
|
sub_els = [#muc_unsubscribe{jid = undefined}]},
|
||||||
_ ->
|
StateData);
|
||||||
|
true ->
|
||||||
Txt = <<"Moderator privileges required">>,
|
Txt = <<"Moderator privileges required">>,
|
||||||
{error, xmpp:err_forbidden(Txt, Lang)}
|
{error, xmpp:err_forbidden(Txt, Lang)}
|
||||||
catch
|
|
||||||
error:{bad_jid,_} ->
|
|
||||||
{error, xmpp:err_jid_malformed()}
|
|
||||||
end;
|
end;
|
||||||
process_iq_mucsub(From, #iq{type = set, sub_els = [#muc_unsubscribe{}]},
|
process_iq_mucsub(From, #iq{type = set, sub_els = [#muc_unsubscribe{}]},
|
||||||
StateData) ->
|
StateData) ->
|
||||||
|
Loading…
Reference in New Issue
Block a user