diff options
-rw-r--r-- | config/shellcmd/shellcmd.inc | 124 | ||||
-rw-r--r-- | config/shellcmd/shellcmd.tmp | 231 | ||||
-rw-r--r-- | config/shellcmd/shellcmd.xml | 115 | ||||
-rw-r--r-- | config/shellcmd/shellcmd_edit.tmp | 236 | ||||
-rwxr-xr-x | pkg_config.7.xml | 14 |
5 files changed, 720 insertions, 0 deletions
diff --git a/config/shellcmd/shellcmd.inc b/config/shellcmd/shellcmd.inc new file mode 100644 index 00000000..76ceeb31 --- /dev/null +++ b/config/shellcmd/shellcmd.inc @@ -0,0 +1,124 @@ +<?php +/* $Id$ */ +/* +/* ========================================================================== */ +/* + shellcmd.inc + Copyright (C) 2008 Mark J Crane + 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. +*/ + +require("services.inc"); + +function pkg_is_service_running($servicename) +{ + exec("/bin/ps ax | awk '{ print $5 }'", $psout); + array_shift($psout); + foreach($psout as $line) { + $ps[] = trim(array_pop(explode(' ', array_pop(explode('/', $line))))); + } + if(is_service_running($servicename, $ps) or is_process_running($servicename) ) { + return true; + } + else { + return false; + } +} + +function php_sync_package() +{ + + global $config; + //synch shellcmd tab + //configure_shellcmd(); + //$handle = popen("/usr/local/etc/rc.d/shellcmd.sh stop", "r"); + //pclose($handle); + //$handle = popen("/usr/local/etc/rc.d/shellcmd.sh start", "r"); + //pclose($handle); + +} + + +function php_install_command() +{ + + global $config; + conf_mount_rw(); + config_lock(); + + if (!is_dir('/usr/local/www/packages/')) { + exec("mkdir /usr/local/www/packages/"); + } + + if (!is_dir('/usr/local/www/packages/shellcmd/')) { + exec("mkdir /usr/local/www/packages/shellcmd/"); + } + + + //rename PHP files from .tmp to .php + exec("cp /tmp/shellcmd.tmp /usr/local/www/packages/shellcmd/shellcmd.php"); + unlink_if_exists("/tmp/shellcmd.tmp"); + + exec("cp /tmp/shellcmd_edit.tmp /usr/local/www/packages/shellcmd/shellcmd_edit.php"); + unlink_if_exists("/tmp/shellcmd_edit.tmp"); + + //write_config(); + + //write_rcfile(array( + // "file" => "shellcmd.sh", + // "start" => "/usr/sbin/shellcmd -s &", + // "stop" => "kill -9 `cat /var/run/shellcmd.pid`" + // ) + //); + + php_sync_package(); + + //if (pkg_is_service_running('shellcmd')) { + //documentation purposes + //} + + conf_mount_ro(); + config_unlock(); + +} + + +function deinstall_command() +{ + + conf_mount_rw(); + config_lock(); + $handle = popen("/usr/local/etc/rc.d/shellcmd.sh stop", "r"); + unlink_if_exists("/usr/local/pkg/shellcmd.xml"); + unlink_if_exists("/usr/local/www/shellcmd.inc"); + exec("rm -R /usr/local/www/packages/shellcmd"); + //unlink_if_exists("/usr/local/etc/rc.d/shellcmd.sh"); + conf_mount_ro(); + config_unlock(); + +} + +?>
\ No newline at end of file diff --git a/config/shellcmd/shellcmd.tmp b/config/shellcmd/shellcmd.tmp new file mode 100644 index 00000000..66e32c44 --- /dev/null +++ b/config/shellcmd/shellcmd.tmp @@ -0,0 +1,231 @@ +<?php +/* $Id$ */ +/* + shellcmd.php + Copyright (C) 2008 Mark J Crane + 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. +*/ + +require("guiconfig.inc"); +require("/usr/local/pkg/shellcmd.inc"); + +$a_earlyshellcmd = &$config['system']['earlyshellcmd']; +$a_shellcmd = &$config['system']['shellcmd']; +$a_afterfilterchangeshellcmd = &$config['system']['afterfilterchangeshellcmd']; + +if ($_GET['act'] == "del") { + if ($_GET['type'] == 'cmd') { + if ($a_shellcmd[$_GET['id']]) { + unset($a_shellcmd[$_GET['id']]); + write_config(); + header("Location: shellcmd.php"); + exit; + } + } +} + +include("head.inc"); + +?> + + +<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +<?php include("fbegin.inc"); ?> +<p class="pgtitle">Shellcmd: Settings</p> + +<div id="mainlevel"> +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr><td class="tabnavtbl"> +<?php + + $tab_array = array(); + $tab_array[] = array(gettext("Settings"), false, "/packages/shellcmd/shellcmd.php"); + display_top_tabs($tab_array); + +?> +</td></tr> +</table> + +<table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td class="tabcont" > + +<form action="shellcmd.php" method="post" name="iform" id="iform"> +<?php + +if ($config_change == 1) { + write_config(); + $config_change = 0; +} + +//if ($savemsg) print_info_box($savemsg); +//if (file_exists($d_hostsdirty_path)): echo"<p>"; +//print_info_box_np("This is an info box."); +//echo"<br />"; +//endif; + +?> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td><p><!--<span class="vexpl"><span class="red"><strong>shellcmd<br></strong></span>--> + shellcmd controls the commands that are started when the sytems is booted up. + <br /><br /> + <!--For more information see: <a href='http://www.' target='_blank'>http://www.</a>--> + </p></td> + </tr> + </table> + <br /> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="50%" class="listhdrr">command</td> + <td width="30%" class="listhdrr">type</td> + <td width="10%" class="list"> + + <table border="0" cellspacing="0" cellpadding="1"> + <tr> + <td width="17"></td> + <td valign="middle"><a href="shellcmd_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> + </tr> + </table> + + </td> + </tr> + + +<?php + + $i = 0; + if (count($a_earlyshellcmd) > 0) { + foreach ($a_earlyshellcmd as $ent) { + echo " <tr>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; + echo " ".$ent['command']." \n"; + echo " </td>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; + echo " earlyshellcmd \n"; + echo " </td>\n"; + echo " <td valign=\"middle\" nowrap class=\"list\">\n"; + echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; + echo " <tr>\n"; + echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=earlyshellcmd&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " <td><a href=\"shellcmd_edit.php?type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " </tr>"; + $i++; + } + } + + + $i = 0; + if (count($a_shellcmd) > 0) { + foreach ($a_shellcmd as $ent) { + echo " <tr>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; + echo " ".$ent['command']." \n"; + echo " </td>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; + echo " shellcmd \n"; + echo " </td>\n"; + echo " <td valign=\"middle\" nowrap class=\"list\">\n"; + echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; + echo " <tr>\n"; + echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=shellcmd&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " <td><a href=\"shellcmd_edit.php?type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " </tr>"; + $i++; + } + } + + + $i = 0; + if (count($a_afterfilterchangeshellcmd) > 0) { + foreach ($a_afterfilterchangeshellcmd as $ent) { + echo " <tr>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; + echo " ".$ent['command']." \n"; + echo " </td>\n"; + echo " <td class=\"listr\" ondblclick=\"document.location='shellcmd_edit.php?id=".$i."';\">\n"; + echo " afterfilterchangeshellcmd \n"; + echo " </td>\n"; + echo " <td valign=\"middle\" nowrap class=\"list\">\n"; + echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; + echo " <tr>\n"; + echo " <td valign=\"middle\"><a href=\"shellcmd_edit.php?t=afterfilterchangeshellcmd&id=".$i."\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " <td><a href=\"shellcmd_edit.php?type=cmd&act=del&id=".$i."\" onclick=\"return confirm('Do you really want to delete this?')\"><img src=\"/themes/".$g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " </tr>"; + $i++; + } + } +?> + + <tr> + <td class="list" colspan="7"></td> + <td class="list"> + <table border="0" cellspacing="0" cellpadding="1"> + <tr> + <td width="17"></td> + <td valign="middle"><a href="shellcmd_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> + </tr> + </table> + </td> + </tr> + + + <tr> + <td class="list" colspan="8"></td> + <td class="list"></td> + </tr> + </table> + +</form> + + +<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> + +</td> +</tr> +</table> + +</div> + + +<?php include("fend.inc"); ?> +</body> +</html> diff --git a/config/shellcmd/shellcmd.xml b/config/shellcmd/shellcmd.xml new file mode 100644 index 00000000..7e5af996 --- /dev/null +++ b/config/shellcmd/shellcmd.xml @@ -0,0 +1,115 @@ +<?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$ */ +/* ========================================================================== */ +/* + shellcmd.xml + Copyright (C) 2008 Mark J Crane + 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>Shellcmd</description> + <requirements>Describe your package requirements here</requirements> + <faq>Currently there are no FAQ items provided.</faq> + <name>Shellcmd Settings</name> + <version>0.1</version> + <title>Settings</title> + <include_file>/usr/local/pkg/shellcmd.inc</include_file> + <menu> + <name>Shellcmd</name> + <tooltiptext>shellcmd settings.</tooltiptext> + <section>Services</section> + <configfile>shellcmd.xml</configfile> + <url>/packages/shellcmd/shellcmd.php</url> + </menu> + <tabs> + <tab> + <text>Settings</text> + <url>/pkg_edit.php?xml=shellcmd.xml&id=0</url> + <active/> + </tab> + <tab> + <text>Settings</text> + <url>/packages/shellcmd.php</url> + <active/> + </tab> + </tabs> + <configpath>installedpackages->package->$packagename->configuration->shellcmd</configpath> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/shellcmd/shellcmd.xml</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/shellcmd/shellcmd.inc</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/tmp/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/shellcmd/shellcmd.tmp</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/tmp/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/shellcmd/shellcmd_edit.tmp</item> + </additional_files_needed> + <fields> + <field> + <fielddescr>Variable One</fielddescr> + <fieldname>var1</fieldname> + <description>Enter the variable one here.</description> + <type>input</type> + </field> + <field> + <fielddescr>Variable Two</fielddescr> + <fieldname>var1</fieldname> + <description>Enter the variable one here.</description> + <type>input</type> + </field> + </fields> + <custom_add_php_command> + </custom_add_php_command> + <custom_php_resync_config_command> + php_sync_package(); + </custom_php_resync_config_command> + <custom_delete_php_command> + php_sync_package(); + </custom_delete_php_command> + <custom_php_install_command> + php_install_command(); + </custom_php_install_command> + <custom_php_deinstall_command> + deinstall_command(); + </custom_php_deinstall_command> +</packagegui>
\ No newline at end of file diff --git a/config/shellcmd/shellcmd_edit.tmp b/config/shellcmd/shellcmd_edit.tmp new file mode 100644 index 00000000..904c6008 --- /dev/null +++ b/config/shellcmd/shellcmd_edit.tmp @@ -0,0 +1,236 @@ +<?php +/* $Id$ */ +/* + + shellcmd_edit.php + Copyright (C) 2008 Mark J Crane + 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. +*/ + +require("guiconfig.inc"); +require("/usr/local/pkg/shellcmd.inc"); + + +$a_earlyshellcmd = &$config['system']['earlyshellcmd']; +$a_shellcmd = &$config['system']['shellcmd']; +$a_afterfilterchangeshellcmd = &$config['system']['afterfilterchangeshellcmd']; + +$id = $_GET['id']; +if (isset($_POST['id'])) { + $id = $_POST['id']; +} + +$type = $_GET['t']; +if (isset($_POST['t'])) { + $type = $_POST['t']; +} + +if ($_GET['act'] == "del") { + if ($_GET['type'] == 'cmd') { + if ($a_shellcmd[$_GET['id']]) { + unset($a_shellcmd[$_GET['id']]); + write_config(); + php_sync_package(); + header("Location: shellcmd.php"); + exit; + } + } +} + +if (isset($id) && $a_shellcmd[$id]) { + + $pconfig['command'] = $a_shellcmd[$id]['command']; + + +} + +if ($_POST) { + + unset($input_errors); + $pconfig = $_POST; + + if (!$input_errors) { + + $ent = array(); + $ent['command'] = $_POST['command']; + + if (isset($id) && $a_shellcmd[$id]) { + //update + $a_shellcmd[$id] = $ent; + } + else { + //add + switch (htmlspecialchars($type)) { + case "earlyshellcmd": + $a_earlyshellcmd[] = $ent; + break; + case "shellcmd": + $a_shellcmd[] = $ent; + break; + case "afterfilterchangeshellcmd": + $a_afterfilterchangeshellcmd[] = $ent; + break; + default: + break; + } + + } + + write_config(); + php_sync_package(); + + header("Location: shellcmd.php"); + exit; + } +} + +include("head.inc"); + +?> + +<script type="text/javascript" language="JavaScript"> + +function show_advanced_config() { + document.getElementById("showadvancedbox").innerHTML=''; + aodiv = document.getElementById('showadvanced'); + aodiv.style.display = "block"; +</script> + +<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +<?php include("fbegin.inc"); ?> +<p class="pgtitle">shellcmd: Edit</p> +<?php if ($input_errors) print_input_errors($input_errors); ?> + + +<div id="mainlevel"> +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr><td class="tabnavtbl"> +<?php + + $tab_array = array(); + $tab_array[] = array(gettext("Settings"), false, "/packages/shellcmd/shellcmd.php"); + display_top_tabs($tab_array); + +?> +</td></tr> +</table> +<table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td class="tabcont" > + + <!-- + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td><p><span class="vexpl"><span class="red"><strong>shellcmd<br> + </strong></span> + </p></td> + </tr> + </table> + --> + <br /> + + + <form action="shellcmd_edit.php" method="post" name="iform" id="iform"> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td width="25%" valign="top" class="vncellreq">type</td> + <td width="75%" class="vtable"> + <?php + echo " <select name='t' class='formfld'>\n"; + echo " <option></option>\n"; + switch (htmlspecialchars($type)) { + case "earlyshellcmd": + echo " <option value='earlyshellcmd' selected='yes'>earlyshellcmd</option>\n"; + echo " <option value='shellcmd'>shellcmd</option>\n"; + echo " <option value='afterfilterchangeshellcmd'>afterfilterchangeshellcmd</option>\n"; + break; + case "shellcmd": + echo " <option value='earlyshellcmd'>earlyshellcmd</option>\n"; + echo " <option value='shellcmd' selected='yes'>shellcmd</option>\n"; + echo " <option value='afterfilterchangeshellcmd'>afterfilterchangeshellcmd</option>\n"; + break; + case "afterfilterchangeshellcmd": + echo " <option value='earlyshellcmd'>earlyshellcmd</option>\n"; + echo " <option value='shellcmd'>shellcmd</option>\n"; + echo " <option value='afterfilterchangeshellcmd' selected='yes'>afterfilterchangeshellcmd</option>\n"; + break; + default: + echo " <option value=''></option>\n"; + echo " <option value='earlyshellcmd'>earlyshellcmd</option>\n"; + echo " <option value='shellcmd'>shellcmd</option>\n"; + echo " <option value='afterfilterchangeshellcmd'>afterfilterchangeshellcmd</option>\n"; + break; + } + echo " </select>\n"; + ?> + <input name="type" type="text" class="formfld" id="minute" size="40" value="<?=htmlspecialchars($pconfig['type']);?>"> + </td> + </tr> + + <tr> + <td width="25%" valign="top" class="vncellreq">command</td> + <td width="75%" class="vtable"> + <input name="command" type="text" class="formfld" id="command" size="40" value="<?=htmlspecialchars($pconfig['command']);?>"> + </td> + </tr> + + + <!-- + <tr> + <td width="25%" valign="top" class="vncellreq">Description</td> + <td width="75%" class="vtable"> + <input name="description" type="text" class="formfld" id="description" size="40" value="<?=htmlspecialchars($pconfig['description']);?>"> + <br><span class="vexpl">Enter the description here.<br></span> + </td> + </tr> + --> + + <tr> + <td valign="top"> </td> + <td> + <input name="Submit" type="submit" class="formbtn" value="Save"> <input class="formbtn" type="button" value="Cancel" onclick="history.back()"> + <?php if (isset($id) && $a_shellcmd[$id]): ?> + <input name="id" type="hidden" value="<?=$id;?>"> + <?php endif; ?> + </td> + </tr> + </table> + </form> + + <br> + <br> + <br> + <br> + <br> + <br> + + </td> + </tr> +</table> + +</div> + +<?php include("fend.inc"); ?> +</body> +</html> diff --git a/pkg_config.7.xml b/pkg_config.7.xml index 95ed5ca4..804adbb0 100755 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -169,6 +169,20 @@ <configurationfile>cron.xml</configurationfile> </package> <package> + <name>Shellcmd</name> + <website/> + <descr>The shellcmd utility is used to manage commands on a system startup.</descr> + <category>Services</category> + <pkginfolink></pkginfolink> + <config_file>http://www.pfsense.com/packages/config/shellcmd/shellcmd.xml</config_file> + <depends_on_package_base_url>http://files.pfsense.org/packages/7/All/</depends_on_package_base_url> + <version>0.1</version> + <status>Alpha</status> + <required_version>1.2</required_version> + <maintainer>markjcrane@gmail.com</maintainer> + <configurationfile>shellcmd.xml</configurationfile> + </package> + <package> <name>snort</name> <descr>Snort is a libpcap-based packet sniffer/logger which can be used as a lightweight network intrusion detection system. It features rules based logging and can perform content searching/matching in addition to being used to detect a variety of other attacks and probes, such as buffer overflows, stealth port scans, CGI attacks, SMB probes, and much more.</descr> <category>Security</category> |