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