* Mon Jul 28 2025 Brian Read <brianr@koozali.org> 11.0.0-111.sme

- Add password strength details to passowrd panels [SME: 13081]
This commit is contained in:
2025-07-28 16:43:41 +01:00
parent 837b855101
commit a3fda90a85
8 changed files with 59 additions and 4 deletions

View File

@@ -120,6 +120,20 @@ sub do_display {
}
$c->stash(useraccounts => \@useraccounts);
} ## end if ($trt eq 'LIST')
my $cdb = esmith::ConfigDB::UTF8->open_ro || die "Couldn't open configuration db";
my $rec = $cdb->get('passwordstrength');
$usr_datas{passwdlength} = ($rec ? ($rec->prop('length') || 12) : 12);
if ($trt eq 'PWS'){
$usr_datas{passwdstrength} = ($rec ? ($rec->prop('Admin') || 'none') : 'none');
} else {
$usr_datas{passwdstrength} = ($rec ? ($rec->prop('Users') || 'none') : 'none');
}
if ( !(defined $usr_datas{passwdstrength} && $usr_datas{passwdstrength} =~ /^(none|normal|intermediate|strong)$/)) {
$usr_datas{passwdstrength} = 'strong';
}
$c->stash(title => $title, notif => $notif, usr_datas => \%usr_datas);
$c->render(template => 'useraccounts');
} ## end sub do_display

View File

@@ -50,6 +50,18 @@ sub main {
$pwd_datas{jwt} = $jwt;
$c->flash(success => $c->l('pwd_OK_FOR_RESET'));
} ## end else [ if ($c->is_logged_in) ]
my $cdb = esmith::ConfigDB::UTF8->open_ro || die "Couldn't open configuration db";
my $rec = $cdb->get('passwordstrength');
$pwd_datas{passwdlength} = ($rec ? ($rec->prop('length') || 12) : 12);
if ($c->is_admin){
$pwd_datas{passwdstrength} = ($rec ? ($rec->prop('Admin') || 'none') : 'none');
} else {
$pwd_datas{passwdstrength} = ($rec ? ($rec->prop('Users') || 'none') : 'none');
}
if ( !(defined $pwd_datas{passwdstrength} && $pwd_datas{passwdstrength} =~ /^(none|normal|intermediate|strong)$/)) {
$pwd_datas{passwdstrength} = 'strong';
}
$c->stash(pwd_datas => \%pwd_datas);
$c->render('userpassword');
} ## end sub main

View File

@@ -60,3 +60,8 @@
'usr_NEW_SYSTEM_PASSWORD_VERIFY' => 'New system password (verify)',
'usr_LABEL_IPSECRW_DOWNLOAD' => 'Download digital certificate to IPSec client',
'usr_ERR_OCCURRED_DELETING' => 'An error occurred while trying to delete the user.',
'usr_NONE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters.',
'usr_NORMAL_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters.',
'usr_INTERMEDIATE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters and must pass a dictionary check.',
'usr_STRONG_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters, numbers and special characters and must pass a dictionary check.',
'usr_PASSWORD_WIKI' => "If you want to know more about passwords, then please refer to the <a href='https://wiki.koozali.org/SME_Server:Documentation:Administration_Manual:Chapter9#Changing_User_Passwords'>Wiki</a>",

View File

@@ -19,5 +19,8 @@
'pwd_PASSWORD_CHANGE_SUCCESS' => 'Your password has been successfully changed.',
'pwd_DESCRIPTION' => '<P>To change your account password, please fill out the following form. You will need to provide the name of your account, your old password, and your desired new password. (You must type the new password twice.)</P><P>If you cannot change your password because you have forgotten the old one, your local system administrator can reset your password using the <EM>server manager</EM>.</P>',
'pwd_DESCRIPTION_RESET' => '<P>To reset your account password, please fill out the following form. You will need to provide your desired new password. (You must type it twice.)</P><P>In cas of problem, your local system administrator can reset your password using the <EM>server manager</EM>.</P>',
'pwd_PASSWORD_DESCRIPTION' => 'The password must be composed of at least twelve characters with uppercase and lowercase letters, numbers and non-alphanumeric characters.',
'pwd_PASSWORD_WIKI' => "If you want to know more about passwords, then please refer to the <a href='https://wiki.koozali.org/Useful_Commands#Password_strength'>Wiki</a>",
'pwd_NONE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters.',
'pwd_NORMAL_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters.',
'pwd_INTERMEDIATE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters and must pass a dictionary check.',
'pwd_STRONG_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters, numbers and special characters and must pass a dictionary check.',
'pwd_PASSWORD_WIKI' => "If you want to know more about passwords, then please refer to the <a href='https://wiki.koozali.org/SME_Server:Documentation:Administration_Manual:Chapter9#Changing_User_Passwords'>Wiki</a>",

View File

@@ -13,6 +13,14 @@
<br>
%= l 'usr_RESET_DESC2'
</p>
<p>
% my $strength = uc($usr_datas->{passwdstrength});
<%= $c->render_to_string( inline => l('usr_'.$strength.'_PASSWORD_DESCRIPTION',$usr_datas->{passwdlength})) %>
<br /><br />
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI')) %>
</p>
<p>
<span class=label>

View File

@@ -6,6 +6,14 @@
<p>
%= l 'usr_SYSTEM_PASSWORD_DESCRIPTION'
</p>
<p>
% my $strength = uc($usr_datas->{passwdstrength});
<%= $c->render_to_string( inline => l('usr_'.$strength.'_PASSWORD_DESCRIPTION',$usr_datas->{passwdlength})) %>
<br /><br />
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI')) %>
</p>
<p>
<span class=label>

View File

@@ -27,7 +27,9 @@
%= $c->render_to_string( inline => l('pwd_DESCRIPTION'));
<p>
<%= $c->render_to_string( inline => l('pwd_PASSWORD_DESCRIPTION')) %><br />
% my $strength = uc($pwd_datas->{passwdstrength});
<%= $c->render_to_string( inline => l('pwd_'.$strength.'_PASSWORD_DESCRIPTION',$pwd_datas->{passwdlength})) %>
<br /><br />
<%= $c->render_to_string( inline => l('pwd_PASSWORD_WIKI')) %>
</p>

View File

@@ -2,7 +2,7 @@ Summary: Sme server navigation module : manager 2
%define name smeserver-manager
Name: %{name}
%define version 11.0.0
%define release 110
%define release 111
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@@ -146,6 +146,9 @@ true
%defattr(-,root,root)
%changelog
* Mon Jul 28 2025 Brian Read <brianr@koozali.org> 11.0.0-111.sme
- Add password strength details to passowrd panels [SME: 13081]
* Sat Jul 26 2025 Brian Read <brianr@koozali.org> 11.0.0-110.sme
- Get cifs workstation backup restore to show backup sets [SME: 12645]
Add lex file for roundcubepanel to provide lex environment for lex strings