aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure6
-rw-r--r--plugins/mod_mam/mod_mam.lua8
-rw-r--r--plugins/mod_tls.lua5
3 files changed, 17 insertions, 2 deletions
diff --git a/configure b/configure
index 08f631ee..63403738 100755
--- a/configure
+++ b/configure
@@ -297,9 +297,15 @@ do
--cflags)
CFLAGS="$value"
;;
+ --add-cflags)
+ CFLAGS="$CFLAGS $value"
+ ;;
--ldflags)
LDFLAGS="$value"
;;
+ --add-ldflags)
+ LDFLAGS="$LDFLAGS $value"
+ ;;
--c-compiler)
CC="$value"
;;
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