diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2006-02-05 20:24:26 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2006-02-05 20:24:26 +0000 |
commit | 5d98aeb1c8da7fb394275dc89402aa793e5e3acf (patch) | |
tree | 32982710ce06430f27ebacd25c202fbff9b87f8b /usr | |
parent | 63fff79b85211c5b77417bd08f0f3c2139a430cd (diff) | |
download | pfsense-5d98aeb1c8da7fb394275dc89402aa793e5e3acf.zip pfsense-5d98aeb1c8da7fb394275dc89402aa793e5e3acf.tar.gz |
Correctly output PPTP logs
Ticket #808
Diffstat (limited to 'usr')
-rwxr-xr-x | usr/local/www/diag_logs_vpn.php | 88 |
1 files changed, 50 insertions, 38 deletions
diff --git a/usr/local/www/diag_logs_vpn.php b/usr/local/www/diag_logs_vpn.php index 47805bc..a440585 100755 --- a/usr/local/www/diag_logs_vpn.php +++ b/usr/local/www/diag_logs_vpn.php @@ -1,24 +1,22 @@ -<?php -/* $Id$ */ +#!/usr/local/bin/php +<?php /* diag_logs_vpn.php - Copyright (C) 2004 Scott Ullrich - All rights reserved. - - originially part of m0n0wall (http://m0n0.ch/wall) - Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. + part of m0n0wall (http://m0n0.ch/wall) + + Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>. All rights reserved. - + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -31,30 +29,53 @@ POSSIBILITY OF SUCH DAMAGE. */ +$pgtitle = "Diagnostics: Logs: VPN"; require("guiconfig.inc"); -$ipsec_logfile = "{$g['varlog_path']}/vpn.log"; - $nentries = $config['syslog']['nentries']; if (!$nentries) $nentries = 50; if ($_POST['clear']) { - exec("killall syslogd"); - exec("/usr/sbin/clog -i -s 262144 /var/log/vpn.log"); - system_syslogd_start(); + exec("/usr/sbin/clog -i -s 65536 /var/log/vpn.log"); + /* redirect to avoid reposting form data on refresh */ + header("Location: diag_logs_vpn.php"); + exit; +} + +function dump_clog_vpn($logfile, $tail) { + global $g, $config; + + $sor = isset($config['syslog']['reverse']) ? "-r" : ""; + + exec("/usr/sbin/clog " . $logfile . " | tail {$sor} -n " . $tail, $logarr); + + foreach ($logarr as $logent) { + $logent = preg_split("/\s+/", $logent, 6); + $llent = explode(",", $logent[5]); + + echo "<tr>\n"; + echo "<td class=\"listlr\" nowrap>" . htmlspecialchars(join(" ", array_slice($logent, 0, 3))) . "</td>\n"; + + if ($llent[0] == "login") + echo "<td class=\"listr\"><img src=\"in.gif\" width=\"11\" height=\"11\" title=\"login\"></td>\n"; + else + echo "<td class=\"listr\"><img src=\"out.gif\" width=\"11\" height=\"11\" title=\"logout\"></td>\n"; + + echo "<td class=\"listr\">" . htmlspecialchars($llent[3]) . "</td>\n"; + echo "<td class=\"listr\">" . htmlspecialchars($llent[2]) . " </td>\n"; + echo "</tr>\n"; + } } -$pgtitle = "Diagnostics: System logs: PPTP VPN"; include("head.inc"); ?> - <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> <?php include("fbegin.inc"); ?> <p class="pgtitle"><?=$pgtitle?></p> <table width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr><td> + <tr><td class="tabnavtbl"> <?php $tab_array = array(); $tab_array[] = array("System", false, "diag_logs.php"); @@ -64,16 +85,16 @@ include("head.inc"); $tab_array[] = array("IPSEC VPN", false, "diag_logs_ipsec.php"); $tab_array[] = array("PPTP VPN", true, "diag_logs_vpn.php"); $tab_array[] = array("Load Balance", false, "diag_logs_slbd.php"); + $tab_array[] = array("OpenVPN", false, "diag_logs_openvpn.php"); $tab_array[] = array("Settings", false, "diag_logs_settings.php"); display_top_tabs($tab_array); ?> </td></tr> <tr> - <td> - <div id="mainarea"> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"><tr> - <td colspan="4" class="listtopic"> - Last <?=$nentries;?> PPTP log entries</td> + <td class="tabcont"> + <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr> + <td colspan="4" class="listtopic"> + Last <?=$nentries;?> PPTP VPN log entries</td> </tr> <tr> <td class="listhdrr">Time</td> @@ -81,21 +102,12 @@ include("head.inc"); <td class="listhdrr">User</td> <td class="listhdrr">IP address</td> </tr> - <?php dump_clog($ipsec_logfile, $nentries, array("mpd", "pppoe"), array(false)); ?> - <tr> - <td> - <br> - <form action="diag_logs.php" method="post"> - <input name="clear" type="submit" class="formbtn" value="Clear log"> - </form> - </td> - </tr> - </table> - </div> + <?php dump_clog_vpn("/var/log/vpn.log", $nentries); ?> + </table> + <br><form action="diag_logs_vpn.php" method="post"> +<input name="clear" type="submit" class="formbtn" value="Clear log"> +</form> </td> </tr> </table> <?php include("fend.inc"); ?> -<meta http-equiv="refresh" content="60;url=<?php print $_SERVER['PHP_SELF']; ?>"> -</body> -</html> |