mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-20 17:27:00 +01:00
mod_vcard: Return explicit error stanza when user attempts to modify other's vcard
This commit is contained in:
parent
3669ac8aed
commit
50ef49d190
@ -400,6 +400,12 @@ make_vcard_search(User, LUser, LServer, VCARD) ->
|
||||
lorgunit = LOrgUnit}.
|
||||
|
||||
-spec vcard_iq_set(iq()) -> iq() | {stop, stanza_error()}.
|
||||
vcard_iq_set(#iq{from = #jid{user = FromUser, lserver = FromLServer},
|
||||
to = #jid{user = ToUser, lserver = ToLServer},
|
||||
lang = Lang})
|
||||
when (FromUser /= ToUser) or (FromLServer /= ToLServer) ->
|
||||
Txt = ?T("User not allowed to perform an IQ set on another user's vCard."),
|
||||
{stop, xmpp:err_forbidden(Txt, Lang)};
|
||||
vcard_iq_set(#iq{from = From, lang = Lang, sub_els = [VCard]} = IQ) ->
|
||||
#jid{user = User, lserver = LServer} = From,
|
||||
case set_vcard(User, LServer, VCard) of
|
||||
|
Loading…
Reference in New Issue
Block a user