Handle hostnames with upper-case letters
[webmin.git] / webmin / change_web.cgi
1 #!/usr/local/bin/perl
2 # Save webserver options
3
4 require './webmin-lib.pl';
5 &ReadParse();
6 &error_setup($text{'web_err'});
7 &get_miniserv_config(\%miniserv);
8
9 # Save expires
10 if ($in{'expires_def'}) {
11         delete($miniserv{'expires'});
12         }
13 else {
14         $in{'expires'} =~ /^\d+$/ ||
15                 &error($text{'web_eexpires'});
16         $miniserv{'expires'} = $in{'expires'};
17         }
18
19 # Save per-path expires
20 for(my $i=0; defined($p = $in{"expirespath_$i"}); $i++) {
21         $t = $in{"expirestime_$i"};
22         next if ($p !~ /\S/);
23         $t =~ /^\d+$/ || &error(&text('web_eexpires2', $i+1));
24         push(@expires_paths, [ $p, $t ]);
25         }
26 $miniserv{'expires_paths'} = join("\t", map { $_->[0]."=".$_->[1] }
27                                             @expires_paths);
28
29 # Save stack trace option
30 $gconfig{'error_stack'} = $in{'stack'};
31
32 # Save showing of stderr
33 $miniserv{'noshowstderr'} = !$in{'showstderr'};
34
35 if (!$miniserv{'session'}) {
36         # Save password pass option
37         $miniserv{'pass_password'} = $in{'pass'};
38         }
39
40 # Save gzip option
41 if ($in{'gzip'} == 1) {
42         eval "use Compress::Zlib";
43         $@ && &error(&text('advanced_egzip', '<tt>Compress::Zlib</tt>'));
44         }
45 $miniserv{'gzip'} = $in{'gzip'};
46
47 # Save global config
48 &lock_file("$config_directory/config");
49 &write_file("$config_directory/config", \%gconfig);
50 &unlock_file("$config_directory/config");
51
52 # Save miniserv config
53 &lock_file($ENV{'MINISERV_CONFIG'});
54 &put_miniserv_config(\%miniserv);
55 &unlock_file($ENV{'MINISERV_CONFIG'});
56
57 &show_restart_page();
58 &webmin_log("web");
59