-local new_sasl;
-if sasl_backend == "builtin" then
- new_sasl = require "util.sasl".new;
-elseif sasl_backend == "cyrus" then
- prosody.unlock_globals(); --FIXME: Figure out why this is needed and
- -- why cyrussasl isn't caught by the sandbox
- local ok, cyrus = pcall(require, "util.sasl_cyrus");
- prosody.lock_globals();
- if ok then
- local cyrus_new = cyrus.new;
- new_sasl = function(realm)
- return cyrus_new(
- cyrus_service_realm or realm,
- cyrus_service_name or "xmpp",
- cyrus_application_name or "prosody"
- );
- end
- else
- module:log("error", "Failed to load Cyrus SASL because: %s", cyrus);
- error("Failed to load Cyrus SASL");
- end
-else
- module:log("error", "Unknown SASL backend: %s", sasl_backend);
- error("Unknown SASL backend");
-end
-
-local default_authentication_profile = {
- plain = function(username, realm)
- local prepped_username = nodeprep(username);
- if not prepped_username then
- log("debug", "NODEprep failed on username: %s", username);
- return "", nil;
- end
- local password = usermanager_get_password(prepped_username, realm);
- if not password then
- return "", nil;
- end
- return password, true;
- end
-};
-
-local anonymous_authentication_profile = {
- anonymous = function(username, realm)
- return true; -- for normal usage you should always return true here
- end
-};
-