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 |
