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() ...@@ -842,9 +842,6 @@ function system_syslogd_start()
$syslogconfs = array(); $syslogconfs = array();
/* XXX remove after the call path is safe */
require_once 'plugins.inc';
if (function_exists('plugins_syslog')) { if (function_exists('plugins_syslog')) {
/* only pull plugins if plugins.inc was included before */ /* only pull plugins if plugins.inc was included before */
foreach (plugins_syslog() as $plugin_name => $plugin_details) { foreach (plugins_syslog() as $plugin_name => $plugin_details) {
...@@ -977,6 +974,47 @@ EOD; ...@@ -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() function system_webgui_configure()
{ {
global $config; global $config;
......
...@@ -36,6 +36,7 @@ require_once("filter_log.inc"); ...@@ -36,6 +36,7 @@ require_once("filter_log.inc");
require_once("system.inc"); require_once("system.inc");
require_once("pfsense-utils.inc"); require_once("pfsense-utils.inc");
require_once("interfaces.inc"); require_once("interfaces.inc");
require_once("plugins.inc");
/******************************************************************************************************************** /********************************************************************************************************************
* imported from easyrule.inc/php * imported from easyrule.inc/php
...@@ -608,7 +609,7 @@ if (isset($filterlogentries_qty) && $filterlogentries_qty != null) { ...@@ -608,7 +609,7 @@ if (isset($filterlogentries_qty) && $filterlogentries_qty != null) {
} }
if (isset($_POST['clear'])) { if (isset($_POST['clear'])) {
clear_clog($filter_logfile); system_clear_clog($filter_logfile);
} }
include("head.inc"); include("head.inc");
......
...@@ -32,6 +32,7 @@ require_once("guiconfig.inc"); ...@@ -32,6 +32,7 @@ require_once("guiconfig.inc");
require_once("filter_log.inc"); require_once("filter_log.inc");
require_once("system.inc"); require_once("system.inc");
require_once("interfaces.inc"); require_once("interfaces.inc");
require_once("plugins.inc");
$filter_logfile = '/var/log/filter.log'; $filter_logfile = '/var/log/filter.log';
...@@ -42,7 +43,7 @@ $nentries = 50; ...@@ -42,7 +43,7 @@ $nentries = 50;
handle_ajax($nentries, $nentries + 20); handle_ajax($nentries, $nentries + 20);
if (isset($_POST['clear'])) { if (isset($_POST['clear'])) {
clear_clog($filter_logfile); system_clear_clog($filter_logfile);
} }
$filterlog = conv_log_filter($filter_logfile, $nentries, $nentries + 100); $filterlog = conv_log_filter($filter_logfile, $nentries, $nentries + 100);
......
...@@ -31,6 +31,7 @@ require_once("guiconfig.inc"); ...@@ -31,6 +31,7 @@ require_once("guiconfig.inc");
require_once("filter_log.inc"); require_once("filter_log.inc");
require_once("system.inc"); require_once("system.inc");
require_once("interfaces.inc"); require_once("interfaces.inc");
require_once("plugins.inc");
$filter_logfile = '/var/log/filter.log'; $filter_logfile = '/var/log/filter.log';
$lines = 5000; // Maximum number of log entries to fetch $lines = 5000; // Maximum number of log entries to fetch
...@@ -38,7 +39,7 @@ $entriesperblock = 10; // Maximum elements to show individually ...@@ -38,7 +39,7 @@ $entriesperblock = 10; // Maximum elements to show individually
// flush log file // flush log file
if (!empty($_POST['clear'])) { if (!empty($_POST['clear'])) {
clear_clog($filter_logfile); system_clear_clog($filter_logfile);
} }
// Retrieve filter log data // Retrieve filter log data
......
...@@ -35,6 +35,7 @@ require_once("filter.inc"); ...@@ -35,6 +35,7 @@ require_once("filter.inc");
require_once("system.inc"); require_once("system.inc");
require_once("pfsense-utils.inc"); require_once("pfsense-utils.inc");
require_once("services.inc"); require_once("services.inc");
require_once("plugins.inc");
function clear_all_log_files() function clear_all_log_files()
{ {
...@@ -68,12 +69,12 @@ function clear_all_log_files() ...@@ -68,12 +69,12 @@ function clear_all_log_files()
); );
foreach ($clog_files as $lfile) { 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) { foreach ($log_files as $lfile) {
clear_log("/var/log/{$lfile}.log", false); system_clear_log("/var/log/{$lfile}.log", false);
} }
system_syslogd_start(); system_syslogd_start();
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
require_once("guiconfig.inc"); require_once("guiconfig.inc");
require_once("system.inc"); require_once("system.inc");
require_once("interfaces.inc"); require_once("interfaces.inc");
require_once("plugins.inc");
/* expects $logfile to point to the system path */ /* expects $logfile to point to the system path */
/* expects $logclog to be true or false */ /* expects $logclog to be true or false */
...@@ -45,9 +46,9 @@ if (isset($config['syslog']['nentries'])) { ...@@ -45,9 +46,9 @@ if (isset($config['syslog']['nentries'])) {
if (!empty($_POST['clear'])) { if (!empty($_POST['clear'])) {
if ($logclog) { if ($logclog) {
clear_clog($logfile); system_clear_clog($logfile);
} else { } else {
clear_log($logfile); system_clear_log($logfile);
} }
if (function_exists(clear_hook)) { if (function_exists(clear_hook)) {
clear_hook(); clear_hook();
......
...@@ -359,46 +359,6 @@ function gentitle($breadcrumbs, $navlevelsep = ': ') ...@@ -359,46 +359,6 @@ function gentitle($breadcrumbs, $navlevelsep = ': ')
return join($navlevelsep, $output); 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) function print_dump($logarr)
{ {
global $config; 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