diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_mam/mod_mam.lua | 8 | ||||
-rw-r--r-- | plugins/mod_tls.lua | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/mod_mam/mod_mam.lua b/plugins/mod_mam/mod_mam.lua index 0c35f43f..f46d3818 100644 --- a/plugins/mod_mam/mod_mam.lua +++ b/plugins/mod_mam/mod_mam.lua @@ -52,6 +52,8 @@ if archive.name == "null" or not archive.find then archive = module:require "fallback_archive"; end +local use_total = true; + local cleanup; -- Handle prefs. @@ -137,7 +139,7 @@ module:hook("iq-set/self/"..xmlns_mam..":query", function(event) limit = qmax + 1; before = before; after = after; reverse = reverse; - total = true; + total = get_total; }); if not data then @@ -359,6 +361,10 @@ if cleanup_after ~= "never" then end return math.random(cleanup_interval, cleanup_interval * 2); end); +else + -- Don't ask the backend to count the potentially unbounded number of items, + -- it'll get slow. + use_total = false; end -- Stanzas sent by local clients diff --git a/plugins/mod_tls.lua b/plugins/mod_tls.lua index 48613b9a..029ddd1d 100644 --- a/plugins/mod_tls.lua +++ b/plugins/mod_tls.lua @@ -35,7 +35,8 @@ local host = hosts[module.host]; local ssl_ctx_c2s, ssl_ctx_s2sout, ssl_ctx_s2sin; local ssl_cfg_c2s, ssl_cfg_s2sout, ssl_cfg_s2sin; -do + +function module.load() local NULL, err = {}; local modhost = module.host; local parent = modhost:match("%.(.*)$"); @@ -61,6 +62,8 @@ do if not ssl_ctx_s2sin then module:log("error", "Error creating contexts for s2sin: %s", err); end end +module:hook_global("config-reloaded", module.load); + local function can_do_tls(session) if not session.conn.starttls then if not session.secure then |