1, // 'KB' => 1024, // 'MB' => 1024 * 1024, // 'GB' => 1024 * 1024 * 1024, // 'TB' => 1024 * 1024 * 1024 * 1024, // 'PB' => 1024 * 1024 * 1024 * 1024 * 1024, /* chk if snort log dir is full if so clear it */ $snortloglimit = $config['installedpackages']['snortglobal']['snortloglimit']; $snortloglimitsize = $config['installedpackages']['snortglobal']['snortloglimitsize']; if ($g['booting']==true) return; if ($snortloglimit == 'off') return; if (!is_array($config['installedpackages']['snortglobal']['rule'])) return; foreach ($config['installedpackages']['snortglobal']['rule'] as $value) { $if_real = snort_get_real_interface($value['interface']); $snort_uuid = $value['uuid']; $snort_log_dir = SNORTLOGDIR . "/snort_{$if_real}{$snort_uuid}"; if (file_exists("{$snort_log_dir}/alert")) { $snortlogAlertsizeKB = snort_Getdirsize("{$snort_log_dir}/alert"); $snortloglimitsizeKB = round($snortloglimitsize * 1024); if (snort_Getdirsize($snort_log_dir) >= $snortloglimitsizeKB ) { conf_mount_rw(); log_error(gettext("[Snort] Snort Log directory size exceeds limit set in Global Settings.")); log_error(gettext("[Snort] Logs for {$value['descr']} ({$if_real}) will be truncated.")); snort_post_delete_logs($snort_uuid); $fd = @fopen("{$snort_log_dir}/alert", "w+"); if ($fd) fclose($fd); /* XXX: This is needed if snort is run as snort user */ mwexec('/bin/chmod 660 /var/log/snort/*', true); /* XXX: Soft-restart Snort process to resync logging */ if (file_exists("{$g['varrun_path']}/snort_{$if_real}{$snort_uuid}.pid")) { log_error(gettext("[Snort] Restarting logging on {$value['descr']} ({$if_real})")); mwexec("/bin/pkill -HUP -F {$g['varrun_path']}/snort_{$if_real}{$snort_uuid}.pid -a"); } conf_mount_ro(); } } } ?>