Mercurial > prosody-hg
comparison plugins/mod_pubsub/mod_pubsub.lua @ 9100:e01c7d0cbbf4
mod_pubsub: Add configurable maximum on number of items
Like aefb96a52f5f
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 04 Aug 2018 03:13:55 +0200 |
| parents | 4336a2b97aba |
| children | 1ff694534e98 |
comparison
equal
deleted
inserted
replaced
| 9099:974b25c27f24 | 9100:e01c7d0cbbf4 |
|---|---|
| 66 new_stanza:body(summary); | 66 new_stanza:body(summary); |
| 67 end | 67 end |
| 68 new_stanza.attr.to = jid; | 68 new_stanza.attr.to = jid; |
| 69 module:send(new_stanza); | 69 module:send(new_stanza); |
| 70 end | 70 end |
| 71 end | |
| 72 | |
| 73 local max_max_items = module:get_option_number("pubsub_max_items", 256); | |
| 74 function check_node_config(node, actor, new_config) -- luacheck: ignore 212/actor 212/node | |
| 75 if (new_config["max_items"] or 1) > max_max_items then | |
| 76 return false; | |
| 77 end | |
| 78 return true; | |
| 71 end | 79 end |
| 72 | 80 |
| 73 function is_item_stanza(item) | 81 function is_item_stanza(item) |
| 74 return st.is_stanza(item) and item.attr.xmlns == xmlns_pubsub and item.name == "item"; | 82 return st.is_stanza(item) and item.attr.xmlns == xmlns_pubsub and item.name == "item"; |
| 75 end | 83 end |
| 220 | 228 |
| 221 nodestore = node_store; | 229 nodestore = node_store; |
| 222 itemstore = create_simple_itemstore; | 230 itemstore = create_simple_itemstore; |
| 223 broadcaster = simple_broadcast; | 231 broadcaster = simple_broadcast; |
| 224 itemcheck = is_item_stanza; | 232 itemcheck = is_item_stanza; |
| 233 check_node_config = check_node_config; | |
| 225 get_affiliation = get_affiliation; | 234 get_affiliation = get_affiliation; |
| 226 | 235 |
| 227 normalize_jid = jid_bare; | 236 normalize_jid = jid_bare; |
| 228 })); | 237 })); |
| 229 end | 238 end |
