summaryrefslogtreecommitdiffstats
path: root/usr/local/www/status_openvpn.php
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-25 08:08:24 -0300
committerRenato Botelho <renato@netgate.com>2015-08-25 14:49:54 -0300
commit46bc6e545a17e77202aaf01ec0cd8d5a46567525 (patch)
tree32d18dda436ec739c67c489ceb771e8629cd926f /usr/local/www/status_openvpn.php
parent4d9801c2dbd2b3e54a39578ee62b93af66607227 (diff)
downloadpfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.zip
pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.tar.gz
Move main pfSense content to src/
Diffstat (limited to 'usr/local/www/status_openvpn.php')
-rw-r--r--usr/local/www/status_openvpn.php443
1 files changed, 0 insertions, 443 deletions
diff --git a/usr/local/www/status_openvpn.php b/usr/local/www/status_openvpn.php
deleted file mode 100644
index e9d2073..0000000
--- a/usr/local/www/status_openvpn.php
+++ /dev/null
@@ -1,443 +0,0 @@
-<?php
-/*
- status_openvpn.php
-
- Copyright (C) 2005 Scott Ullrich, Colin Smith
- Copyright (C) 2008 Shrew Soft Inc.
- Copyright (C) 2010 Jim Pingle
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- AJAX bits borrowed from diag_dump_states.php
-
- 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
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-/*
- pfSense_MODULE: openvpn
-*/
-
-##|+PRIV
-##|*IDENT=page-status-openvpn
-##|*NAME=Status: OpenVPN page
-##|*DESCR=Allow access to the 'Status: OpenVPN' page.
-##|*MATCH=status_openvpn.php*
-##|-PRIV
-
-$pgtitle = array(gettext("Status"), gettext("OpenVPN"));
-$shortcut_section = "openvpn";
-
-require("guiconfig.inc");
-require_once("openvpn.inc");
-require_once("shortcuts.inc");
-require_once("service-utils.inc");
-
-/* Handle AJAX */
-if ($_GET['action']) {
- if ($_GET['action'] == "kill") {
- $port = $_GET['port'];
- $remipp = $_GET['remipp'];
- if (!empty($port) and !empty($remipp)) {
- $retval = kill_client($port, $remipp);
- echo htmlentities("|{$port}|{$remipp}|{$retval}|");
- } else {
- echo gettext("invalid input");
- }
- exit;
- }
-}
-
-
-function kill_client($port, $remipp) {
- global $g;
-
- //$tcpsrv = "tcp://127.0.0.1:{$port}";
- $tcpsrv = "unix://{$g['varetc_path']}/openvpn/{$port}.sock";
- $errval;
- $errstr;
-
- /* open a tcp connection to the management port of each server */
- $fp = @stream_socket_client($tcpsrv, $errval, $errstr, 1);
- $killed = -1;
- if ($fp) {
- stream_set_timeout($fp, 1);
- fputs($fp, "kill {$remipp}\n");
- while (!feof($fp)) {
- $line = fgets($fp, 1024);
-
- $info = stream_get_meta_data($fp);
- if ($info['timed_out']) {
- break;
- }
-
- /* parse header list line */
- if (strpos($line, "INFO:") !== false) {
- continue;
- }
- if (strpos($line, "SUCCESS") !== false) {
- $killed = 0;
- }
- break;
- }
- fclose($fp);
- }
- return $killed;
-}
-
-$servers = openvpn_get_active_servers();
-$sk_servers = openvpn_get_active_servers("p2p");
-$clients = openvpn_get_active_clients();
-
-include("head.inc"); ?>
-
-<body link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="<?=$jsevents["body"]["onload"];?>">
-<?php include("fbegin.inc"); ?>
-<form action="status_openvpn.php" method="get" name="iform">
-<script type="text/javascript">
-//<![CDATA[
- function killClient(mport, remipp) {
- var busy = function(index, icon) {
- jQuery(icon).bind("onclick", "");
- jQuery(icon).attr('src', jQuery(icon).attr('src').replace("\.gif", "_d.gif"));
- jQuery(icon).css("cursor", "wait");
- }
-
- jQuery('img[name="i:' + mport + ":" + remipp + '"]').each(busy);
-
- jQuery.ajax(
- "<?=$_SERVER['SCRIPT_NAME'];?>" +
- "?action=kill&port=" + mport + "&remipp=" + remipp,
- { type: "get", complete: killComplete }
- );
- }
-
- function killComplete(req) {
- var values = req.responseText.split("|");
- if (values[3] != "0") {
- alert('<?=gettext("An error occurred.");?>' + ' (' + values[3] + ')');
- return;
- }
-
- jQuery('tr[name="r:' + values[1] + ":" + values[2] + '"]').each(
- function(index, row) { jQuery(row).fadeOut(1000); }
- );
- }
-//]]>
-</script>
-<?php
- $i = 0;
- foreach ($servers as $server):
-?>
-
-<table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0" summary="status openvpn">
- <tr>
- <td colspan="6" class="listtopic">
- <?=$server['name'];?> <?=gettext("Client connections"); ?>
- </td>
- </tr>
- <tr>
- <td>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0" summary="connections">
- <tr>
- <td class="listhdrr"><?=gettext("Common Name"); ?></td>
- <td class="listhdrr"><?=gettext("Real Address"); ?></td>
- <td class="listhdrr"><?=gettext("Virtual Address"); ?></td>
- <td class="listhdrr"><?=gettext("Connected Since"); ?></td>
- <td class="listhdrr"><?=gettext("Bytes Sent"); ?></td>
- <td class="listhdrr"><?=gettext("Bytes Received"); ?></td>
- </tr>
-<?php
- foreach ($server['conns'] as $conn):
-?>
- <tr id="<?php echo "r:{$server['mgmt']}:{$conn['remote_host']}"; ?>">
- <td class="listlr">
- <?=$conn['common_name'];?>
- </td>
- <td class="listr">
- <?=$conn['remote_host'];?>
- </td>
- <td class="listr">
- <?=$conn['virtual_addr'];?>
- </td>
- <td class="listr">
- <?=$conn['connect_time'];?>
- </td>
- <td class="listr">
- <?=format_bytes($conn['bytes_sent']);?>
- </td>
- <td class="listr">
- <?=format_bytes($conn['bytes_recv']);?>
- </td>
- <td class="list">
- <img src="/themes/<?php echo $g['theme']; ?>/images/icons/icon_x.gif" height="17" width="17" border="0"
- onclick="killClient('<?php echo $server['mgmt']; ?>', '<?php echo $conn['remote_host']; ?>');" style="cursor:pointer;"
- id="<?php echo "i:{$server['mgmt']}:{$conn['remote_host']}"; ?>"
- title="<?php echo gettext("Kill client connection from") . " " . $conn['remote_host']; ?>" alt="delete" />
- </td>
- </tr>
-<?php
- endforeach;
-?>
- <tfoot>
- <tr>
- <td colspan="2" class="list" height="12">
- <table>
- <tr>
- <td><?php $ssvc = find_service_by_openvpn_vpnid($server['vpnid']); ?>
- <?= get_service_status_icon($ssvc, true, true); ?>
- <?= get_service_control_links($ssvc, true); ?></td>
- </tr>
- </table>
- </td>
- <td colspan="4" class="list" height="12">&nbsp;</td>
- </tr>
- </tfoot>
- </table>
- </td>
- </tr>
-</table>
-<?php
- if (is_array($server['routes']) && count($server['routes'])):
-?>
-<div id="shroutebut-<?= $i ?>">
- <input type="button" onClick="show_routes('tabroute-<?= $i ?>', 'shroutebut-<?= $i ?>')" value="<?php echo gettext("Show Routing Table"); ?>" /> - <?= gettext("Display OpenVPN's internal routing table for this server.") ?>
- <br /><br />
-</div>
-<table style="display: none; padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0" id="tabroute-<?= $i ?>" summary="routing table">
- <tr>
- <td colspan="6" class="listtopic">
- <?=$server['name'];?> <?=gettext("Routing Table"); ?>
- </td>
- </tr>
- <tr>
- <td>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0" summary="results">
- <tr>
- <td class="listhdrr"><?=gettext("Common Name"); ?></td>
- <td class="listhdrr"><?=gettext("Real Address"); ?></td>
- <td class="listhdrr"><?=gettext("Target Network"); ?></td>
- <td class="listhdrr"><?=gettext("Last Used"); ?></td>
- </tr>
-
-<?php
- foreach ($server['routes'] as $conn):
-?>
- <tr id="<?php echo "r:{$server['mgmt']}:{$conn['remote_host']}"; ?>">
- <td class="listlr">
- <?=$conn['common_name'];?>
- </td>
- <td class="listr">
- <?=$conn['remote_host'];?>
- </td>
- <td class="listr">
- <?=$conn['virtual_addr'];?>
- </td>
- <td class="listr">
- <?=$conn['last_time'];?>
- </td>
- </tr>
-<?php
- endforeach;
-?>
- <tfoot>
- <tr>
- <td colspan="6" class="list" height="12"><?= gettext("An IP address followed by C indicates a host currently connected through the VPN.") ?></td>
- </tr>
- </tfoot>
- </table>
- </td>
- </tr>
-</table>
-<?php
- endif;
-?>
-<br />
-<?php
- $i++;
- endforeach;
-?>
-<br />
-
-<?php
- if (!empty($sk_servers)) {
-?>
-<table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0" summary="peer to peer stats">
- <tr>
- <td colspan="6" class="listtopic">
- <?=gettext("Peer to Peer Server Instance Statistics"); ?>
- </td>
- </tr>
- <tr>
- <td>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0" summary="results">
- <tr>
- <td class="listhdrr"><?=gettext("Name"); ?></td>
- <td class="listhdrr"><?=gettext("Status"); ?></td>
- <td class="listhdrr"><?=gettext("Connected Since"); ?></td>
- <td class="listhdrr"><?=gettext("Virtual Addr"); ?></td>
- <td class="listhdrr"><?=gettext("Remote Host"); ?></td>
- <td class="listhdrr"><?=gettext("Bytes Sent"); ?></td>
- <td class="listhdrr"><?=gettext("Bytes Rcvd"); ?></td>
- <td class="listhdrr"><?=gettext("Service"); ?></td>
- </tr>
-
-<?php
- foreach ($sk_servers as $sk_server):
-?>
- <tr id="<?php echo "r:{$sk_server['port']}:{$sk_server['vpnid']}"; ?>">
- <td class="listlr">
- <?=$sk_server['name'];?>
- </td>
- <td class="listr">
- <?=$sk_server['status'];?>
- </td>
- <td class="listr">
- <?=$sk_server['connect_time'];?>
- </td>
- <td class="listr">
- <?=$sk_server['virtual_addr'];?>
- </td>
- <td class="listr">
- <?=$sk_server['remote_host'];?>
- </td>
- <td class="listr">
- <?=format_bytes($sk_server['bytes_sent']);?>
- </td>
- <td class="listr">
- <?=format_bytes($sk_server['bytes_recv']);?>
- </td>
- <td class="listr">
- <table>
- <tr>
- <td><?php $ssvc = find_service_by_openvpn_vpnid($sk_server['vpnid']); ?>
- <?= get_service_status_icon($ssvc, false, true); ?>
- <?= get_service_control_links($ssvc, true); ?>
- </td>
- </tr>
- </table>
- </td>
- </tr>
-<?php
- endforeach;
-?>
- </table>
- </td>
- </tr>
-</table>
-
-<?php
- }
-?>
-<br />
-<?php
- if (!empty($clients)) {
-?>
-<table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0" summary="client stats">
- <tr>
- <td colspan="6" class="listtopic">
- <?=gettext("Client Instance Statistics"); ?>
- </td>
- </tr>
- <tr>
- <td>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0" summary="results">
- <tr>
- <td class="listhdrr"><?=gettext("Name"); ?></td>
- <td class="listhdrr"><?=gettext("Status"); ?></td>
- <td class="listhdrr"><?=gettext("Connected Since"); ?></td>
- <td class="listhdrr"><?=gettext("Virtual Addr"); ?></td>
- <td class="listhdrr"><?=gettext("Remote Host"); ?></td>
- <td class="listhdrr"><?=gettext("Bytes Sent"); ?></td>
- <td class="listhdrr"><?=gettext("Bytes Rcvd"); ?></td>
- <td class="listhdrr"><?=gettext("Service"); ?></td>
- </tr>
-
-<?php
- foreach ($clients as $client):
-?>
- <tr id="<?php echo "r:{$client['port']}:{$client['vpnid']}"; ?>">
- <td class="listlr">
- <?=$client['name'];?>
- </td>
- <td class="listr">
- <?=$client['status'];?>
- </td>
- <td class="listr">
- <?=$client['connect_time'];?>
- </td>
- <td class="listr">
- <?=$client['virtual_addr'];?>
- </td>
- <td class="listr">
- <?=$client['remote_host'];?>
- </td>
- <td class="listr">
- <?=format_bytes($client['bytes_sent']);?>
- </td>
- <td class="listr">
- <?=format_bytes($client['bytes_recv']);?>
- </td>
- <td class="listr" height="12">
- <table>
- <tr>
- <td>
- <?php $ssvc = find_service_by_openvpn_vpnid($client['vpnid']); ?>
- <?= get_service_status_icon($ssvc, false, true); ?>
- <?= get_service_control_links($ssvc, true); ?>
- </td>
- </tr>
- </table>
- </td>
- </tr>
-<?php
- endforeach;
-?>
- </table>
- </td>
- </tr>
-</table>
-
-<?php
- }
-
- if ($DisplayNote) {
- echo "<br /><b>" . gettext("NOTE") . ":</b> " . gettext("If you have custom options that override the management features of OpenVPN on a client or server, they will cause that OpenVPN instance to not work correctly with this status page.");
- }
-
- if ((empty($clients)) && (empty($servers)) && (empty($sk_servers))) {
- echo gettext("No OpenVPN instances defined");
- }
-?>
-</form>
-
-<?php include("fend.inc"); ?>
-<script type="text/javascript">
-//<![CDATA[
-function show_routes(id, buttonid) {
- document.getElementById(buttonid).innerHTML='';
- aodiv = document.getElementById(id);
- aodiv.style.display = "block";
-}
-//]]>
-</script>
-</body>
-</html>
OpenPOWER on IntegriCloud