# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1577137359 -3600
# Node ID b1ca849b8e3a29d8ddfa95496f0f2604e184f1c7
# Parent  225fade2ab4d3699195e3cc2fc395347211c0cb8
mod_auth_internal_hashed: Pass on errors from password hash function (fixes #1477)

diff -r 225fade2ab4d -r b1ca849b8e3a plugins/mod_auth_internal_hashed.lua
--- a/plugins/mod_auth_internal_hashed.lua	Mon Jun 10 13:57:09 2019 +0200
+++ b/plugins/mod_auth_internal_hashed.lua	Mon Dec 23 22:42:39 2019 +0100
@@ -68,6 +68,9 @@
 		account.salt = generate_uuid();
 		account.iteration_count = max(account.iteration_count or 0, default_iteration_count);
 		local valid, stored_key, server_key = getAuthenticationDatabaseSHA1(password, account.salt, account.iteration_count);
+		if not valid then
+			return valid, stored_key;
+		end
 		local stored_key_hex = to_hex(stored_key);
 		local server_key_hex = to_hex(server_key);
 
@@ -99,6 +102,9 @@
 	end
 	local salt = generate_uuid();
 	local valid, stored_key, server_key = getAuthenticationDatabaseSHA1(password, salt, default_iteration_count);
+	if not valid then
+		return valid, stored_key;
+	end
 	local stored_key_hex = to_hex(stored_key);
 	local server_key_hex = to_hex(server_key);
 	return accounts:set(username, {