Comparison

plugins/mod_auth_internal_plain.lua @ 6054:7a5ddbaf758d

Merge 0.9->0.10
author Matthew Wild <mwild1@gmail.com>
date Wed, 02 Apr 2014 17:41:38 +0100
parent 5781:b374eb414a32
child 8057:4a9275594981
comparison
equal deleted inserted replaced
6053:2f93a04564b2 6054:7a5ddbaf758d
14 14
15 local accounts = module:open_store("accounts"); 15 local accounts = module:open_store("accounts");
16 16
17 -- define auth provider 17 -- define auth provider
18 local provider = {}; 18 local provider = {};
19 log("debug", "initializing internal_plain authentication provider for host '%s'", host);
20 19
21 function provider.test_password(username, password) 20 function provider.test_password(username, password)
22 log("debug", "test password for user %s at host %s", username, host); 21 log("debug", "test password for user '%s'", username);
23 local credentials = accounts:get(username) or {}; 22 local credentials = accounts:get(username) or {};
24 23
25 if password == credentials.password then 24 if password == credentials.password then
26 return true; 25 return true;
27 else 26 else
28 return nil, "Auth failed. Invalid username or password."; 27 return nil, "Auth failed. Invalid username or password.";
29 end 28 end
30 end 29 end
31 30
32 function provider.get_password(username) 31 function provider.get_password(username)
33 log("debug", "get_password for username '%s' at host '%s'", username, host); 32 log("debug", "get_password for username '%s'", username);
34 return (accounts:get(username) or {}).password; 33 return (accounts:get(username) or {}).password;
35 end 34 end
36 35
37 function provider.set_password(username, password) 36 function provider.set_password(username, password)
37 log("debug", "set_password for username '%s'", username);
38 local account = accounts:get(username); 38 local account = accounts:get(username);
39 if account then 39 if account then
40 account.password = password; 40 account.password = password;
41 return accounts:set(username, account); 41 return accounts:set(username, account);
42 end 42 end
44 end 44 end
45 45
46 function provider.user_exists(username) 46 function provider.user_exists(username)
47 local account = accounts:get(username); 47 local account = accounts:get(username);
48 if not account then 48 if not account then
49 log("debug", "account not found for username '%s' at host '%s'", username, host); 49 log("debug", "account not found for username '%s'", username);
50 return nil, "Auth failed. Invalid username"; 50 return nil, "Auth failed. Invalid username";
51 end 51 end
52 return true; 52 return true;
53 end 53 end
54 54
74 return password, true; 74 return password, true;
75 end 75 end
76 }; 76 };
77 return new_sasl(host, getpass_authentication_profile); 77 return new_sasl(host, getpass_authentication_profile);
78 end 78 end
79 79
80 module:provides("auth", provider); 80 module:provides("auth", provider);
81 81