When replying to presence probes, only reply to the requesting resource
This commit is contained in:
parent
e151151004
commit
807acd42b3
|
@ -435,7 +435,7 @@ Returns three values: avatar data (as two values), and a generalized boolean spe
|
||||||
(lambda (conn result)
|
(lambda (conn result)
|
||||||
(wa-handle-avatar-result comp conn jid localpart result))))
|
(wa-handle-avatar-result comp conn jid localpart result))))
|
||||||
|
|
||||||
(defun handle-wa-contact-presence (comp conn jid localpart &key noretry)
|
(defun handle-wa-contact-presence (comp conn jid localpart &key noretry destination)
|
||||||
"Send out a presence stanza for LOCALPART to JID, or queue requests for that user's status or avatar if they're lacking."
|
"Send out a presence stanza for LOCALPART to JID, or queue requests for that user's status or avatar if they're lacking."
|
||||||
(unless (uiop:string-prefix-p "u" localpart)
|
(unless (uiop:string-prefix-p "u" localpart)
|
||||||
(return-from handle-wa-contact-presence))
|
(return-from handle-wa-contact-presence))
|
||||||
|
@ -446,7 +446,7 @@ Returns three values: avatar data (as two values), and a generalized boolean spe
|
||||||
(get-contact-avatar-data uid localpart)
|
(get-contact-avatar-data uid localpart)
|
||||||
(declare (ignore avatar-data))
|
(declare (ignore avatar-data))
|
||||||
(if (and has-avatar-p status)
|
(if (and has-avatar-p status)
|
||||||
(with-presence (comp jid
|
(with-presence (comp (or destination jid)
|
||||||
:from (concatenate 'string
|
:from (concatenate 'string
|
||||||
localpart
|
localpart
|
||||||
"@"
|
"@"
|
||||||
|
@ -1148,7 +1148,8 @@ Returns three values: avatar data (as two values), and a generalized boolean spe
|
||||||
(admin-presence comp from admin-status admin-show)))
|
(admin-presence comp from admin-status admin-show)))
|
||||||
((or (not uid) (not conn)) (respond-with-unavailable))
|
((or (not uid) (not conn)) (respond-with-unavailable))
|
||||||
((get-contact-name uid to-localpart)
|
((get-contact-name uid to-localpart)
|
||||||
(handle-wa-contact-presence comp conn stripped to-localpart))
|
(handle-wa-contact-presence comp conn stripped to-localpart
|
||||||
|
:destination from))
|
||||||
(t (respond-with-unavailable))))))))
|
(t (respond-with-unavailable))))))))
|
||||||
|
|
||||||
(defun whatsxmpp-presence-subscribe-handler (comp &key from to id &allow-other-keys)
|
(defun whatsxmpp-presence-subscribe-handler (comp &key from to id &allow-other-keys)
|
||||||
|
|
Loading…
Reference in a new issue