Changeset

5870:61f748d363e1

util.sasl.scram: Cache profile name instead of concatenating when used
author Kim Alvefur <zash@zash.se>
date Sun, 13 Oct 2013 01:36:28 +0200
parents 5869:35780ef2d689
children 5871:e80916ce8d32
files util/sasl/scram.lua
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/util/sasl/scram.lua	Sun Oct 13 01:14:21 2013 +0200
+++ b/util/sasl/scram.lua	Sun Oct 13 01:36:28 2013 +0200
@@ -101,6 +101,7 @@
 end
 
 local function scram_gen(hash_name, H_f, HMAC_f)
+	local profile_name = "scram_" .. hashprep(hash_name);
 	local function scram_hash(self, message)
 		local support_channel_binding = false;
 		if self.profile.cb then support_channel_binding = true; end
@@ -168,9 +169,9 @@
 					log("error", "Generating authentication database failed. Reason: %s", stored_key);
 					return "failure", "temporary-auth-failure";
 				end
-			elseif self.profile["scram_"..hashprep(hash_name)] then
+			elseif self.profile[profile_name] then
 				local state;
-				stored_key, server_key, iteration_count, salt, state = self.profile["scram_"..hashprep(hash_name)](self, name, self.realm);
+				stored_key, server_key, iteration_count, salt, state = self.profile[profile_name](self, name, self.realm);
 				if state == nil then return "failure", "not-authorized"
 				elseif state == false then return "failure", "account-disabled" end
 			end