aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-12-07 22:55:51 +0100
committerKim Alvefur <zash@zash.se>2019-12-07 22:55:51 +0100
commit65316d3d5aae5b4554e273c75474dfd704e95d7e (patch)
treeab77168f5e0ac773b8d42ca7c4a3b7f3c84c49d6
parent0ec577b5dfed46586ff329e531bcc18a4cd5ec00 (diff)
downloadprosody-65316d3d5aae5b4554e273c75474dfd704e95d7e.tar.gz
prosody-65316d3d5aae5b4554e273c75474dfd704e95d7e.zip
mod_saslauth: Set a nicer bounce error explaining SASL EXTERNAL failures
Better than the previous string concatenation of SASL failure condition and optional text sent by the remote server. Would be nice to have a text per condition, other than the probably most common 'not-authorized'.
-rw-r--r--plugins/mod_saslauth.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua
index b5604883..ecce8361 100644
--- a/plugins/mod_saslauth.lua
+++ b/plugins/mod_saslauth.lua
@@ -120,7 +120,10 @@ end, 500)
module:hook_tag(xmlns_sasl, "failure", function (session, stanza) -- luacheck: ignore 212/stanza
session.log("debug", "No fallback from SASL EXTERNAL failure, giving up");
- session:close(nil, session.external_auth_failure_reason);
+ session:close(nil, session.external_auth_failure_reason, errors.new({
+ type = "wait", condition = "remote-server-timeout",
+ text = "Could not authenticate to remote server",
+ }, { session = session, sasl_failure = session.external_auth_failure_reason, }));
return true;
end, 90)