aboutsummaryrefslogtreecommitdiffstats
path: root/util/sasl_cyrus.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2012-07-24 10:56:47 +0100
committerMatthew Wild <mwild1@gmail.com>2012-07-24 10:56:47 +0100
commit9306fa497983088359c6f1f6b8c4658bf0ec2b99 (patch)
tree4c8785c3d1a2bee2caa5bbcf7e4ecdf76580b078 /util/sasl_cyrus.lua
parentce33d9c59d49b9b290a8c2c142861dc35779c1b1 (diff)
downloadprosody-9306fa497983088359c6f1f6b8c4658bf0ec2b99.tar.gz
prosody-9306fa497983088359c6f1f6b8c4658bf0ec2b99.zip
mod_auth_cyrus, util.sasl_cyrus: Add new option 'cyrus_server_fqdn' to override the hostname passed to Cyrus (and used in e.g. GSSAPI/Kerberos) - fixes #295
Diffstat (limited to 'util/sasl_cyrus.lua')
-rw-r--r--util/sasl_cyrus.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/util/sasl_cyrus.lua b/util/sasl_cyrus.lua
index 002118fd..19684587 100644
--- a/util/sasl_cyrus.lua
+++ b/util/sasl_cyrus.lua
@@ -78,11 +78,15 @@ local function init(service_name)
end
-- create a new SASL object which can be used to authenticate clients
-function new(realm, service_name, app_name)
+-- host_fqdn may be nil in which case gethostname() gives the value.
+-- For GSSAPI, this determines the hostname in the service ticket (after
+-- reverse DNS canonicalization, only if [libdefaults] rdns = true which
+-- is the default).
+function new(realm, service_name, app_name, host_fqdn)
init(app_name or service_name);
- local st, ret = pcall(cyrussasl.server_new, service_name, nil, realm, nil, nil)
+ local st, ret = pcall(cyrussasl.server_new, service_name, host_fqdn, realm, nil, nil)
if not st then
log("error", "Creating SASL server connection failed: %s", ret);
return nil;