Handle hostnames with upper-case letters
[webmin.git] / samba / save_fmisc.cgi
1 #!/usr/local/bin/perl
2 # save_fmisc.cgi
3 # Save a misc options for a file share
4
5 require './samba-lib.pl';
6 &ReadParse();
7 &lock_file($config{'smb_conf'});
8 &get_share($in{old_name});
9
10 # check acls
11
12 &error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
13 &error("$text{'eacl_np'} $text{'eacl_pufmisc'}")
14             unless &can('rwoO', \%access, $in{old_name});
15 # save
16 &error_setup($text{'savefmisc_fail'});
17 # Random options
18 &setval("mangled map", $in{mangled_map});
19 &setval("locking", $in{locking});
20 if ($in{max_connections_def}) { &setval("max connections", 0); }
21 else {
22         ($in{max_connections} =~ /^\d+$/ && $in{max_connections} > 0) ||
23                 &error(&text('savefmisc_number', $in{max_connections}));
24         &setval("max connections", $in{max_connections});
25         }
26 &setval("oplocks", $in{oplocks});
27 &setval("level2 oplocks", $in{level2_oplocks});
28 &setval("fake oplocks", $in{fake_oplocks});
29 &setval("share modes", $in{share_modes});
30 &setval("strict locking", $in{strict_locking});
31 &setval("sync always", $in{sync_always});
32 &setval("volume", $in{volume_def} ? "" : $in{volume});
33 &setval("preexec", $in{preexec});
34 &setval("postexec", $in{postexec});
35 &setval("root preexec", $in{root_preexec});
36 &setval("root postexec", $in{root_postexec});
37
38 &modify_share($in{old_name}, $in{old_name});
39 &unlock_file($config{'smb_conf'});
40 &webmin_log("save", "fmisc", $in{old_name}, \%in);
41 &redirect("edit_fshare.cgi?share=".&urlize($in{old_name}));
42