diff mod_auth_joomla/mod_auth_joomla.lua @ 753:9d5731af2c27

Merge with Oliver Gerlich
author Matthew Wild <mwild1@gmail.com>
date Fri, 27 Jul 2012 14:29:59 +0100
parents 97f6d7c4aaed
children 881ec9919144
line wrap: on
line diff
--- a/mod_auth_joomla/mod_auth_joomla.lua	Mon Jun 11 22:32:45 2012 +0200
+++ b/mod_auth_joomla/mod_auth_joomla.lua	Fri Jul 27 14:29:59 2012 +0100
@@ -12,6 +12,7 @@
 
 local connection;
 local params = module:get_option("sql");
+local prefix = params and params.prefix or "jos_";
 
 local resolve_relative_path = require "core.configmanager".resolve_relative_path;
 
@@ -79,7 +80,7 @@
 end
 
 local function get_password(username)
-	local stmt, err = getsql("SELECT `password` FROM `jos_users` WHERE `username`=?", username);
+	local stmt, err = getsql("SELECT `password` FROM `"..prefix.."users` WHERE `username`=?", username);
 	if stmt then
 		for row in stmt:rows(true) do
 			return row.password;
@@ -89,7 +90,8 @@
 
 
 local function getCryptedPassword(plaintext, salt)
-	return md5(plaintext..salt);
+	local salted = plaintext..salt;
+	return md5(salted, true);
 end
 local function joomlaCheckHash(password, hash)
 	local crypt, salt = hash:match("^([^:]*):(.*)$");
@@ -118,7 +120,7 @@
 end
 function provider.set_password(username, password)
 	local hash = joomlaCreateHash(password);
-	local stmt, err = setsql("UPDATE `jos_users` SET `password`=? WHERE `username`=?", hash, username);
+	local stmt, err = setsql("UPDATE `"..prefix.."users` SET `password`=? WHERE `username`=?", hash, username);
 	return stmt and true, err;
 end
 function provider.create_user(username, password)