Comparison

plugins/mod_saslauth.lua @ 887:eef21d7bbe04

mod_saslauth: Disable SASL ANONYMOUS unless explicitly enabled with sasl_anonymous = true
author Matthew Wild <mwild1@gmail.com>
date Sat, 07 Mar 2009 20:17:09 +0000
parent 799:b7ea802f3527
child 896:2c0b9e3c11c3
comparison
equal deleted inserted replaced
886:96de7f0a41cc 887:eef21d7bbe04
15 local usermanager_validate_credentials = require "core.usermanager".validate_credentials; 15 local usermanager_validate_credentials = require "core.usermanager".validate_credentials;
16 local t_concat, t_insert = table.concat, table.insert; 16 local t_concat, t_insert = table.concat, table.insert;
17 local tostring = tostring; 17 local tostring = tostring;
18 local jid_split = require "util.jid".split 18 local jid_split = require "util.jid".split
19 local md5 = require "util.hashes".md5; 19 local md5 = require "util.hashes".md5;
20 local config = require "core.configmanager";
20 21
21 local log = require "util.logger".init("mod_saslauth"); 22 local log = require "util.logger".init("mod_saslauth");
22 23
23 local xmlns_sasl ='urn:ietf:params:xml:ns:xmpp-sasl'; 24 local xmlns_sasl ='urn:ietf:params:xml:ns:xmpp-sasl';
24 local xmlns_bind ='urn:ietf:params:xml:ns:xmpp-bind'; 25 local xmlns_bind ='urn:ietf:params:xml:ns:xmpp-bind';
104 if not session.username then 105 if not session.username then
105 features:tag("mechanisms", mechanisms_attr); 106 features:tag("mechanisms", mechanisms_attr);
106 -- TODO: Provide PLAIN only if TLS is active, this is a SHOULD from the introduction of RFC 4616. This behavior could be overridden via configuration but will issuing a warning or so. 107 -- TODO: Provide PLAIN only if TLS is active, this is a SHOULD from the introduction of RFC 4616. This behavior could be overridden via configuration but will issuing a warning or so.
107 features:tag("mechanism"):text("PLAIN"):up(); 108 features:tag("mechanism"):text("PLAIN"):up();
108 features:tag("mechanism"):text("DIGEST-MD5"):up(); 109 features:tag("mechanism"):text("DIGEST-MD5"):up();
109 features:tag("mechanism"):text("ANONYMOUS"):up(); 110 if config.get(session.host or "*", "core", "sasl_anonymous") then
111 features:tag("mechanism"):text("ANONYMOUS"):up();
112 end
110 features:up(); 113 features:up();
111 else 114 else
112 features:tag("bind", bind_attr):tag("required"):up():up(); 115 features:tag("bind", bind_attr):tag("required"):up():up();
113 features:tag("session", xmpp_session_attr):up(); 116 features:tag("session", xmpp_session_attr):up();
114 end 117 end