Mercurial > prosody-modules
annotate mod_inject_ecaps2/mod_inject_ecaps2.lua @ 5571:ca3c2d11823c
mod_pubsub_feeds: Track latest timestamp seen in feeds instead of last poll
This should ensure that an entry that has a publish timestmap after the
previously oldest post, but before the time of the last poll check, is
published to the node.
Previously if an entry would be skipped if it was published at 13:00
with a timestamp of 12:30, where the last poll was at 12:45.
For feeds that lack a timestamp, it now looks for the first post that is
not published, assuming that the feed is in reverse chronological order,
then iterates back up from there.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 25 Jun 2023 16:27:55 +0200 |
| parents | ce946d9d982e |
| children |
| rev | line source |
|---|---|
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
1 module:depends("cache_c2s_caps"); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
2 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
3 local st = require "util.stanza"; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
4 local hashes = require "util.hashes"; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
5 local base64 = require "util.encodings".base64; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
6 local t_insert, t_sort, t_concat = table.insert, table.sort, table.concat; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
7 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
8 local algorithms = module:get_option_set("ecaps2_hashes", { "sha-256", "sha-512" }); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
9 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
10 -- TODO: Add all of the other hashes supported. |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
11 local algorithm_map = { |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
12 ["sha-256"] = hashes.sha256; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
13 ["sha-512"] = hashes.sha512; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
14 }; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
15 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
16 -- TODO: move that to util.caps maybe. |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
17 local function calculate_hash(disco_info) |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
18 local identities, features, extensions = {}, {}, {}; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
19 for _, tag in ipairs(disco_info) do |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
20 if tag.name == "identity" then |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
21 t_insert(identities, ((tag.attr.category or "").."\31".. |
|
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
22 (tag.attr.type or "").."\31".. |
|
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
23 (tag.attr["xml:lang"] or "").."\31".. |
|
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
24 (tag.attr.name or "").."\31\30")); |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
25 elseif tag.name == "feature" then |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
26 t_insert(features, (tag.attr.var or "").."\31"); |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
27 elseif tag.name == "x" and tag.attr.xmlns == "jabber:x:data" then |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
28 local form = {}; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
29 for _, field in ipairs(tag.tags) do |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
30 if field.name == "field" and field.attr.xmlns == "jabber:x:data" and field.attr.var then |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
31 local values = {}; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
32 for _, value in ipairs(field.tags) do |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
33 if value.name == "value" and value.attr.xmlns == "jabber:x:data" then |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
34 value = #value.tags == 0 and value:get_text(); |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
35 if value then t_insert(values, value.."\31"); end |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
36 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
37 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
38 t_sort(values); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
39 if #values > 0 then |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
40 t_insert(form, field.attr.var.."\31"..t_concat(values, "\31").."\31\30"); |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
41 else |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
42 t_insert(form, field.attr.var.."\31\30"); |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
43 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
44 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
45 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
46 t_sort(form); |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
47 form = t_concat(form, "\29").."\29"; |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
48 t_insert(extensions, form); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
49 else |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
50 return nil, "Unknown element in disco#info"; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
51 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
52 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
53 t_sort(identities); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
54 t_sort(features); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
55 t_sort(extensions); |
|
2908
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
56 if #identities > 0 then identities = t_concat(identities, "\28").."\28"; else identities = "\28"; end |
|
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
57 if #features > 0 then features = t_concat(features).."\28"; else features = "\28"; end |
|
5665d14dcc6e
mod_inject_ecaps2: Add Lua 5.1 compatibility by replacing \xHEX with \DECIMAL in strings
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2907
diff
changeset
|
58 if #extensions > 0 then extensions = t_concat(extensions, "\28").."\28"; else extensions = "\28"; end |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
59 return features..identities..extensions; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
60 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
61 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
62 local function caps_handler(event) |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
63 local origin = event.origin; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
64 |
|
2913
3fb4f72b3dfd
mod_inject_ecaps2: Check for unset presence
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2910
diff
changeset
|
65 if origin.presence == nil or origin.presence:get_child("c", "urn:xmpp:caps") then |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
66 return; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
67 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
68 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
69 local disco_info = origin.caps_cache; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
70 if disco_info == nil then |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
71 return; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
72 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
73 |
|
2910
415455faccae
mod_inject_ecaps2: Return if calculating the hash failed
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2909
diff
changeset
|
74 local extension_string, err = calculate_hash(disco_info); |
|
415455faccae
mod_inject_ecaps2: Return if calculating the hash failed
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2909
diff
changeset
|
75 if extension_string == nil then |
|
415455faccae
mod_inject_ecaps2: Return if calculating the hash failed
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2909
diff
changeset
|
76 module:log("warn", "Failed to calculate ecaps2 hash: %s", err) |
|
415455faccae
mod_inject_ecaps2: Return if calculating the hash failed
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2909
diff
changeset
|
77 return; |
|
415455faccae
mod_inject_ecaps2: Return if calculating the hash failed
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2909
diff
changeset
|
78 end |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
79 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
80 local ecaps2 = st.stanza("c", { xmlns = "urn:xmpp:caps" }); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
81 for algo in algorithms do |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
82 local func = algorithm_map[algo]; |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
83 if func ~= nil then |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
84 local hash = base64.encode(func(extension_string)); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
85 ecaps2:tag("hash", { xmlns = "urn:xmpp:hashes:2"; algo = algo }) |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
86 :text(hash) |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
87 :up(); |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
88 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
89 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
90 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
91 module:log("debug", "Injected ecaps2 element in presence"); |
|
3105
ce946d9d982e
mod_inject_ecaps2: Inject the <c/> element in the presence, not util.hashes.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2913
diff
changeset
|
92 origin.presence:add_child(ecaps2); |
|
2907
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
93 end |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
94 |
|
776017c92076
mod_inject_ecaps2: New module adding support for XEP-0390 to all local clients supporting XEP-0115
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff
changeset
|
95 module:hook("c2s-capabilities-changed", caps_handler); |
