Mercurial > libervia-backend
changeset 2140:f79935f41125
plugin XEP-0184: check if entity is allowed to see our presence before returning receipt
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 06 Feb 2017 20:47:36 +0100 |
parents | f8401024ab28 |
children | 35762e9ce8b9 |
files | src/plugins/plugin_xep_0184.py |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/plugin_xep_0184.py Mon Feb 06 20:46:59 2017 +0100 +++ b/src/plugins/plugin_xep_0184.py Mon Feb 06 20:47:36 2017 +0100 @@ -19,7 +19,7 @@ from sat.core.i18n import _ from sat.core.log import getLogger from twisted.internet import reactor -from twisted.words.protocols.jabber import xmlstream +from twisted.words.protocols.jabber import xmlstream, jid from twisted.words.xish import domish log = getLogger(__name__) @@ -121,8 +121,9 @@ """This method is called on message delivery receipts **request** (XEP-0184 #7) @param msg_elt: message element @param client: %(doc_client)s""" + from_jid = jid.JID(msg_elt['from']) - if self._isActif(client.profile): + if self._isActif(client.profile) and client.roster.isPresenceAuthorised(from_jid): received_elt_ret = domish.Element((NS_MESSAGE_DELIVERY_RECEIPTS, 'received')) received_elt_ret["id"] = msg_elt["id"]