aboutsummaryrefslogtreecommitdiffstats
path: root/config/frickin
diff options
context:
space:
mode:
authorBill Marquette <bill.marquette@gmail.com>2009-02-06 19:18:00 -0600
committerBill Marquette <bill.marquette@gmail.com>2009-02-06 19:18:00 -0600
commit55eddd7accf2c5f9b0f52b22a010c4c4b7c130d1 (patch)
treeba4783bab1dd65f1ceef2dfac9fdbd515531d18b /config/frickin
parent67780cc9d469288742aea5bc378c29a54edd5ec5 (diff)
downloadpfsense-packages-55eddd7accf2c5f9b0f52b22a010c4c4b7c130d1.tar.gz
pfsense-packages-55eddd7accf2c5f9b0f52b22a010c4c4b7c130d1.tar.bz2
pfsense-packages-55eddd7accf2c5f9b0f52b22a010c4c4b7c130d1.zip
mv packages to config dir to match web layout
Diffstat (limited to 'config/frickin')
-rwxr-xr-xconfig/frickin/bin/frickinbin0 -> 470088 bytes
-rw-r--r--config/frickin/frickin.inc137
-rw-r--r--config/frickin/frickin.xml89
3 files changed, 226 insertions, 0 deletions
diff --git a/config/frickin/bin/frickin b/config/frickin/bin/frickin
new file mode 100755
index 00000000..450dd733
--- /dev/null
+++ b/config/frickin/bin/frickin
Binary files differ
diff --git a/config/frickin/frickin.inc b/config/frickin/frickin.inc
new file mode 100644
index 00000000..ac7c7572
--- /dev/null
+++ b/config/frickin/frickin.inc
@@ -0,0 +1,137 @@
+<?php
+
+/* $Id$ */
+/*
+ frickin.inc
+ Copyright (C) 2006 Scott Ullrich
+ part of pfSense
+ 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.
+*/
+
+function frickin_custom_php_install_command() {
+ global $config;
+ $fout = fopen("/usr/local/etc/rc.d/frickin.sh", "w");
+ fwrite($fout, "#!/bin/sh\n# This package was automatically generated\n# by the pfSense package system.\n\n");
+ fwrite($fout, "# PACKAGE: Frickin Proxy\n");
+ fwrite($fout, "# EXECUTABLE: frickin\n");
+ fwrite($fout, "/usr/local/bin/frickin");
+ fwrite($fout, " -c /usr/local/etc/frickin.conf");
+ fwrite($fout, " &\n");
+ fclose($fout);
+
+ $fout = fopen("/usr/local/etc/frickin.conf", "w");
+ $frickin_conf = <<<EOD
+
+proxy {
+ user = "nobody";
+ group = "nobody";
+ client {
+ queue = 5; # Maximum connection queue size
+ max = 100; # Maximum number of concurrent clients
+ multiple = FALSE; # Allow multiple connections from same ip
+ }
+ session {
+ connect = 15; # Connect timout (seconds)
+ idle = 60; # Idle timeout (seconds)
+ }
+}
+
+listeners {
+ default {
+ name = "Frickin PPTP Proxy";
+ vendor = "Placid Development";
+ ip = "127.0.0.1";
+ port = 1723;
+ }
+}
+
+EOD;
+
+ fwrite($fout, "{$frickin_conf}");
+ fclose($fout);
+
+ mwexec("/usr/bin/killall frickin");
+ mwexec("chmod a+rx /usr/local/etc/rc.d/frickin.sh");
+ mwexec("/usr/local/etc/rc.d/frickin.sh");
+
+// file_notice("System -> Advanced -> Scrub", "pfSenses scrub option has been disabled. See http://www.openbsd.org/faq/pf/scrub.html for more info.", "Scrub");
+// $config['system']['scrubnodf'] = "enabled";
+// write_config();
+
+ filter_configure();
+}
+
+function frickin_custom_php_deinstall_command() {
+ global $config;
+
+// unset($config['system']['scrubnodf']);
+// file_notice("System -> Advanced -> Scrub", "pfSenses scrub option has been enabled. See http://www.openbsd.org/faq/pf/scrub.html for more info.", "Scrub");
+// write_config();
+
+ unlink_if_exists("/usr/local/etc/rc.d/frickin.sh");
+ unlink_if_exists("/usr/local/bin/frickin");
+
+ mwexec("killall frickin");
+
+ filter_configure();
+}
+
+function frickin_generate_rules($type) {
+ global $config;
+
+ $rules = "";
+
+ $frickin_conf = $config['installedpackages']['frickin']['config'][0];
+ if (!is_process_running('frickin')) {
+ log_error("Frickin is installed but not started. Not installing redirect rules.");
+ return;
+ }
+
+ $ifaces = explode(',', $frickin_conf['active_interface']);
+ $ifaces = array_map('convert_friendly_interface_to_real_interface_name', $ifaces);
+
+ switch($type) {
+ case 'nat':
+ foreach ($ifaces as $iface) {
+ if(!$iface) {
+ //log_error("Not installing frickin pptp proxy rule. Please set it up");
+ //continue;
+ }
+ $rules .= "rdr on $iface proto tcp from any to any port = 1723 -> 127.0.0.1\n";
+ $rules .= "rdr on $iface inet proto gre all -> 127.0.0.1\n";
+ }
+ break;
+ case 'filter':
+ $ext_if = get_real_wan_interface();
+ $rules .= "pass out on $ext_if proto gre from any to any keep state\n";
+ $rules .= "pass in on $ext_if proto gre from any to any keep state\n";
+ break;
+ default:
+ break;
+ }
+
+ return $rules;
+}
+
+?> \ No newline at end of file
diff --git a/config/frickin/frickin.xml b/config/frickin/frickin.xml
new file mode 100644
index 00000000..6df9694e
--- /dev/null
+++ b/config/frickin/frickin.xml
@@ -0,0 +1,89 @@
+<?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$ */
+/* ========================================================================== */
+/*
+ authng.xml
+ part of pfSense (http://www.pfSense.com)
+ Copyright (C) 2007 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>Describe your package here</description>
+ <requirements>Describe your package requirements here</requirements>
+ <faq>Currently there are no FAQ items provided.</faq>
+ <name>frickin</name>
+ <version>2.0-BETA1</version>
+ <title>none</title>
+ <include_file>/usr/local/pkg/frickin.inc</include_file>
+ <menu>
+ <name>Frickin PPTP</name>
+ <tooltiptext>Setup Frickin PPTP Proxy specific settings</tooltiptext>
+ <section>Services</section>
+ <url>/pkg_edit.php?xml=frickin.xml&amp;id=0</url>
+ </menu>
+ <configpath>installedpackages->package->frickin->configuration->settings</configpath>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>077</chmod>
+ <item>http://www.pfsense.com/packages/config/frickin/frickin.inc</item>
+ </additional_files_needed>
+ <additional_files_needed>
+ <prefix>/usr/local/bin/</prefix>
+ <chmod>077</chmod>
+ <item>http://www.pfsense.com/packages/config/frickin/bin/frickin</item>
+ </additional_files_needed>
+ <fields>
+ <field>
+ <fielddescr>Proxy interface</fielddescr>
+ <fieldname>active_interface</fieldname>
+ <description>The interface(s) the proxy server will bind to.</description>
+ <type>interfaces_selection</type>
+ <required/>
+ <default_value>lan</default_value>
+ <multiple/>
+ </field>
+ </fields>
+ <custom_add_php_command>
+ frickin_custom_php_install_command();
+ </custom_add_php_command>
+ <custom_php_install_command>
+ frickin_custom_php_install_command();
+ </custom_php_install_command>
+ <custom_php_deinstall_command>
+ frickin_custom_php_deinstall_command();
+ </custom_php_deinstall_command>
+</packagegui>