Handle hostnames with upper-case letters
[webmin.git] / samba / set-hostname-workgroup.pl
1 #!/usr/local/bin/perl
2 # Set the global hostname and workgroup options
3
4 $no_acl_check++;
5 $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin";
6 $ENV{'WEBMIN_VAR'} ||= "/var/webmin";
7 if ($0 =~ /^(.*\/)[^\/]+$/) {
8         chdir($1);
9         }
10 chop($pwd = `pwd`);
11 $0 = "$pwd/set-hostname-workgroup.pl";
12 require './samba-lib.pl';
13 $< == 0 || die "set-hostname-workgroup.pl must be run as root";
14
15 @ARGV == 2 || die "usage: set-hostname-workgroup.pl <hostname> <workgroup>";
16 $ARGV[0] =~ /^[a-z0-9\.\-\_]+$/i || die "Hostname can only contain letters and numbers";
17 $ARGV[1] =~ /^[a-z0-9\.\-\_]+$/i || die "Workgroup can only contain letters and numbers";
18 &get_share("global");
19 &setval("netbios name", $ARGV[0]);
20 &setval("workgroup", $ARGV[1]);
21 &modify_share("global", "global");
22