Handle hostnames with upper-case letters
[webmin.git] / usermin / change_advanced.cgi
1 #!/usr/local/bin/perl
2 # Save advanced options
3
4 require './usermin-lib.pl';
5 &ReadParse();
6 &error_setup($text{'advanced_err'});
7 &get_usermin_miniserv_config(\%miniserv);
8 &get_usermin_config(\%uconfig);
9
10 # Save global temp dir setting
11 if ($in{'tempdir_def'}) {
12         delete($uconfig{'tempdir'});
13         }
14 else {
15         -d $in{'tempdir'} || &error($text{'advanced_etemp'});
16         $uconfig{'tempdir'} = $in{'tempdir'};
17         }
18
19 # Save per-module temp dirs
20 for($i=0; defined($tmod = $in{'tmod_'.$i}); $i++) {
21         next if (!$tmod);
22         $tdir = $in{'tdir_'.$i};
23         %minfo = &get_usermin_module_info($tmod);
24         -d $tdir || &error(&text('advanced_etdir', $minfo{'desc'}));
25         push(@tdirs, [ $tmod, $tdir ]);
26         }
27 &webmin::save_tempdirs(\%uconfig, \@tdirs);
28
29 # Save stack trace option
30 $uconfig{'error_stack'} = $in{'stack'};
31
32 # Save umask
33 if ($in{'umask_def'}) {
34         delete($uconfig{'umask'});
35         }
36 else {
37         $in{'umask'} =~ /^[0-7]{3}$/ ||
38                 &error($text{'advanced_eumask'});
39         $uconfig{'umask'} = $in{'umask'};
40         }
41
42 &lock_file($usermin_config);
43 &write_file($usermin_config, \%uconfig);
44 &unlock_file($usermin_config);
45
46 # Save password pass option
47 $miniserv{'pass_password'} = $in{'pass'};
48
49 &lock_file($usermin_miniserv_config);
50 &put_usermin_miniserv_config(\%miniserv);
51 &unlock_file($usermin_miniserv_config);
52 &restart_usermin_miniserv();
53
54 &webmin_log("advanced");
55 &redirect("");
56