4 # useradmin_create_user(&details)
5 # Create a new CVS user if syncing is enabled
6 sub useradmin_create_user
8 if ($config{'sync_create'}) {
9 local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
10 local $user = { 'user' => $_[0]->{'user'},
11 'pass' => $_[0]->{'passmode'} == 3 ?
12 &unix_crypt($_[0]->{'plainpass'}, $salt) : $_[0]->{'pass'},
13 'unix' => $config{'sync_user'} };
14 &create_password($user);
18 # useradmin_delete_user(&details)
20 sub useradmin_delete_user
22 if ($config{'sync_delete'}) {
23 local @passwd = &list_passwords();
24 local ($user) = grep { $_->{'user'} eq $_[0]->{'user'} } @passwd;
25 &delete_password($user) if ($user);
29 # useradmin_modify_user(&details)
31 sub useradmin_modify_user
33 if ($config{'sync_modify'}) {
34 local @passwd = &list_passwords();
35 local ($user) = grep { $_->{'user'} eq $_[0]->{'olduser'} } @passwd;
37 local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
38 $user->{'user'} = $_[0]->{'user'};
39 if ($_[0]->{'passmode'} == 3) {
40 $user->{'pass'} = &unix_crypt($_[0]->{'plainpass'}, $salt);
42 elsif ($_[0]->{'passmode'} != 4) {
43 $user->{'pass'} = $_[0]->{'pass'};
45 &modify_password($user);