Mercurial > prosody-modules
diff mod_auth_dovecot/auth_dovecot/mod_auth_dovecot.lua @ 700:0c130c45b7c1
mod_auth_dovecot: Old forgotten changes. Testing appreciated.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 07 Jun 2012 23:41:25 +0200 |
parents | 942738953ff3 |
children | 881ec9919144 |
line wrap: on
line diff
--- a/mod_auth_dovecot/auth_dovecot/mod_auth_dovecot.lua Tue Jun 05 22:47:12 2012 +0200 +++ b/mod_auth_dovecot/auth_dovecot/mod_auth_dovecot.lua Thu Jun 07 23:41:25 2012 +0200 @@ -14,6 +14,7 @@ local service_realm = module:get_option("realm"); local service_name = module:get_option("service_name"); local append_host = module:get_option_boolean("auth_append_host"); +--assert(not append_host, "auth_append_host does not work"); local validate_domain = module:get_option_boolean("validate_append_host"); local handle_appended = module:get_option_string("handle_appended"); local util_sasl_new = require "util.sasl".new; @@ -25,7 +26,7 @@ service_realm or realm, service_name or "xmpp", - socket_port and { socket_path, socket_port } or socket_path, + socket_port and { socket_host, socket_port } or socket_path, { --config handle_domain = handle_appended or @@ -55,22 +56,6 @@ return new_sasl(module.host):plain_test(username, password); end -if append_host then - new_sasl = function(realm) - return util_sasl_new(realm, { - plain_test = function(sasl, username, password, realm) - local prepped_username = nodeprep(username); - if not prepped_username then - log("debug", "NODEprep failed on username: %s", username); - return "", nil; - end - prepped_username = prepped_username .. "@" .. module.host; - return provider.test_password(prepped_username, password), true; - end, - }); - end -end - function provider.get_password(username) return nil, "Passwords unavailable for "..name; end @@ -80,10 +65,13 @@ end function provider.user_exists(username) + return true -- FIXME +--[[ This, sadly, doesn't work. local user_test = new_sasl(module.host); user_test:select("PLAIN"); user_test:process(("\0%s\0"):format(username)); return user_test.username == username; +--]] end function provider.create_user(username, password) @@ -94,5 +82,13 @@ return new_sasl(module.host); end +if append_host then + function provider.test_password(username, password) + return new_sasl(module.host):plain_test(username .. "@".. (service_realm or module.host), password); + end + + provider.get_sasl_handler = nil +end + module:add_item("auth-provider", provider);