MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //var/usr/webmin-1.941/pap/useradmin_update.pl
do 'pap-lib.pl';

# useradmin_create_user(&details)
# Add a PAP user if syncing is enabled
sub useradmin_create_user
{
return if (!$config{'sync_add'});
@sec = &list_secrets();
foreach $s (@sec) {
	return if ($s->{'client'} eq $_[0]->{'user'});
	}
$sec{'client'} = $_[0]->{'user'};
$sec{'server'} = $config{'sync_server'} ? $config{'sync_server'} : "*";
&compute_password($_[0], \%sec);
$sec{'ips'} = [ ];
&create_secret(\%sec);
}

# useradmin_delete_user(&details)
# Delete this pap user if syncing
sub useradmin_delete_user
{
return if (!$config{'sync_delete'});
@sec = &list_secrets();
for($i=0; $i<@sec; $i++) {
	if ($sec[$i]->{'client'} eq $_[0]->{'user'}) {
		&delete_secret($sec[$i]);
		return;
		}
	}
}

# useradmin_modify_user(&details)
# Update this user if in sync
sub useradmin_modify_user
{
return if (!$config{'sync_change'});
@sec = &list_secrets();
for($i=0; $i<@sec; $i++) {
	if ($sec[$i]->{'client'} eq $_[0]->{'olduser'}) {
		$sec[$i]->{'client'} = $_[0]->{'user'};
		&compute_password($_[0], $sec[$i]);
		&change_secret($sec[$i]);
		return;
		}
	}
}

# compute_password(&user, &secret)
sub compute_password
{
if ($_[0]->{'passmode'} == 0) {
	$_[1]->{'secret'} = &opt_crypt("");
	}
elsif ($_[0]->{'passmode'} == 1) {
	$_[1]->{'secret'} = "*LK*";
	}
elsif ($_[0]->{'passmode'} == 2) {
	$_[1]->{'secret'} = $_[0]->{'pass'} if ($config{'encrypt_pass'});
	}
elsif ($_[0]->{'passmode'} == 3) {
	$_[1]->{'secret'} = &opt_crypt($_[0]->{'plainpass'});
	}
}

1;