Mercurial > prosody-modules
annotate mod_carbons/mod_carbons.lua @ 4738:5aee8d86629a
mod_bookmarks2: Fix handling of nick and password elements
This form of child retrieval fails when the stanza elements internally
don't have an 'xmlns' attribute, which can happen sometimes for some
reason, including when they have been constructed via the stanza builder
API. When that is the case then the explicit namespace arguemnt does not
match the nil value of the internal attribute. Calling `:get_child()`
without the namespace argument does the right thing here, with both nil
and the parent namespace as valid values for the internal attribute.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 03 Nov 2021 21:11:55 +0100 |
parents | 704e4845267b |
children |
rev | line source |
---|---|
521
6d0d2673f95e
mod_carbons: Add MIT license statement.
Kim Alvefur <zash@zash.se>
parents:
520
diff
changeset
|
1 -- XEP-0280: Message Carbons implementation for Prosody |
2307
ad7f87bd30c8
mod_carbons: Make the conditions for ignoring MUC PMs more specific (fixes #744)
Kim Alvefur <zash@zash.se>
parents:
1865
diff
changeset
|
2 -- Copyright (C) 2011-2016 Kim Alvefur |
521
6d0d2673f95e
mod_carbons: Add MIT license statement.
Kim Alvefur <zash@zash.se>
parents:
520
diff
changeset
|
3 -- |
6d0d2673f95e
mod_carbons: Add MIT license statement.
Kim Alvefur <zash@zash.se>
parents:
520
diff
changeset
|
4 -- This file is MIT/X11 licensed. |
6d0d2673f95e
mod_carbons: Add MIT license statement.
Kim Alvefur <zash@zash.se>
parents:
520
diff
changeset
|
5 |
462 | 6 local st = require "util.stanza"; |
7 local jid_bare = require "util.jid".bare; | |
850
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
8 local xmlns_carbons = "urn:xmpp:carbons:2"; |
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
9 local xmlns_carbons_old = "urn:xmpp:carbons:1"; |
884
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
10 local xmlns_carbons_really_old = "urn:xmpp:carbons:0"; |
462 | 11 local xmlns_forward = "urn:xmpp:forward:0"; |
1795
91c01ef82807
mod_carbons: Get full_ and bare_sessions from the prosody global [luacheck]
Kim Alvefur <zash@zash.se>
parents:
1794
diff
changeset
|
12 local full_sessions, bare_sessions = prosody.full_sessions, prosody.bare_sessions; |
462 | 13 |
804
9927d88a1b2a
mod_carbons: Merge enable and disable handlers
Kim Alvefur <zash@zash.se>
parents:
743
diff
changeset
|
14 local function toggle_carbons(event) |
462 | 15 local origin, stanza = event.origin, event.stanza; |
1184
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
16 local state = stanza.tags[1].attr.mode or stanza.tags[1].name; |
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
17 module:log("debug", "%s %sd carbons", origin.full_jid, state); |
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
18 origin.want_carbons = state == "enable" and stanza.tags[1].attr.xmlns; |
1865
db8b256f51ff
mod_admin_web,mod_carbons,mod_csi_compat,mod_mam_muc,mod_tcpproxy: Explicitly return true
Kim Alvefur <zash@zash.se>
parents:
1795
diff
changeset
|
19 origin.send(st.reply(stanza)); |
db8b256f51ff
mod_admin_web,mod_carbons,mod_csi_compat,mod_mam_muc,mod_tcpproxy: Explicitly return true
Kim Alvefur <zash@zash.se>
parents:
1795
diff
changeset
|
20 return true; |
804
9927d88a1b2a
mod_carbons: Merge enable and disable handlers
Kim Alvefur <zash@zash.se>
parents:
743
diff
changeset
|
21 end |
1184
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
22 module:hook("iq-set/self/"..xmlns_carbons..":disable", toggle_carbons); |
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
23 module:hook("iq-set/self/"..xmlns_carbons..":enable", toggle_carbons); |
462 | 24 |
850
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
25 -- COMPAT |
1184
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
26 module:hook("iq-set/self/"..xmlns_carbons_old..":disable", toggle_carbons); |
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
27 module:hook("iq-set/self/"..xmlns_carbons_old..":enable", toggle_carbons); |
0d3d15586d7e
mod_carbons: Use iq-type events
Kim Alvefur <zash@zash.se>
parents:
1183
diff
changeset
|
28 module:hook("iq-set/self/"..xmlns_carbons_really_old..":carbons", toggle_carbons); |
884
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
29 |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
30 local function message_handler(event, c2s) |
462 | 31 local origin, stanza = event.origin, event.stanza; |
1789
dbce8a7726ef
mod_carbons: Carbon chat messages or normal messages that have a body
Kim Alvefur <zash@zash.se>
parents:
1343
diff
changeset
|
32 local orig_type = stanza.attr.type or "normal"; |
835
07cc1efde2f8
mod_carbons: Fix handling of messages from remote hosts
Kim Alvefur <zash@zash.se>
parents:
833
diff
changeset
|
33 local orig_from = stanza.attr.from; |
462 | 34 local orig_to = stanza.attr.to; |
1343
7dbde05b48a9
all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
1325
diff
changeset
|
35 |
2338
51beecac93c2
mod_carbons: Fix logic presendence
Kim Alvefur <zash@zash.se>
parents:
2309
diff
changeset
|
36 if not(orig_type == "chat" or (orig_type == "normal" and stanza:get_child("body"))) then |
1789
dbce8a7726ef
mod_carbons: Carbon chat messages or normal messages that have a body
Kim Alvefur <zash@zash.se>
parents:
1343
diff
changeset
|
37 return -- Only chat type messages |
462 | 38 end |
39 | |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
40 -- Stanza sent by a local client |
836
a86131581180
mod_carbons: Less complicated assignments (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
835
diff
changeset
|
41 local bare_jid = jid_bare(orig_from); |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
42 local target_session = origin; |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
43 local top_priority = false; |
836
a86131581180
mod_carbons: Less complicated assignments (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
835
diff
changeset
|
44 local user_sessions = bare_sessions[bare_jid]; |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
45 |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
46 -- Stanza about to be delivered to a local client |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
47 if not c2s then |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
48 bare_jid = jid_bare(orig_to); |
836
a86131581180
mod_carbons: Less complicated assignments (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
835
diff
changeset
|
49 target_session = full_sessions[orig_to]; |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
50 user_sessions = bare_sessions[bare_jid]; |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
51 if not target_session and user_sessions then |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
52 -- The top resources will already receive this message per normal routing rules, |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
53 -- so we are going to skip them in order to avoid sending duplicated messages. |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
54 local top_resources = user_sessions.top_resources; |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
55 top_priority = top_resources and top_resources[1].priority |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
56 end |
462 | 57 end |
58 | |
585
ce2798a1bc56
mod_carbons: Don't try to send carbons for entirely offline users.
Kim Alvefur <zash@zash.se>
parents:
545
diff
changeset
|
59 if not user_sessions then |
605
5175f6d33470
mod_carbons: Add more debug logging
Kim Alvefur <zash@zash.se>
parents:
585
diff
changeset
|
60 module:log("debug", "Skip carbons for offline user"); |
585
ce2798a1bc56
mod_carbons: Don't try to send carbons for entirely offline users.
Kim Alvefur <zash@zash.se>
parents:
545
diff
changeset
|
61 return -- No use in sending carbons to an offline user |
ce2798a1bc56
mod_carbons: Don't try to send carbons for entirely offline users.
Kim Alvefur <zash@zash.se>
parents:
545
diff
changeset
|
62 end |
ce2798a1bc56
mod_carbons: Don't try to send carbons for entirely offline users.
Kim Alvefur <zash@zash.se>
parents:
545
diff
changeset
|
63 |
1325
b21236b6b8d8
Backed out changeset 853a382c9bd6
Kim Alvefur <zash@zash.se>
parents:
1324
diff
changeset
|
64 if stanza:get_child("private", xmlns_carbons) then |
1317
35c57db6877f
mod_carbons: Ignore messages tagged as private in both directions (thanks hoedlmoser)
Kim Alvefur <zash@zash.se>
parents:
1316
diff
changeset
|
65 if not c2s then |
35c57db6877f
mod_carbons: Ignore messages tagged as private in both directions (thanks hoedlmoser)
Kim Alvefur <zash@zash.se>
parents:
1316
diff
changeset
|
66 stanza:maptags(function(tag) |
1325
b21236b6b8d8
Backed out changeset 853a382c9bd6
Kim Alvefur <zash@zash.se>
parents:
1324
diff
changeset
|
67 if not ( tag.attr.xmlns == xmlns_carbons and tag.name == "private" ) then |
1317
35c57db6877f
mod_carbons: Ignore messages tagged as private in both directions (thanks hoedlmoser)
Kim Alvefur <zash@zash.se>
parents:
1316
diff
changeset
|
68 return tag; |
35c57db6877f
mod_carbons: Ignore messages tagged as private in both directions (thanks hoedlmoser)
Kim Alvefur <zash@zash.se>
parents:
1316
diff
changeset
|
69 end |
35c57db6877f
mod_carbons: Ignore messages tagged as private in both directions (thanks hoedlmoser)
Kim Alvefur <zash@zash.se>
parents:
1316
diff
changeset
|
70 end); |
35c57db6877f
mod_carbons: Ignore messages tagged as private in both directions (thanks hoedlmoser)
Kim Alvefur <zash@zash.se>
parents:
1316
diff
changeset
|
71 end |
605
5175f6d33470
mod_carbons: Add more debug logging
Kim Alvefur <zash@zash.se>
parents:
585
diff
changeset
|
72 module:log("debug", "Message tagged private, ignoring"); |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
73 return |
1151
28d4b58bcc3b
mod_carbons: Add support for XEP-0334: Message Processing Hints
Kim Alvefur <zash@zash.se>
parents:
900
diff
changeset
|
74 elseif stanza:get_child("no-copy", "urn:xmpp:hints") then |
28d4b58bcc3b
mod_carbons: Add support for XEP-0334: Message Processing Hints
Kim Alvefur <zash@zash.se>
parents:
900
diff
changeset
|
75 module:log("debug", "Message has no-copy hint, ignoring"); |
28d4b58bcc3b
mod_carbons: Add support for XEP-0334: Message Processing Hints
Kim Alvefur <zash@zash.se>
parents:
900
diff
changeset
|
76 return |
2309
feebb38c670d
mod_carbons: Fix inverted logic (Thanks Ge0rg)
Kim Alvefur <zash@zash.se>
parents:
2308
diff
changeset
|
77 elseif not c2s and bare_jid == orig_from and stanza:get_child("x", "http://jabber.org/protocol/muc#user") then |
1316
d3e75f6dde9b
mod_carbons: Ignore MUC PMs if tagged as such
Kim Alvefur <zash@zash.se>
parents:
1184
diff
changeset
|
78 module:log("debug", "MUC PM, ignoring"); |
d3e75f6dde9b
mod_carbons: Ignore MUC PMs if tagged as such
Kim Alvefur <zash@zash.se>
parents:
1184
diff
changeset
|
79 return |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
80 end |
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
81 |
832
9087431d35f6
mod_carbons: Add comments and rename some variables to make it clearer
Kim Alvefur <zash@zash.se>
parents:
804
diff
changeset
|
82 -- Create the carbon copy and wrap it as per the Stanza Forwarding XEP |
9087431d35f6
mod_carbons: Add comments and rename some variables to make it clearer
Kim Alvefur <zash@zash.se>
parents:
804
diff
changeset
|
83 local copy = st.clone(stanza); |
9087431d35f6
mod_carbons: Add comments and rename some variables to make it clearer
Kim Alvefur <zash@zash.se>
parents:
804
diff
changeset
|
84 copy.attr.xmlns = "jabber:client"; |
9087431d35f6
mod_carbons: Add comments and rename some variables to make it clearer
Kim Alvefur <zash@zash.se>
parents:
804
diff
changeset
|
85 local carbon = st.message{ from = bare_jid, type = orig_type, } |
896
d24d87ca3f5f
mod_carbons: <forwarded/> should be nested in <sent/>/<received/>
Florian Zeitz <florob@babelmonkeys.de>
parents:
888
diff
changeset
|
86 :tag(c2s and "sent" or "received", { xmlns = xmlns_carbons }) |
664
2f11d2473afd
mod_carbons: Move creation of the carbon stanza out of the loop.
Kim Alvefur <zash@zash.se>
parents:
618
diff
changeset
|
87 :tag("forwarded", { xmlns = xmlns_forward }) |
832
9087431d35f6
mod_carbons: Add comments and rename some variables to make it clearer
Kim Alvefur <zash@zash.se>
parents:
804
diff
changeset
|
88 :add_child(copy):reset(); |
664
2f11d2473afd
mod_carbons: Move creation of the carbon stanza out of the loop.
Kim Alvefur <zash@zash.se>
parents:
618
diff
changeset
|
89 |
850
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
90 -- COMPAT |
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
91 local carbon_old = st.message{ from = bare_jid, type = orig_type, } |
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
92 :tag(c2s and "sent" or "received", { xmlns = xmlns_carbons_old }):up() |
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
93 :tag("forwarded", { xmlns = xmlns_forward }) |
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
94 :add_child(copy):reset(); |
0900ba54991e
mod_carbons: Update to latest version of XEP-0280, while supporting the old version.
Kim Alvefur <zash@zash.se>
parents:
837
diff
changeset
|
95 |
884
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
96 -- COMPAT |
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
97 local carbon_really_old = st.clone(stanza) |
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
98 :tag(c2s and "sent" or "received", { xmlns = xmlns_carbons_really_old }):up() |
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
99 |
618
267548522810
mod_carbons: Remove useless protection against loop that can't happen
Kim Alvefur <zash@zash.se>
parents:
617
diff
changeset
|
100 user_sessions = user_sessions and user_sessions.sessions; |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
101 for _, session in pairs(user_sessions) do |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
102 -- Carbons are sent to resources that have enabled it |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
103 if session.want_carbons |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
104 -- but not the resource that sent the message, or the one that it's directed to |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
105 and session ~= target_session |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
106 -- and isn't among the top resources that would receive the message per standard routing rules |
888
f8d08f8ed7de
mod_carbons: Make support for v0 disabled by default, don't send v0 carbons for c2s
Michael Holzt <kju@fqdn.org>
parents:
884
diff
changeset
|
107 and (c2s or session.priority ~= top_priority) |
f8d08f8ed7de
mod_carbons: Make support for v0 disabled by default, don't send v0 carbons for c2s
Michael Holzt <kju@fqdn.org>
parents:
884
diff
changeset
|
108 -- don't send v0 carbons (or copies) for c2s |
f8d08f8ed7de
mod_carbons: Make support for v0 disabled by default, don't send v0 carbons for c2s
Michael Holzt <kju@fqdn.org>
parents:
884
diff
changeset
|
109 and (not c2s or session.want_carbons ~= xmlns_carbons_really_old) then |
833
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
110 carbon.attr.to = session.full_jid; |
30d49c26d219
mod_carbons: Optimize and clarify (thanks waqas)
Kim Alvefur <zash@zash.se>
parents:
832
diff
changeset
|
111 module:log("debug", "Sending carbon to %s", session.full_jid); |
884
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
112 local carbon = session.want_carbons == xmlns_carbons_old and carbon_old -- COMPAT |
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
113 or session.want_carbons == xmlns_carbons_really_old and carbon_really_old -- COMPAT |
2ece37bf9cc6
mod_carbons: Support the pre-forwarding version of Carbons. Please don't implement this.
Kim Alvefur <zash@zash.se>
parents:
854
diff
changeset
|
114 or carbon; |
832
9087431d35f6
mod_carbons: Add comments and rename some variables to make it clearer
Kim Alvefur <zash@zash.se>
parents:
804
diff
changeset
|
115 session.send(carbon); |
462 | 116 end |
117 end | |
118 end | |
119 | |
480
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
120 local function c2s_message_handler(event) |
0cef5be669de
mod_carbons: Consolidate message handlers
Kim Alvefur <zash@zash.se>
parents:
463
diff
changeset
|
121 return message_handler(event, true) |
462 | 122 end |
123 | |
124 -- Stanzas sent by local clients | |
2373
704e4845267b
mod_carbons: Comment about the priority
Kim Alvefur <zash@zash.se>
parents:
2371
diff
changeset
|
125 module:hook("pre-message/host", c2s_message_handler, 0.05); -- priority between mod_message (0 in 0.9) and mod_firewall (0.1) |
2371
b41957bf4fd3
mod_carbons: Adjust event hook priorities to be between mod_message and mod_firewall (see #669)
Kim Alvefur <zash@zash.se>
parents:
2338
diff
changeset
|
126 module:hook("pre-message/bare", c2s_message_handler, 0.05); |
b41957bf4fd3
mod_carbons: Adjust event hook priorities to be between mod_message and mod_firewall (see #669)
Kim Alvefur <zash@zash.se>
parents:
2338
diff
changeset
|
127 module:hook("pre-message/full", c2s_message_handler, 0.05); |
510
59e80326f2b3
mod_carbons: Fix a typo and unindent a line.
Kim Alvefur <zash@zash.se>
parents:
480
diff
changeset
|
128 -- Stanzas to local clients |
2371
b41957bf4fd3
mod_carbons: Adjust event hook priorities to be between mod_message and mod_firewall (see #669)
Kim Alvefur <zash@zash.se>
parents:
2338
diff
changeset
|
129 module:hook("message/bare", message_handler, 0.05); |
b41957bf4fd3
mod_carbons: Adjust event hook priorities to be between mod_message and mod_firewall (see #669)
Kim Alvefur <zash@zash.se>
parents:
2338
diff
changeset
|
130 module:hook("message/full", message_handler, 0.05); |
462 | 131 |
132 module:add_feature(xmlns_carbons); | |
854
1c64ab8ae374
mod_carbons: Advertise support for the previous version
Kim Alvefur <zash@zash.se>
parents:
850
diff
changeset
|
133 module:add_feature(xmlns_carbons_old); |
888
f8d08f8ed7de
mod_carbons: Make support for v0 disabled by default, don't send v0 carbons for c2s
Michael Holzt <kju@fqdn.org>
parents:
884
diff
changeset
|
134 if module:get_option_boolean("carbons_v0") then |
f8d08f8ed7de
mod_carbons: Make support for v0 disabled by default, don't send v0 carbons for c2s
Michael Holzt <kju@fqdn.org>
parents:
884
diff
changeset
|
135 module:add_feature(xmlns_carbons_really_old); |
f8d08f8ed7de
mod_carbons: Make support for v0 disabled by default, don't send v0 carbons for c2s
Michael Holzt <kju@fqdn.org>
parents:
884
diff
changeset
|
136 end |