Commit 87066bbe authored by Franco Fichtner's avatar Franco Fichtner

plugins: clear the syslog call path, requires to top

parent 8371e3b9
......@@ -842,9 +842,6 @@ function system_syslogd_start()
$syslogconfs = array();
/* XXX remove after the call path is safe */
require_once 'plugins.inc';
if (function_exists('plugins_syslog')) {
/* only pull plugins if plugins.inc was included before */
foreach (plugins_syslog() as $plugin_name => $plugin_details) {
......@@ -977,6 +974,47 @@ EOD;
}
}
function system_clear_log($logfile, $restart_syslogd = true)
{
if ($restart_syslogd) {
killbyname('syslogd');
}
foreach (glob($logfile . '.*') as $rotated) {
@unlink($rotated);
}
/* preserve file ownership and permissions */
if (file_exists($logfile)) {
$handle = fopen($logfile, 'r+');
if ($handle) {
ftruncate($handle, 0);
fclose($handle);
}
}
if ($restart_syslogd) {
system_syslogd_start();
}
}
function system_clear_clog($logfile, $restart_syslogd = true)
{
global $config;
if ($restart_syslogd) {
killbyname('syslogd');
}
$log_size = isset($config['syslog']['logfilesize']) ? $config['syslog']['logfilesize'] : '511488';
mwexecf('/usr/local/sbin/clog -i -s %s %s', array($log_size, $logfile));
if ($restart_syslogd) {
system_syslogd_start();
}
}
function system_webgui_configure()
{
global $config;
......
......@@ -36,6 +36,7 @@ require_once("filter_log.inc");
require_once("system.inc");
require_once("pfsense-utils.inc");
require_once("interfaces.inc");
require_once("plugins.inc");
/********************************************************************************************************************
* imported from easyrule.inc/php
......@@ -608,7 +609,7 @@ if (isset($filterlogentries_qty) && $filterlogentries_qty != null) {
}
if (isset($_POST['clear'])) {
clear_clog($filter_logfile);
system_clear_clog($filter_logfile);
}
include("head.inc");
......
......@@ -32,6 +32,7 @@ require_once("guiconfig.inc");
require_once("filter_log.inc");
require_once("system.inc");
require_once("interfaces.inc");
require_once("plugins.inc");
$filter_logfile = '/var/log/filter.log';
......@@ -42,7 +43,7 @@ $nentries = 50;
handle_ajax($nentries, $nentries + 20);
if (isset($_POST['clear'])) {
clear_clog($filter_logfile);
system_clear_clog($filter_logfile);
}
$filterlog = conv_log_filter($filter_logfile, $nentries, $nentries + 100);
......
......@@ -31,6 +31,7 @@ require_once("guiconfig.inc");
require_once("filter_log.inc");
require_once("system.inc");
require_once("interfaces.inc");
require_once("plugins.inc");
$filter_logfile = '/var/log/filter.log';
$lines = 5000; // Maximum number of log entries to fetch
......@@ -38,7 +39,7 @@ $entriesperblock = 10; // Maximum elements to show individually
// flush log file
if (!empty($_POST['clear'])) {
clear_clog($filter_logfile);
system_clear_clog($filter_logfile);
}
// Retrieve filter log data
......
......@@ -35,6 +35,7 @@ require_once("filter.inc");
require_once("system.inc");
require_once("pfsense-utils.inc");
require_once("services.inc");
require_once("plugins.inc");
function clear_all_log_files()
{
......@@ -68,12 +69,12 @@ function clear_all_log_files()
);
foreach ($clog_files as $lfile) {
clear_clog("/var/log/{$lfile}.log", false);
system_clear_clog("/var/log/{$lfile}.log", false);
}
foreach ($log_files as $lfile) {
clear_log("/var/log/{$lfile}.log", false);
system_clear_log("/var/log/{$lfile}.log", false);
}
system_syslogd_start();
......
......@@ -32,6 +32,7 @@
require_once("guiconfig.inc");
require_once("system.inc");
require_once("interfaces.inc");
require_once("plugins.inc");
/* expects $logfile to point to the system path */
/* expects $logclog to be true or false */
......@@ -45,9 +46,9 @@ if (isset($config['syslog']['nentries'])) {
if (!empty($_POST['clear'])) {
if ($logclog) {
clear_clog($logfile);
system_clear_clog($logfile);
} else {
clear_log($logfile);
system_clear_log($logfile);
}
if (function_exists(clear_hook)) {
clear_hook();
......
......@@ -359,46 +359,6 @@ function gentitle($breadcrumbs, $navlevelsep = ': ')
return join($navlevelsep, $output);
}
function clear_log($logfile, $restart_syslogd = true)
{
if ($restart_syslogd) {
killbyname('syslogd');
}
foreach (glob($logfile . '.*') as $rotated) {
@unlink($rotated);
}
/* preserve file ownership and permissions */
if (file_exists($logfile)) {
$handle = fopen($logfile, 'r+');
if ($handle) {
ftruncate($handle, 0);
fclose($handle);
}
}
if ($restart_syslogd) {
system_syslogd_start();
}
}
function clear_clog($logfile, $restart_syslogd = true)
{
global $config;
if ($restart_syslogd) {
killbyname('syslogd');
}
$log_size = isset($config['syslog']['logfilesize']) ? $config['syslog']['logfilesize'] : '511488';
mwexecf('/usr/local/sbin/clog -i -s %s %s', array($log_size, $logfile));
if ($restart_syslogd) {
system_syslogd_start();
}
}
function print_dump($logarr)
{
global $config;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment