Mercurial > prosody-modules
comparison mod_auth_dovecot/mod_auth_dovecot.lua @ 338:6560fd0b77f5
mod_auth_dovecot: One mechanism per MECH command.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 13 Feb 2011 23:29:05 +0100 |
parents | 31deafcbf623 |
children | 5aa8229e8815 |
comparison
equal
deleted
inserted
replaced
337:beb5073b866a | 338:6560fd0b77f5 |
---|---|
76 log("error", "dovecot server version is not 1.x. it is %s.x", major_version); | 76 log("error", "dovecot server version is not 1.x. it is %s.x", major_version); |
77 provider:close(); | 77 provider:close(); |
78 return false; | 78 return false; |
79 end | 79 end |
80 elseif first == "MECH" then | 80 elseif first == "MECH" then |
81 -- Mechanisms should include PLAIN | 81 local mech = parts(); |
82 local ok = false; | 82 supported_mechs[mech] = true; |
83 for part in parts do | 83 elseif first == "DONE" then |
84 if part == "PLAIN" then | 84 -- We need PLAIN |
85 ok = true; | 85 if not supported_mechs.PLAIN then |
86 end | 86 log("warn", "server doesn't support PLAIN mechanism."); |
87 end | |
88 if not ok then | |
89 log("warn", "server doesn't support PLAIN mechanism. It supports '%s'", line); | |
90 provider:close(); | 87 provider:close(); |
91 return false; | 88 return false; |
92 end | 89 end |
93 elseif first == "DONE" then | |
94 done = true; | 90 done = true; |
95 end | 91 end |
96 end | 92 end |
97 return true; | 93 return true; |
98 end | 94 end |