* Thu Jun 05 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-32.sme

- Replicate user accounts to samba Active Directory [SME: 12799]
This commit is contained in:
2025-06-05 16:40:38 -04:00
parent 8615e569eb
commit 6957c1ab9c
8 changed files with 116 additions and 1 deletions

View File

@@ -911,6 +911,29 @@ sub reset_password {
$self->success($self->localise('PASSWORD_CHANGE_SUCCEEDED',
{ acctName => $acctName}));
my $serv = $configdb->get('samba') || '';
if (($serv eq 'service') && ($acctName ne 'administrator'))
{
my $samba = $configdb->get('samba')->prop('status') || 'disabled';
my $sambaip = $configdb->get('samba')->prop('SambaIP') || '';
my $sambapwd = $configdb->get('samba')->prop('Password') || '';
if ($sambaip eq '' || $sambapwd eq '')
{
$samba = 'disabled';
}
if ($samba eq 'enabled')
{
my $password = $self->{cgi}->param('password1');
unless (($password) = ($password =~ /^([ -~]+)$/ ))
{
return $self->error('TAINTED_PASSWORD');
}
$password = $1;
system("/usr/bin/samba-tool", "user", "setpassword", "$acctName", "--newpassword=$password", "-H", "ldap://$sambaip", "--username=administrator", "--password=$sambapwd") == 0
or warn ("Error occured while modifying (addc) password for $acctName.\n" );
}
}
}
else
{