Handle hostnames with upper-case letters
[webmin.git] / wuftpd / save_misc.cgi
1 #!/usr/local/bin/perl
2 # save_log.cgi
3 # Save miscellaneous options
4
5 require './wuftpd-lib.pl';
6 &error_setup($text{'misc_err'});
7 &ReadParse();
8 &lock_file($config{'ftpaccess'});
9 $conf = &get_ftpaccess();
10
11 # Save ls* commands
12 foreach $l ('lslong', 'lsshort', 'lsplain') {
13         if ($in{$l."_def"}) {
14                 &save_directive($conf, $l, [ ]);
15                 }
16         elsif ($in{$l} !~ /\S/) {
17                 &error($text{"misc_e$l"});
18                 }
19         else {
20                 &save_directive($conf, $l, [ { 'name' => $l,
21                                                'values' => [ $in{$l} ] } ] );
22                 }
23         }
24
25 # Save shutdown command
26 if ($in{'shutdown_def'}) {
27         &save_directive($conf, 'shutdown', [ ]);
28         }
29 elsif ($in{'shutdown'} !~ /\S/) {
30         &error($text{'misc_eshutdown'});
31         }
32 else {
33         &save_directive($conf, 'shutdown',
34                         [ { 'name' => 'shutdown',
35                             'values' => [ $in{'shutdown'} ] } ] );
36         }
37
38 # Save nice options
39 for($i=0; defined($ndelta = $in{"ndelta_$i"}); $i++) {
40         next if ($ndelta eq '');
41         $ndelta =~ /^[\-0-9]+$/ || &error(&text('misc_edelta', $ndelta));
42         push(@nice, { 'name' => 'nice',
43                       'values' => [ $ndelta, $in{"nclass_$i"} ] } );
44         }
45 &save_directive($conf, 'nice', \@nice);
46
47 # Save defumask options
48 for($i=0; defined($umask = $in{"umask_$i"}); $i++) {
49         next if ($umask eq '');
50         $umask =~ /^[0-9]+$/ || &error(&text('misc_eumask', $umask));
51         push(@umask, { 'name' => 'defumask',
52                        'values' => [ $umask, $in{"uclass_$i"} ] } );
53         }
54 &save_directive($conf, 'defumask', \@umask);
55
56 &flush_file_lines();
57 &unlock_file($config{'ftpaccess'});
58 &webmin_log("misc", undef, undef, \%in);
59 &redirect("");