From a3471bc8fa49d734099cbf2ebfcc412560515227 Mon Sep 17 00:00:00 2001 From: Herman van Rink <rink@initfour.nl> Date: Sat, 26 Jan 2019 21:52:36 +0100 Subject: [PATCH] Create a util function to remove duplication Lost on master(!866) ... now on cherry-picked on !1132 --- interface/lib/classes/auth.inc.php | 30 +++++++++++++++++++ .../lib/classes/validate_password.inc.php | 6 ++-- interface/web/login/password_reset.php | 3 +- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php index 5daabd50b3..c117e53707 100644 --- a/interface/lib/classes/auth.inc.php +++ b/interface/lib/classes/auth.inc.php @@ -198,6 +198,36 @@ class auth { } + /** + * Get the minimum password length. + */ + public function get_min_password_length() { + global $app; + $server_config_array = $app->getconf->get_global_config(); + $min_password_length = 8; + if(isset($server_config_array['misc']['min_password_length'])) $min_password_length = $server_config_array['misc']['min_password_length']; + return $min_password_length; + } + + /** + * Get the minimum password strength. + */ + public function get_min_password_strength() { + global $app; + $server_config_array = $app->getconf->get_global_config(); + $min_password_strength = 0; + if(isset($server_config_array['misc']['min_password_strength'])) $min_password_strength = $server_config_array['misc']['min_password_strength'];; + return $min_password_strength; + } + + /** + * Generate a ranmdom password. + * + * @param int $minLength + * Minimum number of characters. + * @param boolean $special + * Include special characters, like # and ! + */ public function get_random_password($minLength = 8, $special = false) { if($minLength < 8) $minLength = 8; $maxLength = $minLength + 5; diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php index a0f6de2e96..fc7b969843 100644 --- a/interface/lib/classes/validate_password.inc.php +++ b/interface/lib/classes/validate_password.inc.php @@ -111,10 +111,8 @@ class validate_password { $app->uses('ini_parser,getconf'); $server_config_array = $app->getconf->get_global_config(); - $min_password_strength = 0; - $min_password_length = 5; - if(isset($server_config_array['misc']['min_password_length'])) $min_password_length = $server_config_array['misc']['min_password_length']; - if(isset($server_config_array['misc']['min_password_strength'])) $min_password_strength = $server_config_array['misc']['min_password_strength']; + $min_password_length = $app->auth->get_min_password_length(); + $min_password_strength = $app->auth->get_min_password_strength(); if($min_password_strength > 0) { $lng_text = $app->lng('weak_password_txt'); diff --git a/interface/web/login/password_reset.php b/interface/web/login/password_reset.php index 0a15b0c52b..f14548dd91 100644 --- a/interface/web/login/password_reset.php +++ b/interface/web/login/password_reset.php @@ -126,8 +126,7 @@ if(isset($_POST['username']) && $_POST['username'] != '' && $_POST['email'] != ' } elseif ($continue) { if($client['client_id'] > 0) { $server_config_array = $app->getconf->get_global_config(); - $min_password_length = 8; - if(isset($server_config_array['misc']['min_password_length'])) $min_password_length = $server_config_array['misc']['min_password_length']; + $min_password_length = $app->auth->get_min_password_length(); $new_password = $app->auth->get_random_password($min_password_length, true); $new_password_encrypted = $app->auth->crypt_password($new_password); -- GitLab