3 # Save, create or delete a user
5 require './apache-lib.pl';
6 require './auth-lib.pl';
9 &allowed_auth_file($in{'file'}) ||
10 &error(&text('authu_ecannot', $in{'file'}));
13 &delete_authuser($in{'file'}, $in{'olduser'});
16 # Creating or updating
17 &error_setup($text{'authu_err'});
18 $in{'user'} =~ /\S/ || &error($text{'authu_euser'});
19 $in{'user'} !~ /:/ || &error($text{'authu_euser2'});
21 $oldu = &get_authuser($in{'file'}, $in{'olduser'});
22 $uinfo{'user'} = $in{'user'};
24 $uinfo{'pass'} = $in{'enc'};
27 $salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
28 $uinfo{'pass'} = &unix_crypt($in{'pass'}, $salt);
31 if (defined($in{'olduser'})) {
32 # updating an old user
33 if ($in{'olduser'} ne $in{'user'} &&
34 &get_authuser($in{'file'}, $in{'user'})) {
35 &error(&text('authu_edup', $in{'user'}));
37 &save_authuser($in{'file'}, $in{'olduser'}, \%uinfo);
41 if (&get_authuser($in{'file'}, $in{'user'})) {
42 &error(&text('authu_edup', $in{'user'}));
44 &create_authuser($in{'file'}, \%uinfo);
47 &redirect($in{'url'});