4 # useradmin_create_user(&details)
5 # Add a PAP user if syncing is enabled
6 sub useradmin_create_user
8 return if (!$config{'sync_add'});
9 @sec = &list_secrets();
11 return if ($s->{'client'} eq $_[0]->{'user'});
13 $sec{'client'} = $_[0]->{'user'};
14 $sec{'server'} = $config{'sync_server'} ? $config{'sync_server'} : "*";
15 &compute_password($_[0], \%sec);
17 &create_secret(\%sec);
20 # useradmin_delete_user(&details)
21 # Delete this pap user if syncing
22 sub useradmin_delete_user
24 return if (!$config{'sync_delete'});
25 @sec = &list_secrets();
26 for($i=0; $i<@sec; $i++) {
27 if ($sec[$i]->{'client'} eq $_[0]->{'user'}) {
28 &delete_secret($sec[$i]);
34 # useradmin_modify_user(&details)
35 # Update this user if in sync
36 sub useradmin_modify_user
38 return if (!$config{'sync_change'});
39 @sec = &list_secrets();
40 for($i=0; $i<@sec; $i++) {
41 if ($sec[$i]->{'client'} eq $_[0]->{'olduser'}) {
42 $sec[$i]->{'client'} = $_[0]->{'user'};
43 &compute_password($_[0], $sec[$i]);
44 &change_secret($sec[$i]);
50 # compute_password(&user, &secret)
53 if ($_[0]->{'passmode'} == 0) {
54 $_[1]->{'secret'} = &opt_crypt("");
56 elsif ($_[0]->{'passmode'} == 1) {
57 $_[1]->{'secret'} = "*LK*";
59 elsif ($_[0]->{'passmode'} == 2) {
60 $_[1]->{'secret'} = $_[0]->{'pass'} if ($config{'encrypt_pass'});
62 elsif ($_[0]->{'passmode'} == 3) {
63 $_[1]->{'secret'} = &opt_crypt($_[0]->{'plainpass'});