Handle hostnames with upper-case letters
[webmin.git] / samba / save_net.cgi
1 #!/usr/local/bin/perl
2 # save_net.cgi
3 # Save inputs from conf_net.cgi
4
5 require './samba-lib.pl';
6 &ReadParse();
7 &lock_file($config{'smb_conf'});
8 $global = &get_share("global");
9
10 # check acls
11
12 &error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
13 &error("$text{'eacl_np'} $text{'eacl_pcn'}") unless $access{'conf_net'};
14
15 &error_setup($text{'savenet_fail'});
16 if (!$in{dead_time_def} && $in{dead_time} !~ /^\d+$/) {
17         &error(&text('savenet_timeout', $in{dead_time}));
18         }
19 &setval("deadtime", $in{dead_time_def} ? 0 : $in{dead_time}, 0);
20
21 &setval("hosts equiv", $in{hosts_equiv_def} ? "" : $in{hosts_equiv}, "");
22
23 if ($in{interfaces_def}) { &delval("interfaces"); }
24 else {
25         for($i=0; defined($in{"interface_ip$i"}); $i++) {
26                 next if (!$in{"interface_ip$i"});
27                 if ($in{"interface_nm$i"}) {
28                         push(@ifaces, $in{"interface_ip$i"}."/".
29                                       $in{"interface_nm$i"});
30                         }
31                 else {
32                         push(@ifaces, $in{"interface_ip$i"});
33                         }
34                 }
35         &setval("interfaces", join(' ', @ifaces), "");
36         }
37
38 if (!$in{keepalive_def} && $in{keepalive} !~ /^\d+$/) {
39         &error(&text('savenet_keep', $in{keepalive}));
40         }
41 &setval("keepalive", $in{keepalive_def} ? 0 : $in{keepalive}, 0);
42
43 if (!$in{max_xmit_def} && $in{max_xmit} !~ /^\d+$/) {
44         &error(&text('savenet_maxxmit', $in{max_xmit}));
45         }
46 &setval("max xmit", $in{max_xmit_def} ? 0 : $in{max_xmit}, 0);
47
48 &setval("socket address",
49         $in{socket_address_def} ? "" : $in{socket_address}, "");
50
51 foreach (@sock_opts) {
52         /^([A-Z\_]+)(.*)$/;
53         if ($2 eq "*") {
54                 if ($in{$1}) { push(@sopts, "$1=".$in{"$1_val"}); }
55                 }
56         else {
57                 if ($in{$1}) { push(@sopts, $1); }
58                 }
59         }
60 &setval("socket options", join(' ',@sopts), "");
61
62 if ($global) { &modify_share("global", "global"); }
63 else { &create_share("global"); }
64 &unlock_file($config{'smb_conf'});
65 &webmin_log("net", undef, undef, \%in);
66 &redirect("");
67