Software /
code /
prosody
Annotate
plugins/mod_ping.lua @ 11245:43b43e7156b8
MUC: Add support for presence probes (fixes #1535)
The following patch allows Prosody to respond to `probe` presences and send out the probed occupant's current presence.
This is based on line 17.3 in XEP-0045:
A MUC service MAY handle presence probes sent to the room JID <room@service> or an occupant JID <room@service/nick>
(e.g, these might be sent by an occupant's home server to determine if the room is still online or to synchronize
presence information if the user or the user's server has gone offline temporarily or has started sharing presence again,
as for instance when Stanza Interception and Filtering Technology (XEP-0273) is used).
author | JC Brand <jc@opkode.com> |
---|---|
date | Sun, 19 Apr 2020 21:49:45 +0200 |
parent | 10654:a2bd6e85a457 |
child | 12977:74b9e05af71e |
rev | line source |
---|---|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
1511
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2011
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2011
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
4129
diff
changeset
|
4 -- |
758 | 5 -- This project is MIT/X11 licensed. Please see the |
6 -- COPYING file in the source package for more information. | |
519
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
438
diff
changeset
|
7 -- |
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
438
diff
changeset
|
8 |
1511
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
9 local st = require "util.stanza"; |
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
10 |
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
11 module:add_feature("urn:xmpp:ping"); |
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
12 |
2011
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
13 local function ping_handler(event) |
10654
a2bd6e85a457
mod_ping: Fix double response to internal ping
Kim Alvefur <zash@zash.se>
parents:
10399
diff
changeset
|
14 event.origin.send(st.reply(event.stanza)); |
a2bd6e85a457
mod_ping: Fix double response to internal ping
Kim Alvefur <zash@zash.se>
parents:
10399
diff
changeset
|
15 return true; |
2011
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
16 end |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
17 |
6012
7e8a624272bf
mod_ping: Use type-specific event
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
18 module:hook("iq-get/bare/urn:xmpp:ping:ping", ping_handler); |
7e8a624272bf
mod_ping: Use type-specific event
Kim Alvefur <zash@zash.se>
parents:
5776
diff
changeset
|
19 module:hook("iq-get/host/urn:xmpp:ping:ping", ping_handler); |