aboutsummaryrefslogtreecommitdiffstats
path: root/config/mailreport/mail_reports.inc
diff options
context:
space:
mode:
Diffstat (limited to 'config/mailreport/mail_reports.inc')
-rw-r--r--config/mailreport/mail_reports.inc61
1 files changed, 58 insertions, 3 deletions
diff --git a/config/mailreport/mail_reports.inc b/config/mailreport/mail_reports.inc
index 8ab31301..85b67ddf 100644
--- a/config/mailreport/mail_reports.inc
+++ b/config/mailreport/mail_reports.inc
@@ -29,6 +29,7 @@
POSSIBILITY OF SUCH DAMAGE.
*/
+require_once("globals.inc");
require_once("config.inc");
require_once("filter.inc");
require_once("rrd.inc");
@@ -42,6 +43,28 @@ $graph_length = array(
"year" => 31622400,
"4year" => 126489600);
+$logfile_friendly = array(
+ "dhcpd" => "DHCP",
+ "filter" => "Firewall (raw)",
+ "gateways" => "Gateway Events",
+ "installer" => "Installation",
+ "ipsec" => "IPsec VPN",
+ "l2tps" => "L2TP Server (raw)",
+ "lighttpd" => "Web Server (lighttpd)",
+ "ntpd" => "NTP",
+ "openvpn" => "OpenVPN",
+ "poes" => "PPPoE Server (raw)",
+ "portalauth" => "Captive Portal Authentication",
+ "ppp" => "PPP",
+ "pptps" => "PPTP Server (raw)",
+ "relayd" => "Load Balancer (relayd)",
+ "resolver" => "DNS Resolver",
+ "routing" => "Routing",
+ "system" => "System",
+ "vpn" => "PPTP/L2TP/PPPoE Server Login Events",
+ "wireless" => "Wireless"
+);
+
function get_dates($curperiod, $graph) {
global $graph_length;
$now = time();
@@ -162,7 +185,7 @@ function set_mail_report_cron_jobs($a_mailreports) {
include('phpmailer/class.phpmailer.php');
-function mail_report_send($headertext, $attachments) {
+function mail_report_send($headertext, $cmdtext, $logtext, $attachments) {
global $config, $g;
if (empty($config['notifications']['smtp']['ipaddress']))
@@ -191,7 +214,11 @@ function mail_report_send($headertext, $attachments) {
$address = $config['notifications']['smtp']['notifyemailaddress'];
$mail->AddAddress($address, "Report Recipient");
$mail->Subject = "{$config['system']['hostname']}.{$config['system']['domain']} Graph Report: {$headertext}";
- $mail->Body .= "This is a periodic graph report from your firewall, {$config['system']['hostname']}.{$config['system']['domain']}.<br/><br/>Current report: {$headertext}\n";
+ $mail->Body .= "This is a periodic report from your firewall, {$config['system']['hostname']}.{$config['system']['domain']}.<br /><br />Current report: {$headertext}<br />\n<br />\n";
+ if (!empty($cmdtext))
+ $mail->Body .= $cmdtext;
+ if (!empty($logtext))
+ $mail->Body .= $logtext;
if(is_array($attachments)) {
foreach($attachments as $filename) {
$shortname = basename($filename);
@@ -203,7 +230,7 @@ function mail_report_send($headertext, $attachments) {
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
- echo "<strong>Message sent to {$userid}!</strong>\n";
+ echo "<strong>Message sent to {$address}!</strong>\n";
}
}
@@ -1201,4 +1228,32 @@ function timeDiff($time, $opt = array()) {
return $str;
}
+function mail_report_get_log($logfile, $tail, $grepfor) {
+ global $g, $config;
+ $logfile = "{$g['varlog_path']}/{$logfile}";
+ $logarr = "";
+ $grepline = " ";
+ if(is_array($grepfor))
+ foreach($grepfor as $agrep)
+ $grepline .= " | grep \"$agrep\"";
+ if($config['system']['disablesyslogclog']) {
+ exec("cat {$logfile}{$grepline} | /usr/bin/tail -n {$tail}", $logarr);
+ } else {
+ if(isset($config['system']['usefifolog'])) {
+ exec("/usr/sbin/fifolog_reader {$logfile}{$grepline} | /usr/bin/tail -n {$tail}", $logarr);
+ } else {
+ exec("/usr/sbin/clog {$logfile}{$grepline}| grep -v \"CLOG\" | grep -v \"\033\" | /usr/bin/tail -n {$tail}", $logarr);
+ }
+ }
+ return($logarr);
+}
+
+function get_friendly_log_name($logfile) {
+ global $logfile_friendly;
+ $friendly = str_replace(".log", "", $logfile);
+ if (!empty($logfile_friendly[$friendly]))
+ $friendly = $logfile_friendly[$friendly];
+ return $friendly;
+}
+
?>