Mercurial > prosody-hg
comparison plugins/mod_saslauth.lua @ 2642:333d7e2033b2
mod_saslauth: Warn and fallback gracefully when Cyrus SASL is requested, but missing.
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Mon, 15 Feb 2010 02:51:07 +0500 |
| parents | e486aca8c5d1 |
| children | 064efb684aff |
comparison
equal
deleted
inserted
replaced
| 2641:b083a667e3be | 2642:333d7e2033b2 |
|---|---|
| 32 | 32 |
| 33 local xmlns_sasl ='urn:ietf:params:xml:ns:xmpp-sasl'; | 33 local xmlns_sasl ='urn:ietf:params:xml:ns:xmpp-sasl'; |
| 34 local xmlns_bind ='urn:ietf:params:xml:ns:xmpp-bind'; | 34 local xmlns_bind ='urn:ietf:params:xml:ns:xmpp-bind'; |
| 35 local xmlns_stanzas ='urn:ietf:params:xml:ns:xmpp-stanzas'; | 35 local xmlns_stanzas ='urn:ietf:params:xml:ns:xmpp-stanzas'; |
| 36 | 36 |
| 37 local new_sasl | 37 local new_sasl; |
| 38 if sasl_backend == "cyrus" then | 38 if sasl_backend == "cyrus" then |
| 39 local cyrus_new = require "util.sasl_cyrus".new; | 39 local cyrus, err = pcall(require, "util.sasl_cyrus"); |
| 40 new_sasl = function(realm) | 40 if cyrus then |
| 41 return cyrus_new(realm, module:get_option("cyrus_service_name") or "xmpp"); | 41 local cyrus_new = cyrus.new; |
| 42 end | 42 new_sasl = function(realm) |
| 43 else | 43 return cyrus_new(realm, module:get_option("cyrus_service_name") or "xmpp"); |
| 44 end | |
| 45 else | |
| 46 sasl_backend = "builtin"; | |
| 47 module:log("warn", "Failed to load Cyrus SASL, falling back to builtin auth mechanisms"); | |
| 48 end | |
| 49 end | |
| 50 if not new_sasl then | |
| 44 if sasl_backend ~= "builtin" then module:log("warn", "Unknown SASL backend %s", sasl_backend); end; | 51 if sasl_backend ~= "builtin" then module:log("warn", "Unknown SASL backend %s", sasl_backend); end; |
| 45 new_sasl = require "util.sasl".new; | 52 new_sasl = require "util.sasl".new; |
| 46 end | 53 end |
| 47 | 54 |
| 48 local default_authentication_profile = { | 55 local default_authentication_profile = { |
