Handle hostnames with upper-case letters
[webmin.git] / pserver / useradmin_update.pl
1
2 do 'pserver-lib.pl';
3
4 # useradmin_create_user(&details)
5 # Create a new CVS user if syncing is enabled
6 sub useradmin_create_user
7 {
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);
15         }
16 }
17
18 # useradmin_delete_user(&details)
19 # Delete a mysql user
20 sub useradmin_delete_user
21 {
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);
26         }
27 }
28
29 # useradmin_modify_user(&details)
30 # Update a mysql user
31 sub useradmin_modify_user
32 {
33 if ($config{'sync_modify'}) {
34         local @passwd = &list_passwords();
35         local ($user) = grep { $_->{'user'} eq $_[0]->{'olduser'} } @passwd;
36         if ($user) {
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);
41                         }
42                 elsif ($_[0]->{'passmode'} != 4) {
43                         $user->{'pass'} = $_[0]->{'pass'};
44                         }
45                 &modify_password($user);
46                 }
47         }
48 }
49
50 1;
51