2 # Save bandwidth monitoring settings
4 require './itsecur-lib.pl';
5 &can_edit_error("bandwidth");
7 &foreign_require("bandwidth", "bandwidth-lib.pl");
10 # Enable in config, so that log rules are generated
11 $config{'bandwidth'} = $in{'iface'};
12 &save_module_config();
14 # Setup firewall and bandwidth modules
15 $bandwidth::config{'iface'} = $in{'iface'};
16 &bandwidth::save_module_config();
17 $firewall::config{'direct'} = 1;
18 &firewall::save_module_config();
20 # Set up syslog.conf entry
21 $conf = &syslog::get_config();
22 $sysconf = &bandwidth::find_sysconf($conf);
24 &lock_file($syslog::config{'syslog_conf'});
25 &syslog::create_log({ 'file' => $bandwidth::bandwidth_log,
27 'sel' => [ "kern.=debug" ] });
28 &unlock_file($syslog::config{'syslog_conf'});
29 $err = &syslog::restart_syslog();
30 &error($err) if ($err);
34 $job = &bandwidth::find_cron_job();
36 &cron::create_wrapper($bandwidth::cron_cmd, $bandwidth::module_name, "rotate.pl");
37 $job = { 'user' => 'root',
39 'command' => $bandwidth::cron_cmd,
40 'special' => 'hourly' };
41 &lock_file(&cron::cron_file($job));
42 &cron::create_cron_job($job);
43 &unlock_file(&cron::cron_file($job));
48 $config{'bandwidth'} = undef;
49 &save_module_config();
52 $job = &bandwidth::find_cron_job();
54 &lock_file(&cron::cron_file($job));
55 &cron::delete_cron_job($job);
56 &unlock_file(&cron::cron_file($job));