2 # Update the Director section
4 require './bacula-backup-lib.pl';
6 &error_setup($text{'director_err'});
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'});
14 # Validate and store inputs
15 $in{'name'} =~ /^[a-z0-9\.\-\_]+$/ || &error($text{'director_ename'});
16 &save_directive($conf, $director, "Name", $in{'name'}, 1);
18 $in{'port'} =~ /^\d+$/ && $in{'port'} > 0 && $in{'port'} < 65536 ||
19 &error($text{'director_eport'});
20 &save_directive($conf, $director, "DIRport", $in{'port'}, 1);
22 $in{'jobs'} =~ /^\d+$/ || &error($text{'director_ejobs'});
23 &save_directive($conf, $director, "Maximum Concurrent Jobs", $in{'jobs'}, 1);
25 &save_directive($conf, $director, "Messages", $in{'messages'} || undef, 1);
27 -d $in{'dir'} || &error($text{'director_edir'});
28 &save_directive($conf, $director, "WorkingDirectory", $in{'dir'}, 1);
30 # Validate and store TLS inputs
31 &parse_tls_directives($conf, $director, 1);
34 &unlock_file($director->{'file'});
35 &auto_apply_configuration();
36 &webmin_log("director");