aboutsummaryrefslogtreecommitdiffstats
path: root/config/openvpn-status
diff options
context:
space:
mode:
Diffstat (limited to 'config/openvpn-status')
-rw-r--r--config/openvpn-status/openvpn-status.xml70
-rw-r--r--config/openvpn-status/status_openvpn.php249
2 files changed, 0 insertions, 319 deletions
diff --git a/config/openvpn-status/openvpn-status.xml b/config/openvpn-status/openvpn-status.xml
deleted file mode 100644
index cecd6952..00000000
--- a/config/openvpn-status/openvpn-status.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
-<packagegui>
- <copyright>
- <![CDATA[
-/* $Id$ */
-/* ========================================================================== */
-/*
- status_openvpn.xml
- part of pfSense (http://www.pfSense.com)
- Copyright (C) 2010 to whom it may belong
- All rights reserved.
-
- Based on 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
- 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.
- */
-/* ========================================================================== */
- ]]>
- </copyright>
- <description>OpenVPN Status Page</description>
- <requirements>Management Port Defined in OpenVPN Config</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
- <name>OpenVPN Status</name>
- <version>1.3</version>
- <title>Status: OpenVPN</title>
- <menu>
- <name>OpenVPN</name>
- <tooltiptext></tooltiptext>
- <section>Status</section>
- <url>/status_openvpn.php</url>
- </menu>
- <additional_files_needed>
- <prefix>/usr/local/www/</prefix>
- <chmod>077</chmod>
- <item>https://packages.pfsense.org/packages/config/openvpn-status/status_openvpn.php</item>
- </additional_files_needed>
- <custom_php_deinstall_command>
- <![CDATA[
- $version = file_get_contents("/etc/version");
- if ($version[0] < 2) {
- unlink_if_exists("/usr/local/www/status_openvpn.php");
- }
- ]]>
- </custom_php_deinstall_command>
-</packagegui> \ No newline at end of file
diff --git a/config/openvpn-status/status_openvpn.php b/config/openvpn-status/status_openvpn.php
deleted file mode 100644
index bd4178c0..00000000
--- a/config/openvpn-status/status_openvpn.php
+++ /dev/null
@@ -1,249 +0,0 @@
-<?php
-/*
- status_ovpenvpn.php
-
- Copyright (C) 2010 Jim Pingle
- Copyright (C) 2008 Shrew Soft Inc.
-
- AJAX bits borrowed from diag_dump_states.php
- Copyright (C) 2005 Scott Ullrich, Colin Smith
-
- 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.
-*/
-
-$pgtitle = "Status: OpenVPN";
-require("guiconfig.inc");
-require_once("vpn.inc");
-include("head.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 "invalid input";
- }
- exit;
- }
-}
-
-
-function kill_client($port, $remipp) {
- $fp = @fsockopen("127.0.0.1", $port, $errval, $errstr, 1);
- $killed = -1;
- if ($fp) {
- fputs($fp, "kill {$remipp}\n");
- while (!feof($fp)) {
- $line = fgets($fp, 1024);
- /* parse header list line */
- if (strpos($line, "INFO:"))
- continue;
- if (strpos($line, "UCCESS")) {
- $killed = 0;
- }
- break;
- }
- fclose($fp);
- }
- return $killed;
-}
-
-$servers = array();
-
-$ovpnservers = $config['installedpackages']['openvpnserver']['config'];
-if (is_array($ovpnservers)) {
- foreach ($ovpnservers as $settings) {
-
- $prot = $settings['protocol'];
- $port = $settings['local_port'];
-
- $server = array();
- $server['port'] = $settings['local_port'];
- if ($settings['description'])
- $server['name'] = "{$settings['description']} {$prot}:{$port}";
- else
- $server['name'] = "Server {$prot}:{$port}";
- $server['conns'] = array();
-
- $errval;
- $errstr;
-
- /* open a tcp connection to the management port of each server */
- $fp = @fsockopen("127.0.0.1", $port, $errval, $errstr, 1);
- if ($fp) {
-
- /* send our status request */
- fputs($fp, "status 2\n");
-
- /* recv all response lines */
- while (!feof($fp)) {
-
- /* read the next line */
- $line = fgets($fp, 1024);
-
- /* parse header list line */
- if (strstr($line, "HEADER"))
- continue;
-
- /* parse end of output line */
- if (strstr($line, "END"))
- break;
-
- /* parse client list line */
- if (strstr($line, "CLIENT_LIST")) {
- $list = explode(",", $line);
- $conn = array();
- $conn['common_name'] = $list[1];
- $conn['remote_host'] = $list[2];
- $conn['virtual_addr'] = $list[3];
- $conn['bytes_recv'] = $list[4];
- $conn['bytes_sent'] = $list[5];
- $conn['connect_time'] = $list[6];
- $server['conns'][] = $conn;
- }
- }
-
- /* cleanup */
- fclose($fp);
- } else {
- $conn = array();
- $conn['common_name'] = "[error]";
- $conn['remote_host'] = "No Management Daemon";
- $conn['virtual_addr'] = "See Note Below";
- $conn['bytes_recv'] = 0;
- $conn['bytes_sent'] = 0;
- $conn['connect_time'] = 0;
- $server['conns'][] = $conn;
- }
-
- $servers[] = $server;
- }
-} ?>
-
-<body link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="<?=$jsevents["body"]["onload"];?>">
-<script src="/javascript/sorttable.js" type="text/javascript"></script>
-<script src="/javascript/scriptaculous/prototype.js" type="text/javascript"></script>
-<script src="/javascript/scriptaculous/scriptaculous.js" type="text/javascript"></script>
-<?php include("fbegin.inc"); ?>
-<p class="pgtitle"><?php echo $pgtitle; ?></p>
-<form action="status_openvpn.php" method="get" name="iform">
-
-<script type="text/javascript">
- function killClient(mport, remipp) {
- var busy = function(icon) {
- icon.onclick = "";
- icon.src = icon.src.replace("\.gif", "_d.gif");
- icon.style.cursor = "wait";
- }
-
- $A(document.getElementsByName("i:" + mport + ":" + remipp)).each(busy);
-
- new Ajax.Request(
- "<?=$_SERVER['SCRIPT_NAME'];?>" +
- "?action=kill&port=" + mport + "&remipp=" + remipp,
- { method: "get", onComplete: killComplete }
- );
- }
-
- function killComplete(req) {
- var values = req.responseText.split("|");
- if(values[3] != "0") {
- alert('<?=gettext("An error occurred.");?>' + ' (' + values[3] + ')');
- return;
- }
-
- $A(document.getElementsByName("r:" + values[1] + ":" + values[2])).each(
- function(row) { Effect.Fade(row, { duration: 1.0 }); }
- );
- }
-</script>
-
-
-<?php 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">
- <tr>
- <td colspan="6" class="listtopic">
- Client connections for <?=$server['name'];?>
- </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">
- <tr>
- <td class="listhdrr">Common Name</td>
- <td class="listhdrr">Real Address</td>
- <td class="listhdrr">Virtual Address</td>
- <td class="listhdrr">Connected Since</td>
- <td class="listhdrr">Bytes Sent</td>
- <td class="listhdrr">Bytes Received</td>
- </tr>
-
- <?php foreach ($server['conns'] as $conn): ?>
- <tr name='<?php echo "r:{$server['port']}:{$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">
- <?=$conn['bytes_sent'];?>
- </td>
- <td class="listr">
- <?=$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['port']; ?>', '<?php echo $conn['remote_host']; ?>');" style='cursor:pointer;'
- name='<?php echo "i:{$server['port']}:{$conn['remote_host']}"; ?>'
- title='Kill client connection from <?php echo $conn['remote_host']; ?>' alt='' />
- </td>
- </tr>
-
- <?php endforeach; ?>
- <tr>
- <td colspan="6" class="list" height="12"></td>
- </tr>
-
- </table>
- </td>
- </tr>
-</table>
-
-<?php endforeach; ?>
-<br/>
-<br/><b>NOTE:</b> You must enable the OpenVPN management interface for each server you want to monitor. You can do this by placing "management 127.0.0.1 &lt;port&gt;;" in the custom options box for the server, where &lt;port&gt; is the port number set for that server.
-
-<?php include("fend.inc"); ?>