Handle hostnames with upper-case letters
[webmin.git] / bacula-backup / save_director.cgi
1 #!/usr/local/bin/perl
2 # Update the Director section
3
4 require './bacula-backup-lib.pl';
5 &ReadParse();
6 &error_setup($text{'director_err'});
7
8 $conf = &get_director_config();
9 $director = &find("Director", $conf);
10 $director || &error($text{'director_enone'});
11 $mems = $director->{'members'};
12 &lock_file($director->{'file'});
13
14 # Validate and store inputs
15 $in{'name'} =~ /^[a-z0-9\.\-\_]+$/ || &error($text{'director_ename'});
16 &save_directive($conf, $director, "Name", $in{'name'}, 1);
17
18 $in{'port'} =~ /^\d+$/ && $in{'port'} > 0 && $in{'port'} < 65536 ||
19         &error($text{'director_eport'});
20 &save_directive($conf, $director, "DIRport", $in{'port'}, 1);
21
22 $in{'jobs'} =~ /^\d+$/ || &error($text{'director_ejobs'});
23 &save_directive($conf, $director, "Maximum Concurrent Jobs", $in{'jobs'}, 1);
24
25 &save_directive($conf, $director, "Messages", $in{'messages'} || undef, 1);
26
27 -d $in{'dir'} || &error($text{'director_edir'});
28 &save_directive($conf, $director, "WorkingDirectory", $in{'dir'}, 1);
29
30 # Validate and store TLS inputs
31 &parse_tls_directives($conf, $director, 1);
32
33 &flush_file_lines();
34 &unlock_file($director->{'file'});
35 &auto_apply_configuration();
36 &webmin_log("director");
37 &redirect("");
38