diff options
author | Daniel Stefan Haischt <dsh@pfsense.org> | 2007-09-09 21:47:15 +0000 |
---|---|---|
committer | Daniel Stefan Haischt <dsh@pfsense.org> | 2007-09-09 21:47:15 +0000 |
commit | bae8b3e877512740864ffd1e08820b41c71cf72b (patch) | |
tree | 874c8f791c744ccf7bc21efe5eb519b3e738d7a0 | |
parent | e6fd119bb3f61cf3cfc59f9c1ae0d1e9a7f28481 (diff) | |
download | pfsense-packages-bae8b3e877512740864ffd1e08820b41c71cf72b.tar.gz pfsense-packages-bae8b3e877512740864ffd1e08820b41c71cf72b.tar.bz2 pfsense-packages-bae8b3e877512740864ffd1e08820b41c71cf72b.zip |
* added initial release of user- and groupmanager stuff (now being called authng)
* this is just a working, unfinished version. It does not work as expected right now.
-rw-r--r-- | packages/authng/bin/patch | bin | 0 -> 41056 bytes | |||
-rw-r--r-- | packages/authng/diff/authng-fbegin.inc.diff | 15 | ||||
-rw-r--r-- | packages/authng/diff/authng-globals.inc.diff | 16 | ||||
-rw-r--r-- | packages/authng/diff/authng-guiconfig.inc.diff | 16 | ||||
-rw-r--r-- | packages/authng/diff/authng-pfSenseHead.diff | 2128 | ||||
-rw-r--r-- | packages/authng/pkg/authng.inc | 78 | ||||
-rw-r--r-- | packages/authng/pkg/authng.xml | 194 | ||||
-rw-r--r-- | packages/authng/pkg/authng_authgui.inc | 287 | ||||
-rw-r--r-- | packages/authng/pkg/authng_authmethods.inc | 222 | ||||
-rw-r--r-- | packages/authng/pkg/authng_backends.inc | 234 | ||||
-rw-r--r-- | packages/authng/pkg/authng_classdefs.inc | 466 | ||||
-rw-r--r-- | packages/authng/pkg/authng_peers.inc | 471 |
12 files changed, 4127 insertions, 0 deletions
diff --git a/packages/authng/bin/patch b/packages/authng/bin/patch Binary files differnew file mode 100644 index 00000000..f807fa85 --- /dev/null +++ b/packages/authng/bin/patch diff --git a/packages/authng/diff/authng-fbegin.inc.diff b/packages/authng/diff/authng-fbegin.inc.diff new file mode 100644 index 00000000..8a38c1b4 --- /dev/null +++ b/packages/authng/diff/authng-fbegin.inc.diff @@ -0,0 +1,15 @@ +Index: usr/local/www/fbegin.inc +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/fbegin.inc,v +retrieving revision 1.104.2.37.2.7 +diff -u -r1.104.2.37.2.7 fbegin.inc +--- usr/local/www/fbegin.inc 31 May 2007 03:21:59 -0000 1.104.2.37.2.7 ++++ usr/local/www/fbegin.inc 8 Sep 2007 21:16:29 -0000 +@@ -127,6 +127,7 @@ + <?php endif; ?> + <li><a href="/wizard.php?xml=setup_wizard.xml" class="navlnk">Setup wizard</a></li> + <li><a href="/system_routes.php" class="navlnk">Static routes</a></li> ++ <?php echo return_ext_menu("System"); ?> + </ul> + </li> + <li class="drop"> diff --git a/packages/authng/diff/authng-globals.inc.diff b/packages/authng/diff/authng-globals.inc.diff new file mode 100644 index 00000000..6dea7e6f --- /dev/null +++ b/packages/authng/diff/authng-globals.inc.diff @@ -0,0 +1,16 @@ +Index: globals.inc +=================================================================== +RCS file: /cvsroot/pfSense/etc/inc/globals.inc,v +retrieving revision 1.40.2.16 +diff -u -r1.40.2.16 globals.inc +--- globals.inc 27 Feb 2007 20:45:31 -0000 1.40.2.16 ++++ globals.inc 9 Sep 2007 20:54:52 -0000 +@@ -47,6 +47,8 @@ + "cf_conf_path" => "/cf/conf", + "www_path" => "/usr/local/www", + "xml_rootobj" => "pfsense", ++ "admin_group" => "admins", ++ "product_name" => "pfSense", + "pppoe_interface" => "ng0", + "n_pptp_units" => 16, /* this value can be overriden in pptp->n_pptp_units */ + "pptp_subnet" => 28, /* this value can be overriden in pptp->pptp_subnet */ diff --git a/packages/authng/diff/authng-guiconfig.inc.diff b/packages/authng/diff/authng-guiconfig.inc.diff new file mode 100644 index 00000000..35b4f3aa --- /dev/null +++ b/packages/authng/diff/authng-guiconfig.inc.diff @@ -0,0 +1,16 @@ +Index: guiconfig.inc +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/guiconfig.inc,v +retrieving revision 1.90.2.31.2.3 +diff -u -r1.90.2.31.2.3 guiconfig.inc +--- guiconfig.inc 10 May 2007 20:49:41 -0000 1.90.2.31.2.3 ++++ guiconfig.inc 9 Sep 2007 19:43:31 -0000 +@@ -41,7 +41,7 @@ + + /* Include authentication routines */ + /* THIS MUST BE ABOVE ALL OTHER CODE */ +-require_once("auth.inc"); ++require_once("authng_authgui.inc"); + + /* parse the configuration and include all configuration functions */ + require_once("config.inc"); diff --git a/packages/authng/diff/authng-pfSenseHead.diff b/packages/authng/diff/authng-pfSenseHead.diff new file mode 100644 index 00000000..2a531271 --- /dev/null +++ b/packages/authng/diff/authng-pfSenseHead.diff @@ -0,0 +1,2128 @@ +Index: usr/local/www/carp_status.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/carp_status.php,v +retrieving revision 1.27.2.3 +diff -u -r1.27.2.3 carp_status.php +--- usr/local/www/carp_status.php 3 Apr 2006 21:05:11 -0000 1.27.2.3 ++++ usr/local/www/carp_status.php 8 Sep 2007 18:31:52 -0000 +@@ -56,6 +56,7 @@ + + $pgtitle = "CARP: Status"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_arp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_arp.php,v +retrieving revision 1.3.2.4 +diff -u -r1.3.2.4 diag_arp.php +--- usr/local/www/diag_arp.php 19 Mar 2006 22:23:31 -0000 1.3.2.4 ++++ usr/local/www/diag_arp.php 8 Sep 2007 18:32:10 -0000 +@@ -31,6 +31,7 @@ + require("guiconfig.inc"); + $pgtitle = "Diagnostics: ARP Table"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + <body link="#000000" vlink="#000000" alink="#000000"> + <script src="/javascript/sorttable.js"></script> +Index: usr/local/www/diag_backup.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_backup.php,v +retrieving revision 1.70.2.18.2.2 +diff -u -r1.70.2.18.2.2 diag_backup.php +--- usr/local/www/diag_backup.php 3 May 2007 22:16:01 -0000 1.70.2.18.2.2 ++++ usr/local/www/diag_backup.php 8 Sep 2007 18:32:26 -0000 +@@ -225,6 +225,7 @@ + + $pgtitle = "Diagnostics: Backup/restore"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_confbak.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_confbak.php,v +retrieving revision 1.20.2.2 +diff -u -r1.20.2.2 diag_confbak.php +--- usr/local/www/diag_confbak.php 2 Jan 2006 23:46:23 -0000 1.20.2.2 ++++ usr/local/www/diag_confbak.php 8 Sep 2007 18:32:54 -0000 +@@ -50,6 +50,7 @@ + + $pgtitle = "Diagnostics: Configuration History"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_defaults.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_defaults.php,v +retrieving revision 1.6.4.3 +diff -u -r1.6.4.3 diag_defaults.php +--- usr/local/www/diag_defaults.php 28 Apr 2006 02:27:19 -0000 1.6.4.3 ++++ usr/local/www/diag_defaults.php 8 Sep 2007 18:32:58 -0000 +@@ -46,6 +46,7 @@ + + $pgtitle = "Diagnostics: Factory defaults"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_dhcp_leases.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_dhcp_leases.php,v +retrieving revision 1.11.2.17 +diff -u -r1.11.2.17 diag_dhcp_leases.php +--- usr/local/www/diag_dhcp_leases.php 2 Mar 2007 15:31:08 -0000 1.11.2.17 ++++ usr/local/www/diag_dhcp_leases.php 8 Sep 2007 18:33:04 -0000 +@@ -35,6 +35,7 @@ + + $pgtitle = "Diagnostics: DHCP leases"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_dump_states.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_dump_states.php,v +retrieving revision 1.10.2.14.2.1 +diff -u -r1.10.2.14.2.1 diag_dump_states.php +--- usr/local/www/diag_dump_states.php 11 May 2007 17:21:06 -0000 1.10.2.14.2.1 ++++ usr/local/www/diag_dump_states.php 8 Sep 2007 18:33:11 -0000 +@@ -30,6 +30,7 @@ + + $pgtitle = "Diagnostics: Show States"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + /* handle AJAX operations */ + if($_GET['action']) { +Index: usr/local/www/diag_ipsec_sad.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_ipsec_sad.php,v +retrieving revision 1.12.2.3 +diff -u -r1.12.2.3 diag_ipsec_sad.php +--- usr/local/www/diag_ipsec_sad.php 3 Apr 2006 21:05:11 -0000 1.12.2.3 ++++ usr/local/www/diag_ipsec_sad.php 8 Sep 2007 18:33:18 -0000 +@@ -35,6 +35,7 @@ + + $pgtitle = "Diagnostics: IPSec: SA"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_ipsec_spd.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_ipsec_spd.php,v +retrieving revision 1.12.2.2 +diff -u -r1.12.2.2 diag_ipsec_spd.php +--- usr/local/www/diag_ipsec_spd.php 2 Jan 2006 23:46:23 -0000 1.12.2.2 ++++ usr/local/www/diag_ipsec_spd.php 8 Sep 2007 18:33:22 -0000 +@@ -35,6 +35,7 @@ + + $pgtitle = "Diagnostics: IPSec: SPD"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs.php,v +retrieving revision 1.32.2.11 +diff -u -r1.32.2.11 diag_logs.php +--- usr/local/www/diag_logs.php 9 Oct 2006 00:19:17 -0000 1.32.2.11 ++++ usr/local/www/diag_logs.php 8 Sep 2007 18:33:30 -0000 +@@ -56,6 +56,7 @@ + + $pgtitle = "Diagnostics: System logs: System"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs_auth.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_auth.php,v +retrieving revision 1.19.2.4 +diff -u -r1.19.2.4 diag_logs_auth.php +--- usr/local/www/diag_logs_auth.php 5 Oct 2006 21:51:02 -0000 1.19.2.4 ++++ usr/local/www/diag_logs_auth.php 8 Sep 2007 18:33:38 -0000 +@@ -43,6 +43,7 @@ + + $pgtitle = "Diagnostics: System logs: Portal Auth"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs_dhcp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_dhcp.php,v +retrieving revision 1.19.2.4 +diff -u -r1.19.2.4 diag_logs_dhcp.php +--- usr/local/www/diag_logs_dhcp.php 5 Oct 2006 21:51:02 -0000 1.19.2.4 ++++ usr/local/www/diag_logs_dhcp.php 8 Sep 2007 18:33:43 -0000 +@@ -45,6 +45,7 @@ + + $pgtitle = "Diagnostics: System logs: DHCP"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs_filter.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_filter.php,v +retrieving revision 1.46.2.33.2.1 +diff -u -r1.46.2.33.2.1 diag_logs_filter.php +--- usr/local/www/diag_logs_filter.php 5 Jul 2007 22:31:03 -0000 1.46.2.33.2.1 ++++ usr/local/www/diag_logs_filter.php 8 Sep 2007 18:33:53 -0000 +@@ -173,6 +173,7 @@ + + $pgtitle = "Diagnostics: System logs: Firewall"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_logs_filter_dynamic.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/diag_logs_filter_dynamic.php,v +retrieving revision 1.13.2.16.2.2 +diff -u -r1.13.2.16.2.2 diag_logs_filter_dynamic.php +--- usr/local/www/diag_logs_filter_dynamic.php 4 Jul 2007 20:14:26 -0000 1.13.2.16.2.2 ++++ usr/local/www/diag_logs_filter_dynamic.php 8 Sep 2007 18:34:01 -0000 +@@ -157,6 +157,7 @@ + + $pgtitle = "Diagnostics: System logs: Firewall"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_logs_ipsec.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_ipsec.php,v +retrieving revision 1.30.2.5 +diff -u -r1.30.2.5 diag_logs_ipsec.php +--- usr/local/www/diag_logs_ipsec.php 5 Oct 2006 21:51:02 -0000 1.30.2.5 ++++ usr/local/www/diag_logs_ipsec.php 8 Sep 2007 18:35:14 -0000 +@@ -47,6 +47,7 @@ + + $pgtitle = "Diagnostics: System logs: IPSEC VPN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_logs_ntpd.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_ntpd.php,v +retrieving revision 1.1.2.4 +diff -u -r1.1.2.4 diag_logs_ntpd.php +--- usr/local/www/diag_logs_ntpd.php 22 Oct 2006 05:30:56 -0000 1.1.2.4 ++++ usr/local/www/diag_logs_ntpd.php 8 Sep 2007 18:35:19 -0000 +@@ -45,6 +45,7 @@ + + $pgtitle = "Diagnostics: System logs: OpenNTPD"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs_openvpn.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_openvpn.php,v +retrieving revision 1.2.2.8 +diff -u -r1.2.2.8 diag_logs_openvpn.php +--- usr/local/www/diag_logs_openvpn.php 5 Oct 2006 21:51:02 -0000 1.2.2.8 ++++ usr/local/www/diag_logs_openvpn.php 8 Sep 2007 18:35:24 -0000 +@@ -48,6 +48,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_logs_settings.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_settings.php,v +retrieving revision 1.18.2.8 +diff -u -r1.18.2.8 diag_logs_settings.php +--- usr/local/www/diag_logs_settings.php 5 Oct 2006 21:51:02 -0000 1.18.2.8 ++++ usr/local/www/diag_logs_settings.php 8 Sep 2007 18:35:31 -0000 +@@ -94,6 +94,7 @@ + + $pgtitle = "Diagnostics: System logs: Settings"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs_slbd.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_slbd.php,v +retrieving revision 1.3.2.5 +diff -u -r1.3.2.5 diag_logs_slbd.php +--- usr/local/www/diag_logs_slbd.php 5 Oct 2006 21:51:02 -0000 1.3.2.5 ++++ usr/local/www/diag_logs_slbd.php 8 Sep 2007 18:35:36 -0000 +@@ -46,6 +46,7 @@ + + $pgtitle = "Diagnostics: System logs: Load Balancer"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/diag_logs_vpn.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_logs_vpn.php,v +retrieving revision 1.26.2.8 +diff -u -r1.26.2.8 diag_logs_vpn.php +--- usr/local/www/diag_logs_vpn.php 22 Oct 2006 05:30:56 -0000 1.26.2.8 ++++ usr/local/www/diag_logs_vpn.php 8 Sep 2007 18:35:43 -0000 +@@ -70,6 +70,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_packet_capture.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_packet_capture.php,v +retrieving revision 1.2.2.4.2.5 +diff -u -r1.2.2.4.2.5 diag_packet_capture.php +--- usr/local/www/diag_packet_capture.php 1 Jul 2007 05:09:05 -0000 1.2.2.4.2.5 ++++ usr/local/www/diag_packet_capture.php 8 Sep 2007 18:35:53 -0000 +@@ -106,7 +106,9 @@ + + } + $pgtitle = "Diagnostics: Packet Capture"; +-include("head.inc"); ?> ++include("head.inc"); ++echo $pfSenseHead->getHTML(); ++?> + <body link="#000000" vlink="#0000CC" alink="#0000CC"> + <? include("fbegin.inc"); ?> + +Index: usr/local/www/diag_ping.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/diag_ping.php,v +retrieving revision 1.8.2.6 +diff -u -r1.8.2.6 diag_ping.php +--- usr/local/www/diag_ping.php 25 Apr 2006 22:06:42 -0000 1.8.2.6 ++++ usr/local/www/diag_ping.php 8 Sep 2007 18:36:01 -0000 +@@ -86,7 +86,9 @@ + } + + $pgtitle = "Diagnostics: Ping"; +-include("head.inc"); ?> ++include("head.inc"); ++echo $pfSenseHead->getHTML(); ++?> + <body link="#000000" vlink="#000000" alink="#000000"> + <? include("fbegin.inc"); ?> + <p class="pgtitle"><?=$pgtitle?></p> +Index: usr/local/www/diag_pkglogs.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_pkglogs.php,v +retrieving revision 1.20.4.1 +diff -u -r1.20.4.1 diag_pkglogs.php +--- usr/local/www/diag_pkglogs.php 2 Jan 2006 23:46:23 -0000 1.20.4.1 ++++ usr/local/www/diag_pkglogs.php 8 Sep 2007 18:36:08 -0000 +@@ -68,6 +68,7 @@ + + $pgtitle = "Diagnostics: Package logs"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_resetstate.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_resetstate.php,v +retrieving revision 1.6.4.2 +diff -u -r1.6.4.2 diag_resetstate.php +--- usr/local/www/diag_resetstate.php 2 Jan 2006 23:46:23 -0000 1.6.4.2 ++++ usr/local/www/diag_resetstate.php 8 Sep 2007 18:36:12 -0000 +@@ -45,6 +45,7 @@ + + $pgtitle = "Diagnostics: Reset state"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/diag_routes.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/diag_routes.php,v +retrieving revision 1.2.2.4 +diff -u -r1.2.2.4 diag_routes.php +--- usr/local/www/diag_routes.php 11 Mar 2006 08:25:22 -0000 1.2.2.4 ++++ usr/local/www/diag_routes.php 8 Sep 2007 18:36:16 -0000 +@@ -34,6 +34,7 @@ + $pgtitle = 'Diagnostics: Routing tables'; + + include('head.inc'); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#000000" vlink="#000000" alink="#000000"> +Index: usr/local/www/diag_traceroute.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/diag_traceroute.php,v +retrieving revision 1.4.2.7 +diff -u -r1.4.2.7 diag_traceroute.php +--- usr/local/www/diag_traceroute.php 25 Apr 2006 22:06:42 -0000 1.4.2.7 ++++ usr/local/www/diag_traceroute.php 8 Sep 2007 18:36:24 -0000 +@@ -32,6 +32,7 @@ + require("guiconfig.inc"); + $pgtitle = "Diagnostics: Traceroute"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + <body link="#000000" vlink="#000000" alink="#000000"> + <? include("fbegin.inc"); ?> +Index: usr/local/www/edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/edit.php,v +retrieving revision 1.35.2.5 +diff -u -r1.35.2.5 edit.php +--- usr/local/www/edit.php 26 Sep 2006 22:49:53 -0000 1.35.2.5 ++++ usr/local/www/edit.php 8 Sep 2007 19:09:08 -0000 +@@ -133,6 +133,7 @@ + $pgtitle = "Diagnostics: Edit File"; + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/exec.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/exec.php,v +retrieving revision 1.10.4.9 +diff -u -r1.10.4.9 exec.php +--- usr/local/www/exec.php 20 Mar 2007 18:38:33 -0000 1.10.4.9 ++++ usr/local/www/exec.php 8 Sep 2007 19:09:08 -0000 +@@ -52,6 +52,7 @@ + + $pgtitle = "Diagnostics: Execute command"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + + <script language="javascript"> +Index: usr/local/www/firewall_aliases.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_aliases.php,v +retrieving revision 1.21.2.10.2.1 +diff -u -r1.21.2.10.2.1 firewall_aliases.php +--- usr/local/www/firewall_aliases.php 8 May 2007 22:06:49 -0000 1.21.2.10.2.1 ++++ usr/local/www/firewall_aliases.php 8 Sep 2007 18:36:53 -0000 +@@ -144,7 +144,7 @@ + + $pgtitle = "Firewall: Aliases"; + include("head.inc"); +- ++echo $pfSenseHead->getHTML(); + ?> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/firewall_aliases_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_aliases_edit.php,v +retrieving revision 1.25.2.12.2.1 +diff -u -r1.25.2.12.2.1 firewall_aliases_edit.php +--- usr/local/www/firewall_aliases_edit.php 2 May 2007 12:43:56 -0000 1.25.2.12.2.1 ++++ usr/local/www/firewall_aliases_edit.php 8 Sep 2007 18:40:54 -0000 +@@ -284,6 +284,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + $jscriptstr = <<<EOD + +@@ -400,12 +401,13 @@ + + EOD; + ++$pfSenseHead->addScript($jscriptstr); ++echo $pfSenseHead->getHTML(); + ?> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="<?= $jsevents["body"]["onload"] ?>"> + <?php + include("fbegin.inc"); +- echo $jscriptstr; + ?> + + <script type="text/javascript" src="row_helper.js"> +Index: usr/local/www/firewall_nat.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat.php,v +retrieving revision 1.31.2.15.2.1 +diff -u -r1.31.2.15.2.1 firewall_nat.php +--- usr/local/www/firewall_nat.php 8 May 2007 22:06:49 -0000 1.31.2.15.2.1 ++++ usr/local/www/firewall_nat.php 8 Sep 2007 18:41:11 -0000 +@@ -134,6 +134,7 @@ + + $pgtitle = "Firewall: NAT: Port Forward"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#000000" vlink="#000000" alink="#000000"> +Index: usr/local/www/firewall_nat_1to1.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_1to1.php,v +retrieving revision 1.20.2.2.2.1 +diff -u -r1.20.2.2.2.1 firewall_nat_1to1.php +--- usr/local/www/firewall_nat_1to1.php 8 May 2007 22:06:49 -0000 1.20.2.2.2.1 ++++ usr/local/www/firewall_nat_1to1.php 8 Sep 2007 18:41:22 -0000 +@@ -71,6 +71,7 @@ + + $pgtitle = "Firewall: NAT: 1:1"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/firewall_nat_1to1_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_1to1_edit.php,v +retrieving revision 1.9.2.2 +diff -u -r1.9.2.2 firewall_nat_1to1_edit.php +--- usr/local/www/firewall_nat_1to1_edit.php 2 Jan 2006 23:46:23 -0000 1.9.2.2 ++++ usr/local/www/firewall_nat_1to1_edit.php 8 Sep 2007 19:09:08 -0000 +@@ -130,6 +130,7 @@ + + $pgtitle = "Firewall: NAT: 1:1: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_nat_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_edit.php,v +retrieving revision 1.30.2.19 +diff -u -r1.30.2.19 firewall_nat_edit.php +--- usr/local/www/firewall_nat_edit.php 27 Dec 2006 07:49:18 -0000 1.30.2.19 ++++ usr/local/www/firewall_nat_edit.php 8 Sep 2007 18:41:35 -0000 +@@ -257,6 +257,7 @@ + + $pgtitle = "Firewall: NAT: Port Forward: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_nat_out.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_out.php,v +retrieving revision 1.47.2.16.2.3 +diff -u -r1.47.2.16.2.3 firewall_nat_out.php +--- usr/local/www/firewall_nat_out.php 9 May 2007 15:42:19 -0000 1.47.2.16.2.3 ++++ usr/local/www/firewall_nat_out.php 8 Sep 2007 18:41:42 -0000 +@@ -177,6 +177,7 @@ + + $pgtitle = "Firewall: NAT: Outbound"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/firewall_nat_out_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_out_edit.php,v +retrieving revision 1.26.2.19 +diff -u -r1.26.2.19 firewall_nat_out_edit.php +--- usr/local/www/firewall_nat_out_edit.php 6 Sep 2006 17:49:16 -0000 1.26.2.19 ++++ usr/local/www/firewall_nat_out_edit.php 8 Sep 2007 18:44:06 -0000 +@@ -238,6 +238,8 @@ + $pgtitle = "Firewall: NAT: Outbound: Edit"; + $closehead = false; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_nat_server.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_server.php,v +retrieving revision 1.17.4.2 +diff -u -r1.17.4.2 firewall_nat_server.php +--- usr/local/www/firewall_nat_server.php 2 Jan 2006 23:46:24 -0000 1.17.4.2 ++++ usr/local/www/firewall_nat_server.php 8 Sep 2007 18:44:22 -0000 +@@ -83,6 +83,7 @@ + + $pgtitle = "Firewall: NAT: NAT Addresses"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/firewall_nat_server_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_nat_server_edit.php,v +retrieving revision 1.8.4.2 +diff -u -r1.8.4.2 firewall_nat_server_edit.php +--- usr/local/www/firewall_nat_server_edit.php 2 Jan 2006 23:46:24 -0000 1.8.4.2 ++++ usr/local/www/firewall_nat_server_edit.php 8 Sep 2007 18:44:27 -0000 +@@ -113,6 +113,7 @@ + + $pgtitle = "Firewall: NAT: NAT Addresses: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_rules.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_rules.php,v +retrieving revision 1.42.2.17.2.6 +diff -u -r1.42.2.17.2.6 firewall_rules.php +--- usr/local/www/firewall_rules.php 5 Jul 2007 22:35:33 -0000 1.42.2.17.2.6 ++++ usr/local/www/firewall_rules.php 8 Sep 2007 18:45:02 -0000 +@@ -171,6 +171,8 @@ + + $pgtitle = "Firewall: Rules"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript/domTT/domLib.js\"></script>"; + echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript/domTT/domTT.js\"></script>"; +Index: usr/local/www/firewall_rules_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_rules_edit.php,v +retrieving revision 1.86.2.34.2.3 +diff -u -r1.86.2.34.2.3 firewall_rules_edit.php +--- usr/local/www/firewall_rules_edit.php 1 Jun 2007 17:12:12 -0000 1.86.2.34.2.3 ++++ usr/local/www/firewall_rules_edit.php 8 Sep 2007 18:45:23 -0000 +@@ -349,10 +349,9 @@ + + $page_filename = "firewall_rules_edit.php"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> +- +-</head> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/firewall_schedule.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_schedule.php,v +retrieving revision 1.1.2.7.2.2 +diff -u -r1.1.2.7.2.2 firewall_schedule.php +--- usr/local/www/firewall_schedule.php 9 May 2007 02:09:06 -0000 1.1.2.7.2.2 ++++ usr/local/www/firewall_schedule.php 8 Sep 2007 18:45:43 -0000 +@@ -75,6 +75,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/firewall_schedule_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_schedule_edit.php,v +retrieving revision 1.1.2.15.2.2 +diff -u -r1.1.2.15.2.2 firewall_schedule_edit.php +--- usr/local/www/firewall_schedule_edit.php 7 May 2007 11:46:55 -0000 1.1.2.15.2.2 ++++ usr/local/www/firewall_schedule_edit.php 8 Sep 2007 18:46:49 -0000 +@@ -725,6 +725,9 @@ + + </script> + EOD; ++ ++$pfSenseHead->addScript($jscriptstr); ++echo $pfSenseHead->getHTML(); + ?> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="<?= $jsevents["body"]["onload"] ?>"> +Index: usr/local/www/firewall_shaper.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_shaper.php,v +retrieving revision 1.41.2.10 +diff -u -r1.41.2.10 firewall_shaper.php +--- usr/local/www/firewall_shaper.php 25 Mar 2006 00:14:06 -0000 1.41.2.10 ++++ usr/local/www/firewall_shaper.php 8 Sep 2007 18:47:46 -0000 +@@ -189,6 +189,7 @@ + + $pgtitle = "Firewall: Shaper: Rules"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_shaper_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_shaper_edit.php,v +retrieving revision 1.28.2.6 +diff -u -r1.28.2.6 firewall_shaper_edit.php +--- usr/local/www/firewall_shaper_edit.php 24 Apr 2006 18:41:52 -0000 1.28.2.6 ++++ usr/local/www/firewall_shaper_edit.php 8 Sep 2007 18:48:15 -0000 +@@ -291,6 +291,8 @@ + $pgtitle = "Firewall: Shaper: Rules: Edit"; + $closehead = false; + include("head.inc"); ++$pfSenseHead->setCloseHead(); ++echo $pfSenseHead->getHTML(); + ?> + + <script language="JavaScript"> +Index: usr/local/www/firewall_shaper_queues.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_shaper_queues.php,v +retrieving revision 1.51.2.4 +diff -u -r1.51.2.4 firewall_shaper_queues.php +--- usr/local/www/firewall_shaper_queues.php 2 Jan 2006 23:46:24 -0000 1.51.2.4 ++++ usr/local/www/firewall_shaper_queues.php 8 Sep 2007 18:48:26 -0000 +@@ -157,6 +157,7 @@ + + $pgtitle = "Firewall: Shaper: Queues"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_shaper_queues_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_shaper_queues_edit.php,v +retrieving revision 1.59.2.11 +diff -u -r1.59.2.11 firewall_shaper_queues_edit.php +--- usr/local/www/firewall_shaper_queues_edit.php 21 Aug 2006 03:25:24 -0000 1.59.2.11 ++++ usr/local/www/firewall_shaper_queues_edit.php 8 Sep 2007 18:48:32 -0000 +@@ -240,6 +240,7 @@ + + $pgtitle = "Firewall: Shaper: Queues: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/firewall_virtual_ip.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_virtual_ip.php,v +retrieving revision 1.9.2.6.2.10 +diff -u -r1.9.2.6.2.10 firewall_virtual_ip.php +--- usr/local/www/firewall_virtual_ip.php 21 May 2007 19:28:20 -0000 1.9.2.6.2.10 ++++ usr/local/www/firewall_virtual_ip.php 8 Sep 2007 18:48:38 -0000 +@@ -80,6 +80,7 @@ + + $pgtitle = "Firewall: Virtual IP Addresses"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/firewall_virtual_ip_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/firewall_virtual_ip_edit.php,v +retrieving revision 1.11.2.23 +diff -u -r1.11.2.23 firewall_virtual_ip_edit.php +--- usr/local/www/firewall_virtual_ip_edit.php 27 Feb 2007 17:09:46 -0000 1.11.2.23 ++++ usr/local/www/firewall_virtual_ip_edit.php 8 Sep 2007 18:48:44 -0000 +@@ -205,6 +205,7 @@ + + $pgtitle = "Firewall: Virtual IP Address: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/halt.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/halt.php,v +retrieving revision 1.6.4.1 +diff -u -r1.6.4.1 halt.php +--- usr/local/www/halt.php 2 Jan 2006 23:46:24 -0000 1.6.4.1 ++++ usr/local/www/halt.php 8 Sep 2007 18:48:57 -0000 +@@ -46,6 +46,7 @@ + + $pgtitle = "Diagnostics: Halt system"; + include('head.inc'); ++echo $pfSenseHead->getHTML(); + ?> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/index.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/index.php,v +retrieving revision 1.88.2.9 +diff -u -r1.88.2.9 index.php +--- usr/local/www/index.php 21 May 2006 23:26:30 -0000 1.88.2.9 ++++ usr/local/www/index.php 8 Sep 2007 18:51:09 -0000 +@@ -80,6 +80,7 @@ + + $pgtitle = 'pfSense first time setup'; + include('head.inc'); ++ echo $pfSenseHead->getHTML(); + + echo "<body link=\"#0000CC\" vlink=\"#0000CC\" alink=\"#0000CC\">\n"; + echo "<form>\n"; +@@ -118,6 +119,7 @@ + ## Set Page Title and Include Header + $pgtitle = "pfSense webGUI"; + include("head.inc"); ++ echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/interfaces_assign.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_assign.php,v +retrieving revision 1.13.2.11.2.2 +diff -u -r1.13.2.11.2.2 interfaces_assign.php +--- usr/local/www/interfaces_assign.php 24 Apr 2007 01:00:36 -0000 1.13.2.11.2.2 ++++ usr/local/www/interfaces_assign.php 8 Sep 2007 18:51:21 -0000 +@@ -193,6 +193,7 @@ + + $pgtitle = "Interfaces: Assign"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + if(file_exists("/var/run/interface_mismatch_reboot_needed")) + if ($_POST) +Index: usr/local/www/interfaces_lan.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_lan.php,v +retrieving revision 1.49.2.23.2.1 +diff -u -r1.49.2.23.2.1 interfaces_lan.php +--- usr/local/www/interfaces_lan.php 6 Jul 2007 18:10:05 -0000 1.49.2.23.2.1 ++++ usr/local/www/interfaces_lan.php 8 Sep 2007 18:51:29 -0000 +@@ -138,6 +138,7 @@ + + $pgtitle = "Interfaces: LAN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/interfaces_opt.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_opt.php,v +retrieving revision 1.56.2.25 +diff -u -r1.56.2.25 interfaces_opt.php +--- usr/local/www/interfaces_opt.php 9 Jan 2007 17:40:16 -0000 1.56.2.25 ++++ usr/local/www/interfaces_opt.php 8 Sep 2007 18:52:02 -0000 +@@ -228,6 +228,8 @@ + + $pgtitle = "Interfaces: Optional {$index} (" . htmlspecialchars($optcfg['descr']) . ")"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/interfaces_vlan.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_vlan.php,v +retrieving revision 1.9.2.3 +diff -u -r1.9.2.3 interfaces_vlan.php +--- usr/local/www/interfaces_vlan.php 25 Jan 2007 22:26:20 -0000 1.9.2.3 ++++ usr/local/www/interfaces_vlan.php 8 Sep 2007 18:52:16 -0000 +@@ -88,6 +88,7 @@ + + $pgtitle = "Interfaces: VLAN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/interfaces_vlan_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_vlan_edit.php,v +retrieving revision 1.10.2.4 +diff -u -r1.10.2.4 interfaces_vlan_edit.php +--- usr/local/www/interfaces_vlan_edit.php 14 Mar 2007 21:15:41 -0000 1.10.2.4 ++++ usr/local/www/interfaces_vlan_edit.php 8 Sep 2007 18:52:28 -0000 +@@ -98,6 +98,7 @@ + + $pgtitle = "Firewall: VLAN: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/interfaces_wan.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_wan.php,v +retrieving revision 1.37.2.24.2.1 +diff -u -r1.37.2.24.2.1 interfaces_wan.php +--- usr/local/www/interfaces_wan.php 17 May 2007 13:52:34 -0000 1.37.2.24.2.1 ++++ usr/local/www/interfaces_wan.php 8 Sep 2007 19:09:08 -0000 +@@ -519,6 +519,8 @@ + $pgtitle = "Interfaces: WAN"; + $closehead = false; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/interfaces_wlan_scan.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/interfaces_wlan_scan.php,v +retrieving revision 1.3.2.1 +diff -u -r1.3.2.1 interfaces_wlan_scan.php +--- usr/local/www/interfaces_wlan_scan.php 2 Jan 2006 23:46:24 -0000 1.3.2.1 ++++ usr/local/www/interfaces_wlan_scan.php 8 Sep 2007 18:53:12 -0000 +@@ -36,6 +36,7 @@ + + $pgtitle = "Interfaces: Scan Wireless"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/license.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/license.php,v +retrieving revision 1.6.4.5 +diff -u -r1.6.4.5 license.php +--- usr/local/www/license.php 23 Feb 2007 00:40:28 -0000 1.6.4.5 ++++ usr/local/www/license.php 8 Sep 2007 18:53:20 -0000 +@@ -3,6 +3,7 @@ + require("guiconfig.inc"); + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + + +Index: usr/local/www/load_balancer_pool.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/load_balancer_pool.php,v +retrieving revision 1.5.2.6.2.1 +diff -u -r1.5.2.6.2.1 load_balancer_pool.php +--- usr/local/www/load_balancer_pool.php 8 May 2007 22:06:49 -0000 1.5.2.6.2.1 ++++ usr/local/www/load_balancer_pool.php 8 Sep 2007 18:53:27 -0000 +@@ -76,6 +76,7 @@ + + $pgtitle = "Load Balancer: Pool"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/load_balancer_pool_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/load_balancer_pool_edit.php,v +retrieving revision 1.24.2.23.2.2 +diff -u -r1.24.2.23.2.2 load_balancer_pool_edit.php +--- usr/local/www/load_balancer_pool_edit.php 20 Jun 2007 23:24:56 -0000 1.24.2.23.2.2 ++++ usr/local/www/load_balancer_pool_edit.php 8 Sep 2007 18:53:32 -0000 +@@ -165,6 +165,7 @@ + + $pgtitle = "Load Balancer: Pool: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/load_balancer_virtual_server.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/load_balancer_virtual_server.php,v +retrieving revision 1.6.2.1.2.1 +diff -u -r1.6.2.1.2.1 load_balancer_virtual_server.php +--- usr/local/www/load_balancer_virtual_server.php 8 May 2007 22:06:49 -0000 1.6.2.1.2.1 ++++ usr/local/www/load_balancer_virtual_server.php 8 Sep 2007 18:53:38 -0000 +@@ -66,6 +66,7 @@ + + $pgtitle = "Services: Load Balancer: Virtual Servers"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/load_balancer_virtual_server_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/load_balancer_virtual_server_edit.php,v +retrieving revision 1.16.2.5 +diff -u -r1.16.2.5 load_balancer_virtual_server_edit.php +--- usr/local/www/load_balancer_virtual_server_edit.php 28 May 2006 18:53:19 -0000 1.16.2.5 ++++ usr/local/www/load_balancer_virtual_server_edit.php 8 Sep 2007 18:53:45 -0000 +@@ -113,6 +113,7 @@ + + $pgtitle = "Load Balancer: Virtual Server: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/pkg.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/pkg.php,v +retrieving revision 1.41.4.4 +diff -u -r1.41.4.4 pkg.php +--- usr/local/www/pkg.php 21 Feb 2007 03:56:09 -0000 1.41.4.4 ++++ usr/local/www/pkg.php 8 Sep 2007 18:54:16 -0000 +@@ -99,6 +99,7 @@ + + $pgtitle = $title; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/pkg_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/pkg_edit.php,v +retrieving revision 1.90.2.24 +diff -u -r1.90.2.24 pkg_edit.php +--- usr/local/www/pkg_edit.php 20 Jan 2007 20:52:51 -0000 1.90.2.24 ++++ usr/local/www/pkg_edit.php 8 Sep 2007 18:54:41 -0000 +@@ -102,9 +102,10 @@ + } else { + if($pkg['custom_add_php_command']) { + if($pkg['donotsave'] <> "" or $pkg['preoutput'] <> "") { +- ?> + +-<?php include("head.inc"); ?> ++include("head.inc"); ++echo $pfSenseHead->getHTML(); ++?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> + <?php include("fbegin.inc"); ?> + <?php +Index: usr/local/www/pkg_mgr.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/pkg_mgr.php,v +retrieving revision 1.64.2.12 +diff -u -r1.64.2.12 pkg_mgr.php +--- usr/local/www/pkg_mgr.php 25 Aug 2006 23:04:56 -0000 1.64.2.12 ++++ usr/local/www/pkg_mgr.php 8 Sep 2007 18:55:09 -0000 +@@ -54,6 +54,7 @@ + + $pgtitle = "System: Package Manager"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/pkg_mgr_install.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/pkg_mgr_install.php,v +retrieving revision 1.147.2.10 +diff -u -r1.147.2.10 pkg_mgr_install.php +--- usr/local/www/pkg_mgr_install.php 2 Feb 2007 17:47:53 -0000 1.147.2.10 ++++ usr/local/www/pkg_mgr_install.php 8 Sep 2007 18:55:12 -0000 +@@ -39,6 +39,7 @@ + + $pgtitle = "System: Package Manager: Install Package"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/pkg_mgr_installed.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/pkg_mgr_installed.php,v +retrieving revision 1.43.4.5 +diff -u -r1.43.4.5 pkg_mgr_installed.php +--- usr/local/www/pkg_mgr_installed.php 25 Aug 2006 23:04:57 -0000 1.43.4.5 ++++ usr/local/www/pkg_mgr_installed.php 8 Sep 2007 18:55:17 -0000 +@@ -39,6 +39,7 @@ + + $pgtitle = "System: Package Manager"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/reboot.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/reboot.php,v +retrieving revision 1.7.2.5 +diff -u -r1.7.2.5 reboot.php +--- usr/local/www/reboot.php 11 Feb 2006 03:04:21 -0000 1.7.2.5 ++++ usr/local/www/reboot.php 8 Sep 2007 18:55:31 -0000 +@@ -42,6 +42,7 @@ + + $pgtitle = "Diagnostics: Reboot System"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/restart_httpd.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/restart_httpd.php,v +retrieving revision 1.3.2.1 +diff -u -r1.3.2.1 restart_httpd.php +--- usr/local/www/restart_httpd.php 2 Jan 2006 23:46:24 -0000 1.3.2.1 ++++ usr/local/www/restart_httpd.php 8 Sep 2007 18:55:37 -0000 +@@ -30,6 +30,7 @@ + require_once("system.inc"); + $pgtitle = "Restarting mini_httpd"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/services_captiveportal.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal.php,v +retrieving revision 1.51.2.23.2.1 +diff -u -r1.51.2.23.2.1 services_captiveportal.php +--- usr/local/www/services_captiveportal.php 9 May 2007 02:09:43 -0000 1.51.2.23.2.1 ++++ usr/local/www/services_captiveportal.php 8 Sep 2007 18:56:01 -0000 +@@ -197,6 +197,8 @@ + } + } + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + ?> + <?php include("fbegin.inc"); ?> + <script language="JavaScript"> +Index: usr/local/www/services_captiveportal_filemanager.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_filemanager.php,v +retrieving revision 1.4.2.4.2.2 +diff -u -r1.4.2.4.2.2 services_captiveportal_filemanager.php +--- usr/local/www/services_captiveportal_filemanager.php 9 May 2007 02:09:43 -0000 1.4.2.4.2.2 ++++ usr/local/www/services_captiveportal_filemanager.php 8 Sep 2007 18:56:24 -0000 +@@ -98,6 +98,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/services_captiveportal_ip.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_ip.php,v +retrieving revision 1.30.2.6.2.2 +diff -u -r1.30.2.6.2.2 services_captiveportal_ip.php +--- usr/local/www/services_captiveportal_ip.php 9 May 2007 02:09:43 -0000 1.30.2.6.2.2 ++++ usr/local/www/services_captiveportal_ip.php 8 Sep 2007 18:56:32 -0000 +@@ -69,6 +69,7 @@ + + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + <?php include("fbegin.inc"); ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/services_captiveportal_ip_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_ip_edit.php,v +retrieving revision 1.17.2.2.2.1 +diff -u -r1.17.2.2.2.1 services_captiveportal_ip_edit.php +--- usr/local/www/services_captiveportal_ip_edit.php 9 May 2007 02:09:43 -0000 1.17.2.2.2.1 ++++ usr/local/www/services_captiveportal_ip_edit.php 8 Sep 2007 18:56:39 -0000 +@@ -93,6 +93,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/services_captiveportal_mac.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_mac.php,v +retrieving revision 1.35.2.6.2.1 +diff -u -r1.35.2.6.2.1 services_captiveportal_mac.php +--- usr/local/www/services_captiveportal_mac.php 9 May 2007 02:09:43 -0000 1.35.2.6.2.1 ++++ usr/local/www/services_captiveportal_mac.php 8 Sep 2007 18:56:45 -0000 +@@ -68,6 +68,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/services_captiveportal_mac_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_mac_edit.php,v +retrieving revision 1.16.2.2.2.1 +diff -u -r1.16.2.2.2.1 services_captiveportal_mac_edit.php +--- usr/local/www/services_captiveportal_mac_edit.php 9 May 2007 02:09:43 -0000 1.16.2.2.2.1 ++++ usr/local/www/services_captiveportal_mac_edit.php 8 Sep 2007 18:57:06 -0000 +@@ -92,6 +92,7 @@ + } + } + include("head.inc"); ++echo $pfSenseHead->getHTML(); + ?> + <?php include("fbegin.inc"); ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/services_captiveportal_users.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_users.php,v +retrieving revision 1.24.2.3.2.2 +diff -u -r1.24.2.3.2.2 services_captiveportal_users.php +--- usr/local/www/services_captiveportal_users.php 9 May 2007 02:09:43 -0000 1.24.2.3.2.2 ++++ usr/local/www/services_captiveportal_users.php 8 Sep 2007 18:57:13 -0000 +@@ -63,6 +63,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/services_captiveportal_users_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_captiveportal_users_edit.php,v +retrieving revision 1.7.2.3.2.1 +diff -u -r1.7.2.3.2.1 services_captiveportal_users_edit.php +--- usr/local/www/services_captiveportal_users_edit.php 9 May 2007 02:09:43 -0000 1.7.2.3.2.1 ++++ usr/local/www/services_captiveportal_users_edit.php 8 Sep 2007 18:57:20 -0000 +@@ -124,6 +124,7 @@ + } + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/services_dhcp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dhcp.php,v +retrieving revision 1.38.2.18.2.2 +diff -u -r1.38.2.18.2.2 services_dhcp.php +--- usr/local/www/services_dhcp.php 8 May 2007 22:06:49 -0000 1.38.2.18.2.2 ++++ usr/local/www/services_dhcp.php 8 Sep 2007 18:57:42 -0000 +@@ -255,6 +255,8 @@ + + $pgtitle = "Services: DHCP server"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false): ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_dhcp_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dhcp_edit.php,v +retrieving revision 1.18.2.5.2.1 +diff -u -r1.18.2.5.2.1 services_dhcp_edit.php +--- usr/local/www/services_dhcp_edit.php 8 May 2007 18:58:26 -0000 1.18.2.5.2.1 ++++ usr/local/www/services_dhcp_edit.php 8 Sep 2007 18:57:48 -0000 +@@ -147,6 +147,7 @@ + + $pgtitle = "Services: DHCP: Edit static mapping"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_dhcp_relay.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dhcp_relay.php,v +retrieving revision 1.8.2.3.2.2 +diff -u -r1.8.2.3.2.2 services_dhcp_relay.php +--- usr/local/www/services_dhcp_relay.php 23 May 2007 21:08:15 -0000 1.8.2.3.2.2 ++++ usr/local/www/services_dhcp_relay.php 8 Sep 2007 18:58:08 -0000 +@@ -141,6 +141,8 @@ + + $pgtitle = "Services: DHCP Relay"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_dnsmasq.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dnsmasq.php,v +retrieving revision 1.17.4.4.2.1 +diff -u -r1.17.4.4.2.1 services_dnsmasq.php +--- usr/local/www/services_dnsmasq.php 8 May 2007 22:06:49 -0000 1.17.4.4.2.1 ++++ usr/local/www/services_dnsmasq.php 8 Sep 2007 18:58:55 -0000 +@@ -93,6 +93,8 @@ + + $pgtitle = "Services: DNS forwarder"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_dnsmasq_domainoverride_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dnsmasq_domainoverride_edit.php,v +retrieving revision 1.7.4.2 +diff -u -r1.7.4.2 services_dnsmasq_domainoverride_edit.php +--- usr/local/www/services_dnsmasq_domainoverride_edit.php 2 Jan 2006 23:46:24 -0000 1.7.4.2 ++++ usr/local/www/services_dnsmasq_domainoverride_edit.php 8 Sep 2007 18:59:01 -0000 +@@ -96,6 +96,7 @@ + + $pgtitle = "Services: DNS forwarder: Edit Domain Override"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_dnsmasq_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dnsmasq_edit.php,v +retrieving revision 1.11.4.2 +diff -u -r1.11.4.2 services_dnsmasq_edit.php +--- usr/local/www/services_dnsmasq_edit.php 2 Jan 2006 23:46:24 -0000 1.11.4.2 ++++ usr/local/www/services_dnsmasq_edit.php 8 Sep 2007 18:59:09 -0000 +@@ -102,6 +102,7 @@ + + $pgtitle = "Services: DNS forwarder: Edit host"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_dyndns.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_dyndns.php,v +retrieving revision 1.12.2.9 +diff -u -r1.12.2.9 services_dyndns.php +--- usr/local/www/services_dyndns.php 7 Feb 2007 03:42:33 -0000 1.12.2.9 ++++ usr/local/www/services_dyndns.php 8 Sep 2007 18:59:40 -0000 +@@ -128,6 +128,8 @@ + + $pgtitle = "Services: Dynamic DNS client"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_proxyarp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_proxyarp.php,v +retrieving revision 1.16.2.1 +diff -u -r1.16.2.1 services_proxyarp.php +--- usr/local/www/services_proxyarp.php 2 Jan 2006 23:46:24 -0000 1.16.2.1 ++++ usr/local/www/services_proxyarp.php 8 Sep 2007 18:59:47 -0000 +@@ -66,6 +66,7 @@ + + $pgtitle = "Services: Proxy ARP"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_proxyarp_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_proxyarp_edit.php,v +retrieving revision 1.13.4.2 +diff -u -r1.13.4.2 services_proxyarp_edit.php +--- usr/local/www/services_proxyarp_edit.php 2 Jan 2006 23:46:24 -0000 1.13.4.2 ++++ usr/local/www/services_proxyarp_edit.php 8 Sep 2007 19:00:15 -0000 +@@ -133,6 +133,8 @@ + + $pgtitle = "Services: Proxy ARP: Edit"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_snmp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_snmp.php,v +retrieving revision 1.9.4.12 +diff -u -r1.9.4.12 services_snmp.php +--- usr/local/www/services_snmp.php 4 Mar 2007 21:18:17 -0000 1.9.4.12 ++++ usr/local/www/services_snmp.php 8 Sep 2007 19:00:58 -0000 +@@ -145,6 +145,8 @@ + + $pgtitle = "Services: SNMP"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + <script language="JavaScript"> +Index: usr/local/www/services_usermanager.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_usermanager.php,v +retrieving revision 1.10.4.1 +diff -u -r1.10.4.1 services_usermanager.php +--- usr/local/www/services_usermanager.php 2 Jan 2006 23:46:24 -0000 1.10.4.1 ++++ usr/local/www/services_usermanager.php 8 Sep 2007 19:01:11 -0000 +@@ -77,6 +77,7 @@ + + $pgtitle = "Services: User Manager"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_wol.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_wol.php,v +retrieving revision 1.12.2.2.2.1 +diff -u -r1.12.2.2.2.1 services_wol.php +--- usr/local/www/services_wol.php 8 May 2007 22:06:49 -0000 1.12.2.2.2.1 ++++ usr/local/www/services_wol.php 8 Sep 2007 19:01:15 -0000 +@@ -92,6 +92,7 @@ + + $pgtitle = "Services: Wake on LAN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/services_wol_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/services_wol_edit.php,v +retrieving revision 1.11.2.2 +diff -u -r1.11.2.2 services_wol_edit.php +--- usr/local/www/services_wol_edit.php 2 Jan 2006 23:46:24 -0000 1.11.2.2 ++++ usr/local/www/services_wol_edit.php 8 Sep 2007 19:01:21 -0000 +@@ -91,6 +91,7 @@ + + $pgtitle = "Services: Wake on LAN: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/status.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status.php,v +retrieving revision 1.24.2.9 +diff -u -r1.24.2.9 status.php +--- usr/local/www/status.php 27 Mar 2007 20:34:35 -0000 1.24.2.9 ++++ usr/local/www/status.php 8 Sep 2007 19:02:02 -0000 +@@ -160,6 +160,8 @@ + + $pgtitle = "pfSense: status"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + <style type="text/css"> +@@ -172,6 +174,7 @@ + } + --> + </style> ++</head> + + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/status_captiveportal.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_captiveportal.php,v +retrieving revision 1.7.2.4 +diff -u -r1.7.2.4 status_captiveportal.php +--- usr/local/www/status_captiveportal.php 3 Apr 2006 21:05:12 -0000 1.7.2.4 ++++ usr/local/www/status_captiveportal.php 8 Sep 2007 19:02:17 -0000 +@@ -36,6 +36,7 @@ + $pgtitle = "Status: Captive portal ({$concurrent})"; + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/status_filter_reload.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_filter_reload.php,v +retrieving revision 1.1.2.8 +diff -u -r1.1.2.8 status_filter_reload.php +--- usr/local/www/status_filter_reload.php 5 Apr 2006 02:01:18 -0000 1.1.2.8 ++++ usr/local/www/status_filter_reload.php 8 Sep 2007 19:02:22 -0000 +@@ -33,6 +33,7 @@ + $pgtitle = "Diagnostics: Filter Reload Status"; + + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + if(file_exists("{$g['varrun_path']}/filter_reload_status")) + $status = file_get_contents("{$g['varrun_path']}/filter_reload_status"); +Index: usr/local/www/status_graph.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_graph.php,v +retrieving revision 1.14.2.5.2.2 +diff -u -r1.14.2.5.2.2 status_graph.php +--- usr/local/www/status_graph.php 24 Apr 2007 21:25:11 -0000 1.14.2.5.2.2 ++++ usr/local/www/status_graph.php 8 Sep 2007 19:02:27 -0000 +@@ -54,6 +54,7 @@ + + $pgtitle = "Status: Traffic Graph"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/status_interfaces.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_interfaces.php,v +retrieving revision 1.29.2.13.2.3 +diff -u -r1.29.2.13.2.3 status_interfaces.php +--- usr/local/www/status_interfaces.php 30 May 2007 16:11:26 -0000 1.29.2.13.2.3 ++++ usr/local/www/status_interfaces.php 8 Sep 2007 19:02:33 -0000 +@@ -61,6 +61,7 @@ + + $pgtitle = "Status: Interfaces"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/status_queues.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_queues.php,v +retrieving revision 1.25.2.10 +diff -u -r1.25.2.10 status_queues.php +--- usr/local/www/status_queues.php 24 Apr 2006 22:02:15 -0000 1.25.2.10 ++++ usr/local/www/status_queues.php 8 Sep 2007 19:02:40 -0000 +@@ -53,6 +53,7 @@ + + $pgtitle = "Status: Traffic shaper: Queues"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/status_rrd_graph.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_rrd_graph.php,v +retrieving revision 1.7.2.31.2.1 +diff -u -r1.7.2.31.2.1 status_rrd_graph.php +--- usr/local/www/status_rrd_graph.php 6 Jul 2007 21:43:43 -0000 1.7.2.31.2.1 ++++ usr/local/www/status_rrd_graph.php 8 Sep 2007 19:03:22 -0000 +@@ -78,10 +78,13 @@ + + $pgtitle = gettext("Status: RRD Graphs"); + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + <script src="/javascript/scriptaculous/prototype.js" type="text/javascript"></script> + <script src="/javascript/scriptaculous/scriptaculous.js" type="text/javascript"></script> ++</head> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> + <?php include("fbegin.inc"); ?> + <p class="pgtitle"><?=$pgtitle?></p> +Index: usr/local/www/status_services.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_services.php,v +retrieving revision 1.40.2.19.2.4 +diff -u -r1.40.2.19.2.4 status_services.php +--- usr/local/www/status_services.php 2 Jun 2007 20:47:41 -0000 1.40.2.19.2.4 ++++ usr/local/www/status_services.php 8 Sep 2007 19:03:38 -0000 +@@ -142,6 +142,7 @@ + + $pgtitle = "Status: Services"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/status_slbd_pool.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_slbd_pool.php,v +retrieving revision 1.3.2.4.2.1 +diff -u -r1.3.2.4.2.1 status_slbd_pool.php +--- usr/local/www/status_slbd_pool.php 28 Apr 2007 16:46:56 -0000 1.3.2.4.2.1 ++++ usr/local/www/status_slbd_pool.php 8 Sep 2007 19:03:44 -0000 +@@ -47,6 +47,7 @@ + + $pgtitle = "Status: Load Balancer: Pool"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/status_slbd_vs.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_slbd_vs.php,v +retrieving revision 1.2.2.2 +diff -u -r1.2.2.2 status_slbd_vs.php +--- usr/local/www/status_slbd_vs.php 8 May 2007 16:29:17 -0000 1.2.2.2 ++++ usr/local/www/status_slbd_vs.php 8 Sep 2007 19:03:50 -0000 +@@ -51,6 +51,7 @@ + + $pgtitle = "Status: Load Balancer: Virtual Server"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/status_upnp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_upnp.php,v +retrieving revision 1.1.2.3.2.1 +diff -u -r1.1.2.3.2.1 status_upnp.php +--- usr/local/www/status_upnp.php 23 May 2007 20:26:19 -0000 1.1.2.3.2.1 ++++ usr/local/www/status_upnp.php 8 Sep 2007 19:04:09 -0000 +@@ -49,7 +49,7 @@ + /* put your custom HTML head content here */ + /* using some of the $pfSenseHead function calls */ + //$pfSenseHead->addMeta("<meta http-equiv=\"refresh\" content=\"120;url={$_SERVER['SCRIPT_NAME']}\" />"); +-//echo $pfSenseHead->getHTML(); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/status_wireless.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/status_wireless.php,v +retrieving revision 1.9.2.9 +diff -u -r1.9.2.9 status_wireless.php +--- usr/local/www/status_wireless.php 5 May 2006 21:31:47 -0000 1.9.2.9 ++++ usr/local/www/status_wireless.php 8 Sep 2007 19:04:16 -0000 +@@ -36,6 +36,7 @@ + + $pgtitle = "Diagnostics: Wireless Status"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + $if = $_POST['if']; + if($_GET['if'] <> "") +Index: usr/local/www/system.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system.php,v +retrieving revision 1.41.2.7.2.1 +diff -u -r1.41.2.7.2.1 system.php +--- usr/local/www/system.php 6 Jul 2007 18:30:31 -0000 1.41.2.7.2.1 ++++ usr/local/www/system.php 8 Sep 2007 19:04:21 -0000 +@@ -190,6 +190,7 @@ + + $pgtitle = "System: General Setup"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/system_advanced.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_advanced.php,v +retrieving revision 1.114.2.46.2.4 +diff -u -r1.114.2.46.2.4 system_advanced.php +--- usr/local/www/system_advanced.php 21 Jul 2007 21:22:18 -0000 1.114.2.46.2.4 ++++ usr/local/www/system_advanced.php 8 Sep 2007 19:04:26 -0000 +@@ -266,6 +266,7 @@ + + $pgtitle = "System: Advanced functions"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/system_advanced_create_certs.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_advanced_create_certs.php,v +retrieving revision 1.14.4.4 +diff -u -r1.14.4.4 system_advanced_create_certs.php +--- usr/local/www/system_advanced_create_certs.php 19 Jan 2006 05:58:23 -0000 1.14.4.4 ++++ usr/local/www/system_advanced_create_certs.php 8 Sep 2007 19:04:32 -0000 +@@ -140,6 +140,7 @@ + + $pgtitle = "System: Advanced functions: Create Certificates"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/system_firmware.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_firmware.php,v +retrieving revision 1.73.2.12 +diff -u -r1.73.2.12 system_firmware.php +--- usr/local/www/system_firmware.php 14 Mar 2007 19:22:10 -0000 1.73.2.12 ++++ usr/local/www/system_firmware.php 8 Sep 2007 19:04:47 -0000 +@@ -37,6 +37,7 @@ + if(file_exists($d_firmwarelock_path)) { + $pgtitle = "System: Firmware: Manual Update"; + include("head.inc"); ++ echo $pfSenseHead->getHTML(); + echo "<body link=\"#0000CC\" vlink=\"#0000CC\" alink=\"#0000CC\">\n"; + include("fbegin.inc"); + echo "<p class=\"pgtitle\"><?=$pgtitle?></p>\n"; +@@ -124,6 +125,7 @@ + + $pgtitle = "System: Firmware: Manual Update"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/system_firmware_auto.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_firmware_auto.php,v +retrieving revision 1.52.4.2 +diff -u -r1.52.4.2 system_firmware_auto.php +--- usr/local/www/system_firmware_auto.php 15 Apr 2006 16:50:47 -0000 1.52.4.2 ++++ usr/local/www/system_firmware_auto.php 8 Sep 2007 19:05:05 -0000 +@@ -41,6 +41,7 @@ + + $pgtitle = "System: Firmware: Auto Update"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/system_firmware_check.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_firmware_check.php,v +retrieving revision 1.38.4.3 +diff -u -r1.38.4.3 system_firmware_check.php +--- usr/local/www/system_firmware_check.php 15 Apr 2006 16:50:47 -0000 1.38.4.3 ++++ usr/local/www/system_firmware_check.php 8 Sep 2007 19:05:21 -0000 +@@ -39,6 +39,7 @@ + $versions = check_firmware_version(); + $pgtitle = "System: Firmware: Auto Update"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/system_firmware_settings.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_firmware_settings.php,v +retrieving revision 1.15.2.4 +diff -u -r1.15.2.4 system_firmware_settings.php +--- usr/local/www/system_firmware_settings.php 15 Apr 2006 16:50:47 -0000 1.15.2.4 ++++ usr/local/www/system_firmware_settings.php 8 Sep 2007 19:06:04 -0000 +@@ -57,6 +57,8 @@ + + $pgtitle = "System: Firmware: Settings"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +@@ -88,7 +90,7 @@ + + // --> + </script> +- ++</head> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> + <?php include("fbegin.inc");?> + <p class="pgtitle"><?=$pgtitle?></p> +Index: usr/local/www/system_routes.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_routes.php,v +retrieving revision 1.16.2.4.2.2 +diff -u -r1.16.2.4.2.2 system_routes.php +--- usr/local/www/system_routes.php 10 May 2007 16:06:32 -0000 1.16.2.4.2.2 ++++ usr/local/www/system_routes.php 8 Sep 2007 19:06:11 -0000 +@@ -89,6 +89,7 @@ + + $pgtitle = "System: Static Routes"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/system_routes_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/system_routes_edit.php,v +retrieving revision 1.9.4.4.2.1 +diff -u -r1.9.4.4.2.1 system_routes_edit.php +--- usr/local/www/system_routes_edit.php 10 May 2007 16:06:32 -0000 1.9.4.4.2.1 ++++ usr/local/www/system_routes_edit.php 8 Sep 2007 19:06:16 -0000 +@@ -112,6 +112,7 @@ + + $pgtitle = "System: Static Routes: Edit route"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec.php,v +retrieving revision 1.28.2.10.2.5 +diff -u -r1.28.2.10.2.5 vpn_ipsec.php +--- usr/local/www/vpn_ipsec.php 5 Jun 2007 00:23:07 -0000 1.28.2.10.2.5 ++++ usr/local/www/vpn_ipsec.php 8 Sep 2007 19:06:38 -0000 +@@ -84,6 +84,7 @@ + + $pgtitle = "VPN: IPsec"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec_ca.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_ca.php,v +retrieving revision 1.12.4.2 +diff -u -r1.12.4.2 vpn_ipsec_ca.php +--- usr/local/www/vpn_ipsec_ca.php 18 Mar 2007 03:37:06 -0000 1.12.4.2 ++++ usr/local/www/vpn_ipsec_ca.php 8 Sep 2007 19:06:42 -0000 +@@ -48,6 +48,7 @@ + + $pgtitle = "VPN: IPsec: Certificate Authority"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec_ca_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_ca_edit.php,v +retrieving revision 1.12.4.2 +diff -u -r1.12.4.2 vpn_ipsec_ca_edit.php +--- usr/local/www/vpn_ipsec_ca_edit.php 2 Jan 2006 23:46:25 -0000 1.12.4.2 ++++ usr/local/www/vpn_ipsec_ca_edit.php 8 Sep 2007 19:06:47 -0000 +@@ -94,6 +94,7 @@ + + $pgtitle = "VPN: IPsec: Certificate Authority: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec_ca_edit_create_cert.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_ca_edit_create_cert.php,v +retrieving revision 1.13.4.1 +diff -u -r1.13.4.1 vpn_ipsec_ca_edit_create_cert.php +--- usr/local/www/vpn_ipsec_ca_edit_create_cert.php 2 Jan 2006 23:46:25 -0000 1.13.4.1 ++++ usr/local/www/vpn_ipsec_ca_edit_create_cert.php 8 Sep 2007 19:06:53 -0000 +@@ -143,6 +143,7 @@ + + $pgtitle = "VPN: IPSec: Certificate Authority: Create Certificate"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_ipsec_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_edit.php,v +retrieving revision 1.29.2.13.2.1 +diff -u -r1.29.2.13.2.1 vpn_ipsec_edit.php +--- usr/local/www/vpn_ipsec_edit.php 8 May 2007 22:06:49 -0000 1.29.2.13.2.1 ++++ usr/local/www/vpn_ipsec_edit.php 8 Sep 2007 19:06:58 -0000 +@@ -263,6 +263,7 @@ + + $pgtitle = "VPN: IPsec: Edit tunnel"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec_keys.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_keys.php,v +retrieving revision 1.15.4.2.2.1 +diff -u -r1.15.4.2.2.1 vpn_ipsec_keys.php +--- usr/local/www/vpn_ipsec_keys.php 8 May 2007 22:06:49 -0000 1.15.4.2.2.1 ++++ usr/local/www/vpn_ipsec_keys.php 8 Sep 2007 19:07:03 -0000 +@@ -48,6 +48,7 @@ + + $pgtitle = "VPN: IPsec: Keys"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec_keys_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_keys_edit.php,v +retrieving revision 1.11.4.2 +diff -u -r1.11.4.2 vpn_ipsec_keys_edit.php +--- usr/local/www/vpn_ipsec_keys_edit.php 2 Jan 2006 23:46:25 -0000 1.11.4.2 ++++ usr/local/www/vpn_ipsec_keys_edit.php 8 Sep 2007 19:07:07 -0000 +@@ -92,6 +92,7 @@ + + $pgtitle = "VPN: IPsec: Edit pre-shared key"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_ipsec_mobile.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_ipsec_mobile.php,v +retrieving revision 1.12.4.2 +diff -u -r1.12.4.2 vpn_ipsec_mobile.php +--- usr/local/www/vpn_ipsec_mobile.php 18 Mar 2007 03:37:06 -0000 1.12.4.2 ++++ usr/local/www/vpn_ipsec_mobile.php 8 Sep 2007 19:07:11 -0000 +@@ -162,6 +162,7 @@ + + $pgtitle = "VPN: IPsec: Mobile"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_openvpn.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn.php,v +retrieving revision 1.13.2.2 +diff -u -r1.13.2.2 vpn_openvpn.php +--- usr/local/www/vpn_openvpn.php 30 Jan 2006 02:25:12 -0000 1.13.2.2 ++++ usr/local/www/vpn_openvpn.php 8 Sep 2007 19:07:16 -0000 +@@ -144,6 +144,7 @@ + + $pgtitle = "VPN: OpenVPN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_openvpn_ccd.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_ccd.php,v +retrieving revision 1.1.2.2 +diff -u -r1.1.2.2 vpn_openvpn_ccd.php +--- usr/local/www/vpn_openvpn_ccd.php 30 Jan 2006 02:25:12 -0000 1.1.2.2 ++++ usr/local/www/vpn_openvpn_ccd.php 8 Sep 2007 19:07:20 -0000 +@@ -95,6 +95,7 @@ + + $pgtitle = "VPN: OpenVPN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/vpn_openvpn_ccd_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_ccd_edit.php,v +retrieving revision 1.1.2.2 +diff -u -r1.1.2.2 vpn_openvpn_ccd_edit.php +--- usr/local/www/vpn_openvpn_ccd_edit.php 30 Jan 2006 02:25:12 -0000 1.1.2.2 ++++ usr/local/www/vpn_openvpn_ccd_edit.php 8 Sep 2007 19:07:26 -0000 +@@ -209,6 +209,7 @@ + + $pgtitle = "VPN: OpenVPN: Edit client-specific configuration"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_openvpn_cli.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_cli.php,v +retrieving revision 1.16.2.3 +diff -u -r1.16.2.3 vpn_openvpn_cli.php +--- usr/local/www/vpn_openvpn_cli.php 30 Jan 2006 02:25:12 -0000 1.16.2.3 ++++ usr/local/www/vpn_openvpn_cli.php 8 Sep 2007 19:07:31 -0000 +@@ -83,6 +83,7 @@ + + $pgtitle = "VPN: OpenVPN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/vpn_openvpn_cli_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_cli_edit.php,v +retrieving revision 1.15.2.3 +diff -u -r1.15.2.3 vpn_openvpn_cli_edit.php +--- usr/local/www/vpn_openvpn_cli_edit.php 30 Jan 2006 02:25:12 -0000 1.15.2.3 ++++ usr/local/www/vpn_openvpn_cli_edit.php 8 Sep 2007 19:07:36 -0000 +@@ -285,6 +285,7 @@ + + $pgtitle = "VPN: OpenVPN: Edit client"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_openvpn_create_certs.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_openvpn_create_certs.php,v +retrieving revision 1.14.4.2 +diff -u -r1.14.4.2 vpn_openvpn_create_certs.php +--- usr/local/www/vpn_openvpn_create_certs.php 7 Apr 2006 21:36:51 -0000 1.14.4.2 ++++ usr/local/www/vpn_openvpn_create_certs.php 8 Sep 2007 19:07:57 -0000 +@@ -151,6 +151,8 @@ + + $pgtitle = "VPN: OpenVPN: Create Certs"; + include("head.inc"); ++$pfSenseHead->setCloseHead(false); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_openvpn_crl.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_crl.php,v +retrieving revision 1.1.2.2 +diff -u -r1.1.2.2 vpn_openvpn_crl.php +--- usr/local/www/vpn_openvpn_crl.php 30 Jan 2006 02:25:12 -0000 1.1.2.2 ++++ usr/local/www/vpn_openvpn_crl.php 8 Sep 2007 19:08:02 -0000 +@@ -76,6 +76,7 @@ + + $pgtitle = "VPN: OpenVPN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/vpn_openvpn_crl_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_crl_edit.php,v +retrieving revision 1.1.2.2 +diff -u -r1.1.2.2 vpn_openvpn_crl_edit.php +--- usr/local/www/vpn_openvpn_crl_edit.php 30 Jan 2006 02:25:12 -0000 1.1.2.2 ++++ usr/local/www/vpn_openvpn_crl_edit.php 8 Sep 2007 19:08:07 -0000 +@@ -152,6 +152,7 @@ + + $pgtitle = "VPN: OpenVPN: Edit CRL"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_openvpn_srv.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_srv.php,v +retrieving revision 1.1.2.3 +diff -u -r1.1.2.3 vpn_openvpn_srv.php +--- usr/local/www/vpn_openvpn_srv.php 30 Jan 2006 02:25:12 -0000 1.1.2.3 ++++ usr/local/www/vpn_openvpn_srv.php 8 Sep 2007 19:08:11 -0000 +@@ -84,6 +84,7 @@ + + $pgtitle = "VPN: OpenVPN"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <?php include("fbegin.inc"); ?> +Index: usr/local/www/vpn_openvpn_srv_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/Attic/vpn_openvpn_srv_edit.php,v +retrieving revision 1.1.2.3 +diff -u -r1.1.2.3 vpn_openvpn_srv_edit.php +--- usr/local/www/vpn_openvpn_srv_edit.php 30 Jan 2006 02:25:12 -0000 1.1.2.3 ++++ usr/local/www/vpn_openvpn_srv_edit.php 8 Sep 2007 19:08:16 -0000 +@@ -513,6 +513,7 @@ + + $pgtitle = "VPN: OpenVPN: Edit server"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_pppoe.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_pppoe.php,v +retrieving revision 1.14.2.8.2.1 +diff -u -r1.14.2.8.2.1 vpn_pppoe.php +--- usr/local/www/vpn_pppoe.php 27 Apr 2007 20:19:26 -0000 1.14.2.8.2.1 ++++ usr/local/www/vpn_pppoe.php 8 Sep 2007 19:08:22 -0000 +@@ -139,6 +139,7 @@ + + $pgtitle = "VPN: PPPoE"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_pppoe_users.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_pppoe_users.php,v +retrieving revision 1.5.2.4.2.1 +diff -u -r1.5.2.4.2.1 vpn_pppoe_users.php +--- usr/local/www/vpn_pppoe_users.php 8 May 2007 22:06:49 -0000 1.5.2.4.2.1 ++++ usr/local/www/vpn_pppoe_users.php 8 Sep 2007 19:08:26 -0000 +@@ -67,6 +67,7 @@ + + $pgtitle = "VPN: PPPoE: Users"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_pppoe_users_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_pppoe_users_edit.php,v +retrieving revision 1.3.2.3 +diff -u -r1.3.2.3 vpn_pppoe_users_edit.php +--- usr/local/www/vpn_pppoe_users_edit.php 11 Mar 2006 20:35:47 -0000 1.3.2.3 ++++ usr/local/www/vpn_pppoe_users_edit.php 8 Sep 2007 19:08:32 -0000 +@@ -113,6 +113,7 @@ + + $pgtitle = "VPN: PPPoE: User: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/vpn_pptp.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_pptp.php,v +retrieving revision 1.21.2.5 +diff -u -r1.21.2.5 vpn_pptp.php +--- usr/local/www/vpn_pptp.php 5 May 2006 02:15:20 -0000 1.21.2.5 ++++ usr/local/www/vpn_pptp.php 8 Sep 2007 19:08:36 -0000 +@@ -148,6 +148,7 @@ + + $pgtitle = "VPN PPTP"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_pptp_users.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_pptp_users.php,v +retrieving revision 1.16.2.3.2.1 +diff -u -r1.16.2.3.2.1 vpn_pptp_users.php +--- usr/local/www/vpn_pptp_users.php 8 May 2007 22:06:49 -0000 1.16.2.3.2.1 ++++ usr/local/www/vpn_pptp_users.php 8 Sep 2007 19:08:42 -0000 +@@ -65,6 +65,7 @@ + + $pgtitle = "VPN: PPTP: Users"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + +Index: usr/local/www/vpn_pptp_users_edit.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/vpn_pptp_users_edit.php,v +retrieving revision 1.12.4.3 +diff -u -r1.12.4.3 vpn_pptp_users_edit.php +--- usr/local/www/vpn_pptp_users_edit.php 19 Jan 2007 16:39:07 -0000 1.12.4.3 ++++ usr/local/www/vpn_pptp_users_edit.php 8 Sep 2007 19:08:47 -0000 +@@ -110,6 +110,7 @@ + + $pgtitle = "VPN: PPTP: User: Edit"; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +Index: usr/local/www/wizard.php +=================================================================== +RCS file: /cvsroot/pfSense/usr/local/www/wizard.php,v +retrieving revision 1.46.2.15 +diff -u -r1.46.2.15 wizard.php +--- usr/local/www/wizard.php 6 Feb 2007 19:33:01 -0000 1.46.2.15 ++++ usr/local/www/wizard.php 8 Sep 2007 19:08:58 -0000 +@@ -148,6 +148,7 @@ + + $pgtitle = $title; + include("head.inc"); ++echo $pfSenseHead->getHTML(); + + ?> + <body link="#0000CC" vlink="#0000CC" alink="#0000CC" onLoad="enablechange();"> diff --git a/packages/authng/pkg/authng.inc b/packages/authng/pkg/authng.inc new file mode 100644 index 00000000..a9b95838 --- /dev/null +++ b/packages/authng/pkg/authng.inc @@ -0,0 +1,78 @@ +<?php +/* $Id$ */ +/* ========================================================================== */ +/* + authng_peers.xml + part of pfSense (http://www.pfSense.com) + Copyright (C) 2007 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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. + */ +/* ========================================================================== */ + +require_once("authng_authmethods.inc"); +require_once("authng_backends.inc"); +require_once("authng_peers.inc"); + +// TODO: Define user- and groupindex array + +// get principal store type from config.xml +$principalStore = $config['system']['webgui']['principal_store']; +// get PeerFactory instance +$peerFactory =& PeerFactory::getInstance(); +// get the actual UserPeer that holds the user index +$userPeer =& $peerFactory->getUserPeerByPrincipalStore($principalStore); +// get the actual GroupPeer that holds the user index +$groupPeer =& $peerFactory->getGroupPeerByPrincipalStore($principalStore); +// get AuthMethodFactory instance +$authMethodFactory =& AuthMethodFactory::getInstance(); +// get BackendFactory instance +$backendFactory =& BackendFactory::getInstance(); +// get the actual auth method +$authMethod =& $authMethodFactory->getAuthMethodByName($config['system']['webgui']['auth_method']); +// get the actual backend +$backend =& $backendFactory->getBackendByName($config['system']['webgui']['backing_method']); + +function syncPackageAuthNG() { +} + +function installPackageAuthNG() { + mwexec("cd / && /usr/bin/patch < /usr/local/pkg/authng-pfSenseHead.diff"); + mwexec("cd / && /usr/bin/patch < /usr/local/pkg/authng-fbegin.inc.diff"); + mwexec("cd / && /usr/bin/patch < /usr/local/pkg/authng-guiconfig.inc.diff"); + mwexec("cd / && /usr/bin/patch < /usr/local/pkg/authng-globals.inc.diff"); +} + +function deinstallPackageAuthNG() { + mwexec("cd / && /usr/bin/patch -R < /usr/local/pkg/authng-pfSenseHead.diff"); + mwexec("cd / && /usr/bin/patch -R < /usr/local/pkg/authng-fbegin.inc.diff"); + mwexec("cd / && /usr/bin/patch -R < /usr/local/pkg/authng-guiconfig.inc.diff"); + mwexec("cd / && /usr/bin/patch -R < /usr/local/pkg/authng-globals.inc.diff"); +} +?>
\ No newline at end of file diff --git a/packages/authng/pkg/authng.xml b/packages/authng/pkg/authng.xml new file mode 100644 index 00000000..cebcea93 --- /dev/null +++ b/packages/authng/pkg/authng.xml @@ -0,0 +1,194 @@ +<?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 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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> + This package provides a user- and groupmanager which + allows to add arbitrary groups to the system and assign + them to a particular group. + + Permission control is provided on a per group basis. + </description> + <requirements> + This package is supposed to be run on RELENG based pfSense systems. + </requirements> + <faq>Currently there are no FAQ items provided.</faq> + <name>authng</name> + <version>1.0</version> + <title>System: User Manager</title> + <include_file>/usr/local/pkg/authng.inc</include_file> + <!-- Menu is where this packages menu will appear --> + <menu> + <name>Auth Manager</name> + <section>System</section> + <url>/system_usermanager.php</url> + </menu> + <!-- + <service> + <name>yourservice</name> + <rcfile>/usr/local/etc/rc.d/yourservice.sh</rcfile> + </service> + --> + <tabs /> + <!-- + configpath gets expanded out automatically and config items + will be stored in that location + --> + <configpath>['installedpackages']['authng']['config']</configpath> + <!-- + | + | PHP files (user management) + | + --> + <additional_files_needed> + <prefix>/usr/local/www/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/www/php/system_usermanager.php</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/www/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/www/php/system_usermanager_edit.php</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/www/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/www/php/system_usermanager_settings.php</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/www/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/www/php/system_groupmanager.php</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/www/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/www/php/head.inc</item> + </additional_files_needed> + <!-- + | + | Include files (class defs etc.) + | + --> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/pkg/authng_classdefs.inc</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/pkg/authng_peers.inc</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/pkg/authng.inc</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/pkg/authng_backends.inc</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/pkg/authng_authmethods.inc</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/pkg/authng_authgui.inc</item> + </additional_files_needed> + <!-- + | + | Patch files + | + --> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/diff/authng-pfSenseHead.diff</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/diff/authng-fbegin.inc.diff</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/diff/authng-globals.inc.diff</item> + </additional_files_needed> + <additional_files_needed> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/diff/authng-guiconfig.inc.diff</item> + </additional_files_needed> + <!-- + | + | Binary files + | + --> + <additional_files_needed> + <prefix>/usr/bin/</prefix> + <chmod>0755</chmod> + <item>http://www.pfsense.com/packages/config/authng/bin/patch</item> + </additional_files_needed> + <!-- + fields gets invoked when the user adds or edits a item. The following items + will be parsed and rendered for the user as a gui with input, and selectboxes. + --> + <!-- + Arbitrary PHP Code, that gets executed if a certain event gets triggered. + --> + <custom_php_resync_config_command> + syncPackageAuthNG(); + </custom_php_resync_config_command> + <custom_php_install_command> + installPackageAuthNG(); + </custom_php_install_command> + <custom_php_deinstall_command> + deinstallPackageAuthNG(); + </custom_php_deinstall_command> +</packagegui> diff --git a/packages/authng/pkg/authng_authgui.inc b/packages/authng/pkg/authng_authgui.inc new file mode 100644 index 00000000..0556883e --- /dev/null +++ b/packages/authng/pkg/authng_authgui.inc @@ -0,0 +1,287 @@ +<?php +/* $Id$ */ +/* ========================================================================== */ +/* + authng_authmethods.inc + part of pfSense (http://www.pfSense.com) + Copyright (C) 2007 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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. + */ +/* ========================================================================== */ + +require_once("authng.inc"); + +/* Authenticate user - exit if failed (we should have a callback for this maybe) */ +if (empty($authMethod)) { print "auth_method missing!\n"; } +if (empty($backend)) { print "backing_method missing!\n"; } +if (!$authMethod->authenticate($backend)) { exit; } + +/* scriptname is set in headjs.php if the user did try to access a page other + * than index.php without beeing logged in. + */ +if (isset($_POST['scriptname']) && isSystemAdmin($HTTP_SERVER_VARS['AUTH_USER'])) { + pfSenseHeader("{$_POST['scriptname']}"); + exit; +} + +$allowed = array(); + +// Once here, the user has authenticated with the web server. +// Now, we give them access only to the appropriate pages for their group. +if (!(isSystemAdmin($HTTP_SERVER_VARS['AUTH_USER']))) { + $allowed[] = ''; + if (isset($config['system']['group'][$groupindex[$config['system']['user'][$userindex[$HTTP_SERVER_VARS['AUTH_USER']]]['groupname']]]['pages'][0]['page'])) { + $useridx = $userindex[$HTTP_SERVER_VARS['AUTH_USER']]; + $grouidx = $groupindex[$config['system']['user'][$useridx]]; + $allowed = &$config['system']['group'][$groupidx]['pages'][0]['page']; + } + + $group = $config['system']['user'][$userindex[$HTTP_SERVER_VARS['AUTH_USER']]]['groupname']; + /* get the group homepage, to be able to forward + * the user to this particular PHP page. + */ + getGroupHomePage($group) == "" ? $home = "/index.php" : $home = "/" . getGroupHomePage($group); + + /* okay but if the user realy tries to explicitely access a particular + * page, set $home to that page instead. + */ + if (isset($_POST['scriptname']) && $_POST['scriptname'] <> "/" && $_POST['scriptname'] <> "/index.php") + $home = basename($_POST['scriptname']); + + // If the user is attempting to hit the default page, set it to specifically look for /index.php. + // Without this, any user would have access to the index page. + //if ($_SERVER['SCRIPT_NAME'] == '/') + // $_SERVER['SCRIPT_NAME'] = $home; + + // Strip the leading / from the currently requested PHP page + if (!in_array(basename($_SERVER['SCRIPT_NAME']),$allowed)) { + // The currently logged in user is not allowed to access the page + // they are attempting to go to. Redirect them to an allowed page. + + if(stristr($_SERVER['SCRIPT_NAME'],"sajax")) { + echo "||Access to AJAX has been disallowed for this user."; + exit; + } + + if ($home <> "" && in_array($home, $allowed)) { + pfSenseHeader("{$home}"); + exit; + } else { + header("HTTP/1.0 401 Unauthorized"); + header("Status: 401 Unauthorized"); + + echo display_error_form("401", "401 Unauthorized. Authorization required."); + exit; + } + } + + if (isset($_SESSION['Logged_In'])) { + /* + * only forward if the user has just logged in + * TODO: session auth based - may be an issue. + */ + if ($_SERVER['SCRIPT_NAME'] <> $home && empty($_SESSION['First_Visit'])) { + $_SESSION['First_Visit'] = "False"; + pfSenseHeader("{$home}"); + exit; + } + } +} + +function display_error_form($http_code, $desc) { + global $g; + + $htmlstr = <<<EOD +<html> + <head> + <script type="text/javascript" src="/javascript/scriptaculous/prototype.js"></script> + <script type="text/javascript" src="/javascript/scriptaculous/scriptaculous.js"></script> + <title>An error occurred: {$http_code}</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <link rel="shortcut icon" href="/themes/{$g['theme']}/images/icons/favicon.ico" /> + <link rel="stylesheet" type="text/css" href="/themes/{$g['theme']}/all.css" media="all" /> + <style type="text/css"> + #errordesc { + background: #cccccc; + border: 0px solid #666666; + margin: 5em auto; + padding: 0em; + width: 340px; + } + #errordesc h1 { + background: url(/themes/{$g['theme']}/images/misc/logon.png) no-repeat top left; + margin-top: 0; + display: block; + text-indent: -1000px; + height: 50px; + border-bottom: none; + } + + #login p { + font-size: 1em; + font-weight: bold; + padding: 3px; + margin: 0em; + text-indent: 10px; + } + + #login span { + font-size: 1em; + font-weight: bold; + width: 20%; + padding: 3px; + margin: 0em; + text-indent: 10px; + } + + #login p#text { + font-size: 1em; + font-weight: normal; + padding: 3px; + margin: 0em; + text-indent: 10px; + } + </style> + + <script type="text/javascript"> + <!-- + function page_load() { + NiftyCheck(); + Rounded("div#errordesc","bl br","#333","#cccccc","smooth"); + Effect.Pulsate('errortext', { duration: 10 }); + } + <?php + require("headjs.php"); + echo getHeadJS(); + ?> + //--> + </script> + <script type="text/javascript" src="/themes/{$g['theme']}/javascript/niftyjsCode.js"></script> + </head> + <body onload="page_load();"> + <div id="errordesc"> + <h1> </h1> + <p id="errortext" style="vertical-align: middle; text-align: center;"><span style="color: #000000; font-weight: bold;">{$desc}</span></p> + </div> + </body> +</html> + +EOD; + + return $htmlstr; +} + +function display_login_form() { + require_once("globals.inc"); + global $g; + + if(isAjax()) { + if (isset($_POST['login'])) { + if($_SESSION['Logged_In'] <> "True") { + isset($_SESSION['Login_Error']) ? $login_error = $_SESSION['Login_Error'] : $login_error = "unknown reason"; + echo "showajaxmessage('Invalid login ({$login_error}).');"; + } + if (file_exists("{$g['tmp_path']}/webconfigurator.lock")) { + $whom = file_get_contents("{$g['tmp_path']}/webconfigurator.lock"); + echo "showajaxmessage('This device is currently beeing maintained by: {$whom}.');"; + } + } + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <script type="text/javascript" src="/javascript/scriptaculous/prototype.js"></script> + <script type="text/javascript" src="/javascript/scriptaculous/scriptaculous.js"></script> + <title><?=gettext("Login"); ?></title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <link rel="shortcut icon" href="/themes/<?= $g['theme'] ?>/images/icons/favicon.ico" /> + <?php if (file_exists("{$g['www_path']}/themes/{$g['theme']}/login.css")): ?> + <link rel="stylesheet" type="text/css" href="/themes/<?= $g['theme'] ?>/login.css" media="all" /> + <?php else: ?> + <link rel="stylesheet" type="text/css" href="/themes/<?= $g['theme'] ?>/all.css" media="all" /> + <?php endif; ?> + <script type="text/javascript"> + <!-- + <?php if (file_exists("{$g['www_path']}/themes/{$g['theme']}/login.css")): ?> + var dontUseCustomBGColor = false; + <?php else: ?> + var dontUseCustomBGColor = true; + <?php endif; ?> + function page_load() { + NiftyCheck(); + Rounded("div#login","bl br","#333","#cccccc","smooth"); + document.login_iform.usernamefld.focus(); + } + function clearError() { + if($('inputerrors')) + $('inputerrors').innerHTML=''; + } + <?php + require("headjs.php"); + echo getHeadJS(); + ?> + //--> + </script> + <script type="text/javascript" src="/themes/<?= $g['theme'] ?>/javascript/niftyjsCode.js"></script> + </head> + <body onload="page_load()"> + <div id="login"> + <h1> </h1> + <form id="iform" name="login_iform" method="post" autocomplete="off" action="<?= $_SERVER['SCRIPT_NAME'] ?>"> + <div id="inputerrors"></div> + <p> + <span style="text-align: left;"> + <?=gettext("Username"); ?>: + </span> + <input onclick="clearError();" onchange="clearError();" id="usernamefld" type="text" name="usernamefld" class="formfld user" tabindex="1" /> + </p> + <p> + <span style="text-align: left;"> + <?=gettext("Password"); ?>: + </span> + <input onclick="clearError();" onchange="clearError();" id="passwordfld" type="password" name="passwordfld" class="formfld pwd" tabindex="2" /> + </p> + <table width="90%" style="margin-right: auto; margin-left: auto;"> + <tr> + <td valign="middle" align="right" style="font-style: italic;"><br /><?=gettext("Enter username and password to login."); ?></td> + <td valign="middle" align="left"><input type="submit" id="submit" name="login" class="formbtn" value="<?=gettext("Login"); ?>" tabindex="3" /></td> + </tr> + </table> + </form> + </div> + </body> +</html> +<?php +} // end function +?>
\ No newline at end of file diff --git a/packages/authng/pkg/authng_authmethods.inc b/packages/authng/pkg/authng_authmethods.inc new file mode 100644 index 00000000..15e15566 --- /dev/null +++ b/packages/authng/pkg/authng_authmethods.inc @@ -0,0 +1,222 @@ +<?php +/* $Id$ */ +/* ========================================================================== */ +/* + authng_authmethods.inc + part of pfSense (http://www.pfSense.com) + Copyright (C) 2007 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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. + */ +/* ========================================================================== */ + +class AbstractAuthMethod { + function authenticate($backend) { + trigger_error('AbstractAuthMethod::authenticate() needs to be overridden in a subclass.', E_USER_ERROR); + } +} + +class BasicAuthMethod extends AbstractAuthMethod { + function authenticate($backend) { + global $HTTP_SERVER_VARS; + + /* Check for AUTH_USER */ + if ($HTTP_SERVER_VARS['PHP_AUTH_USER'] <> "") { + $HTTP_SERVER_VARS['AUTH_USER'] = $HTTP_SERVER_VARS['PHP_AUTH_USER']; + $HTTP_SERVER_VARS['AUTH_PW'] = $HTTP_SERVER_VARS['PHP_AUTH_PW']; + } + if (!isset($HTTP_SERVER_VARS['AUTH_USER'])) { + require_once("authng_authgui.inc"); + header("WWW-Authenticate: Basic realm=\".\""); + header("HTTP/1.0 401 Unauthorized"); + display_error_form("401", gettext("You must enter valid credentials to access this resource.")); + exit; + } else { + return $backend($HTTP_SERVER_VARS['AUTH_USER'],$HTTP_SERVER_VARS['AUTH_PW']); + } + } +} + +class SessionAuthMethod extends AbstractAuthMethod { + function authenticate($backend) { + global $g, $HTTP_SERVER_VARS, $userindex, $config; + + session_start(); + + /* Validate incoming login request */ + if (isset($_POST['login'])) { + if ($backend($_POST['usernamefld'], $_POST['passwordfld'])) { + $_SESSION['Logged_In'] = "True"; + $_SESSION['Username'] = $_POST['usernamefld']; + $_SESSION['last_access'] = time(); + } else { + $_SESSION['Login_Error'] = "Username or password incorrect."; + } + } + + /* Show login page if they aren't logged in */ + if (empty($_SESSION['Logged_In'])) { + + /* Don't display login forms to AJAX */ + if (isAjax()) + return false; + + require_once("authng_authgui.inc"); + display_login_form(); + return false; + } else { + /* If session timeout isn't set, we don't mark sessions stale */ + if (!isset($config['system']['webgui']['session_timeout']) or + $config['system']['webgui']['session_timeout'] == 0 or + $config['system']['webgui']['session_timeout'] == "") + $_SESSION['last_access'] = time(); + else + /* Check for stale session */ + if ($_SESSION['last_access'] < (time() - ($config['system']['webgui']['session_timeout'] * 60))) + $_GET['logout'] = true; + else + /* only update if it wasn't ajax */ + if (!isAjax()) + $_SESSION['last_access'] = time(); + + /* user hit the logout button */ + if (isset($_GET['logout'])) { + if (hasLockAbility($_SESSION['Username'])) { + unlink_if_exists("{$g['tmp_path']}/webconfigurator.lock"); + } + + /* wipe out $_SESSION */ + $_SESSION = array(); + + if (isset($_COOKIE[session_name()])) { + setcookie(session_name(), '', time()-42000, '/'); + } + + /* and destroy it */ + session_destroy(); + + $scriptName = split("/", $_SERVER["SCRIPT_FILENAME"]); + $scriptElms = count($scriptName); + $scriptName = $scriptName[$scriptElms-1]; + + if (isAjax()) + return false; + + /* redirect to page the user is on, it'll prompt them to login again */ + pfSenseHeader($scriptName); + + return false; + + /* user wants to explicitely delete the log file. + * Requires a particular privilege. + */ + } else if ($_GET['deletelock'] && hasLockAbility($_SESSION['Username'])) { + unlink_if_exists("{$g['tmp_path']}/webconfigurator.lock"); + $HTTP_SERVER_VARS['AUTH_USER'] = $_SESSION['Username']; + return true; + + /* this is for debugging purpose if you do not want to use Ajax + * to submit a HTML form. It basically disables the observation + * of the submit event and hence does not trigger Ajax. + */ + } else if ($_GET['disable_ajax']) { + $_SESSION['NO_AJAX'] = "True"; + $HTTP_SERVER_VARS['AUTH_USER'] = $_SESSION['Username']; + return true; + + /* Same to re-enable Ajax. + */ + } else if ($_GET['enable_ajax']) { + unset($_SESSION['NO_AJAX']); + $HTTP_SERVER_VARS['AUTH_USER'] = $_SESSION['Username']; + return true; + + /* user wants to explicitely create a lock. + * Requires a particular privilege. + */ + } else if ($_GET['createlock'] && hasLockAbility($_SESSION['Username'])) { + $fd = fopen("{$g['tmp_path']}/webconfigurator.lock", "w"); + fputs($fd, "{$_SERVER['REMOTE_ADDR']} (" . + getRealName($_SESSION['Username']) . ")"); + fclose($fd); + /* if the user did delete the lock manually, do not + * re-create it while the session is valide. + */ + $_SESSION['Lock_Created'] = "True"; + $HTTP_SERVER_VARS['AUTH_USER'] = $_SESSION['Username']; + return true; + + /* proceed with the login process */ + } else { + /* if the user is allowed to create a lock, + * create it once per session. + */ + if (hasLockAbility($_SESSION['Username']) && + ! isset($_SESSION['Lock_Created'])) { + + $fd = fopen("{$g['tmp_path']}/webconfigurator.lock", "w"); + fputs($fd, "{$_SERVER['REMOTE_ADDR']} (" . + getRealName($_SESSION['Username']) . ")"); + fclose($fd); + /* if the user did delete the lock manually, do not + * re-create it while the session is valide. + */ + $_SESSION['Lock_Created'] = "True"; + + /* give regular users a chance to automatically invalidate + * a lock if its older than a particular time. + */ + } else if (! hasLockAbility($_SESSION['Username']) && + file_exists("{$g['tmp_path']}/webconfigurator.lock")) { + + $offset = 12; //hours + $mtime = filemtime("{$g['tmp_path']}/webconfigurator.lock"); + $now_minus_offset = mktime(date("H") - $offset, 0, 0, date("m"), date("d"), date("Y")); + + if (($mtime - $now_minus_offset) < $mtime) { + require_once("auth/authgui.inc"); + display_login_form(); + return false; + } else { + /* file is older than mtime + offset which may + * indicate a stale lockfile, hence we are going + * to remove it. + */ + unlink_if_exists("{$g['tmp_path']}/webconfigurator.lock"); + } + } + + $HTTP_SERVER_VARS['AUTH_USER'] = $_SESSION['Username']; + return true; + } // end if + } // end if + } // end function +} + +?>
\ No newline at end of file diff --git a/packages/authng/pkg/authng_backends.inc b/packages/authng/pkg/authng_backends.inc new file mode 100644 index 00000000..1b58e6c1 --- /dev/null +++ b/packages/authng/pkg/authng_backends.inc @@ -0,0 +1,234 @@ +<?php +/* $Id$ */ +/* ========================================================================== */ +/* + authng_backends.inc + part of pfSense (http://www.pfSense.com) + Copyright (C) 2007 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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. + */ +/* ========================================================================== */ + +class AbstractBackend { + function authenticate($username, $passwd) { + trigger_error('AbstractBackend::authenticate() needs to be overridden in a subclass.', E_USER_ERROR); + } +} + +class HtpasswdBackend extends AbstractBackend { + function HtpasswdBackend() { + } + + function authenticate($username, $passd) { + $authfile = file("/var/run/htpasswd"); + + /* sanity check to ensure that /usr/local/www/.htpasswd doesn't exist */ + unlink_if_exists("/usr/local/www/.htpasswd"); + + $matches=""; + if(!($line = array_shift(preg_grep("/^$username:.*$/", $authfile)))) + return false; + + /* Get crypted password */ + preg_match("/^$username:((\\$1\\$[.\d\w_\/]{8}\\$)[.\d\w_\/]{22})$/", $line, $matches); + $pass = $matches[1]; + $salt = $matches[2]; + + /* Encrypt entered password with salt + * And finally validate password + */ + if ($pass == crypt($passwd, $salt)) + return true; + else + return false; + } +} + +class PasswdBackend extends AbstractBackend { + function PasswdBackend() { + } + + function authenticate($username, $passd) { + $authfile = file("/etc/master.passwd"); + + $matches=""; + + /* Check to see if user even exists */ + if(!($line = array_shift(preg_grep("/^$username:.*$/", $authfile)))) + return false; + + /* Get crypted password */ + preg_match("/^$username:((\\$1\\$[.\d\w_\/]{8}\\$)[.\d\w_\/]{22})$/", $line, $matches); + $pass = $matches[1]; + $salt = $matches[2]; + + /* Encrypt entered password with salt + * And finally validate password + */ + if ($pass == crypt($passwd, $salt)) + return true; + else + return false; + } +} + +class PamBackend extends AbstractBackend { + function PamBackend() { + } + + function authenticate($username, $passd) { + /* we do not support blank pwds, don't we? */ + if ($username == "" || passwd == "") { return false; } + + if(! extension_loaded( 'pam_auth' )) { + if(! @dl( 'pam_auth.so' )) { + return false; + } else { + /* no php file no auth, sorry */ + if (! file_exists("/etc/pam.d/php")) { + if (! file_exists("/etc/pam.d")) { mkdir("/etc/pam.d"); } + + $pam_php = <<<EOD +# /etc/pam.d/php +# +# note: both an auth and account entry are required + +# auth +auth required pam_nologin.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn allow_local +auth required pam_unix.so no_warn try_first_pass + +# account +account required pam_unix.so + +# session +session required pam_permit.so + +# password +password required pam_unix.so no_warn try_first_pass + +EOD; + + file_put_contents("/etc/pam.d/php", $pam_php); + } // end if + + if (pam_auth($username, $passwd, &$error)) { + return true; + } else { + return false; + } + } // end if + } // end if + } // end function +} + +class RadiusBackend extends AbstractBackend { + function RadiusBackend() { + } + + function authenticate($username, $passwd) { + global $config, $debug; + $ret = false; + $radiusservers = $config['system']['radius']['servers']; + + $rauth = new Auth_RADIUS_PAP($username, $passwd); + foreach ($radiusservers as $radsrv) { + // Add a new server to our instance + $rauth->addServer($radsrv['ipaddr'], $radsrv['port'], $radsrv['sharedsecret']); + } + + if (!$rauth->start()) { + $retvalue['auth_val'] = 1; + $retvalue['error'] = $rauth->getError(); + if ($debug) + printf("Radius start: %s", $retvalue['error']); + } + + // XXX - billm - somewhere in here we need to handle securid challenge/response + + // Send request + $result = $rauth->send(); + + if (PEAR::isError($result)) { + $retvalue['auth_val'] = 1; + $retvalue['error'] = $result->getMessage(); + if ($debug) + printf("Radius send failed: %s", $retvalue['error']); + } else if ($result === true) { + $retvalue['auth_val'] = 2; + if ($debug) + printf (gettext("Radius Auth succeeded")); + $ret = true; + } else { + $retvalue['auth_val'] = 3; + if ($debug) + printf (gettext("Radius Auth rejected")); + } + // close OO RADIUS_AUTHENTICATION + $rauth->close(); + + return $ret; + } // end function +} + +class LdapBackend extends AbstractBackend { + function LdapBackend() { + } + + function authenticate($username, $passwd) { + $ldapserver = $config['system']['ldap']['server']; + $ldapport = isset($config['system']['ldap']['port']) ? $config['system']['ldap']['server'] : 389; + $retval = false; + + $connection = ldap_connect($ldapserver, $ldapport) + or die("Could not connect to $ldaphost"); + + if ($connection) { + $bind = ldap_bind($connection); + + if ($bind) { + $basedn = $config['system']['ldap']['basedn']; + $result = ldap_search($connection, $basedn, "uid={$username}"); + $info = ldap_get_entries($connection, $result); + $userPassword = $info[0]['userPassword']; + + if ($userPassword == $passwd) { + $retval = true; + } else { + $retval = false; + } + } // end if + } // end if + + return $retval; + } +} +?>
\ No newline at end of file diff --git a/packages/authng/pkg/authng_classdefs.inc b/packages/authng/pkg/authng_classdefs.inc new file mode 100644 index 00000000..a61361b3 --- /dev/null +++ b/packages/authng/pkg/authng_classdefs.inc @@ -0,0 +1,466 @@ +<?php +/* $Id$ */ +/* ========================================================================== */ +/* + authng_classdefs.xml + part of pfSense (http://www.pfSense.com) + Copyright (C) 2007 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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. + */ +/* ========================================================================== */ + +class SingletonInterface extends Object { + function __construct() { + // Perform object initialization here. + } + + function &__getInstanceImp($name) { + static $instances = array(); + if (!isset($instances[$name])) { + $instances[$name] = new $name(); // No changes necessary here. + } + return $instances[$name]; + } + + function &getInstance() { + trigger_error('SingletonInterface::getInstance() needs to be overridden in a subclass.', E_USER_ERROR); + } +} + +class AuthMethodFactory extends SingletonInterface { + function __construct() { + // Perform object initialization here. + parent::__construct(); + } + + function &getInstance() { + return parent::__getInstanceImp('AuthMethodFactory'); + } + + function &getBackendByName($name) { + $result = null; + + /* Each name links to an entry in config.xml + * Example: <auth_method>session</auth_method> + */ + switch ($name) { + case "htpasswd": + $result = new HtpasswdBackend(); + break; + case "pam": + $result = new PamBackend(); + break; + case "radius": + $result = new RadiusBackend(); + break; + case "passwd": + $result = new PasswdBackend(); + break; + case "ldap": + $result = new LdapBackend(); + break; + default: + } + + return $result; + } +} + +class BackendFactory extends SingletonInterface { + function __construct() { + // Perform object initialization here. + parent::__construct(); + } + + function &getInstance() { + return parent::__getInstanceImp('BackendFactory'); + } + + function &getAuthMethodByName($name) { + $result = null; + + /* Each name links to an entry in config.xml + * Example: <backing_method>htpasswd</backing_method> + */ + switch ($name) { + case "session": + $result = new SessionAuthMethod(); + break; + case "basic": + $result = new BasicAuthMethod(); + break; + default: + } + + return $result; + } +} + +class AuthngAuxiliary { + /* ========================================================================== */ + /* == Auxiliary Functions == */ + /* ========================================================================== */ + function &getSystemAdminNames() { + global $config, $g, $userindex; + $adminUsers = array(); + + if (is_array($config['system']['user'])) { + foreach($config['system']['user'] as $user){ + if (isSystemAdmin($user['name'])) { + $adminUsers[] = $user['name']; + } + } // end foreach + } // end if + + return $adminUsers; + } // end function + + function assignUID($username = "") { + global $userindex, $config, $g; + + if ($username == "") { return; } + + $nextuid = $config['system']['nextuid']; + $user =& $config['system']['user'][$userindex[$username]]; + + if (empty($user['uid'])) { + $user['uid'] = $nextuid; + $nextuid++; + $config['system']['nextuid'] = $nextuid; + + write_config(); + + return $user; + } // end if + } // end function +} + +class AuthngPrivilege { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $id; + var $name; + var $description; + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function AuthngPrivilege() { + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + function getId() { + return $this->id; + } + + function setId($id) { + $this->id = $id; + } + + function getName() { + return $this->name; + } + + function setName($name) { + $this->name = $name; + } + + function getDescription() { + return $this->description; + } + + function setDescription($desc) { + $this->description = $desc; + } +} + +class SystemPrivileges { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $privileges = array(); + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function SystemPrivileges() { + $newPriv = new Privilege(); + $newPriv->setId("lockwc"); + $newPriv->setName("Lock webConfigurator"); + $newPriv->setDescription("Indicates whether this user will lock access to the webConfigurator for other users."); + + $this->privileges[$newPriv->getId()] = $newPriv; + + $newPriv = new Privilege(); + $newPriv->setId("lock-ipages"); + $newPriv->setName("Lock individual pages"); + $newPriv->setDescription("Indicates whether this user will lock individual " . + "HTML pages after having accessed a particular page" . + "(the lock will be freed if the user leaves or " . + "saves the page form)."); + + $this->privileges[$newPriv->getId()] = $newPriv; + + $newPriv = new Privilege(); + $newPriv->setId("hasshell"); + $newPriv->setName("Has shell access"); + $newPriv->setDescription("Indicates whether this user is able to login for " . + "example via SSH."); + + $this->privileges[$newPriv->getId()] = $newPriv; + + $newPriv = new Privilege(); + $newPriv->setId("copyfiles"); + $newPriv->setName("Is allowed to copy files"); + $newPriv->setDescription("Indicates whether this user is allowed to copy files " . + "onto the {$g['product_name']} appliance via SCP/SFTP. " . + "If you are going to use this privilege, you must install " . + "scponly on the appliance (Hint: pkg_add -r scponly)."); + + $this->privileges[$newPriv->getId()] = $newPriv; + + $newPriv = new Privilege(); + $newPriv->setId("isroot"); + $newPriv->setName("Is root user"); + $newPriv->setDescription("This user is associated with the UNIX root user " . + "(you should associate this privilege only with one " . + "single user)."); + + $this->privileges[$newPriv->getId()] = $newPriv; + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + function getPrivileges() { + return $this->privileges; + } + + function setPrivileges($privs) { + $this->privileges = $privs; + } + + function getPrivilegeById($id) { + return $this->privileges[$id]; + } + + function setPrivilegeById($privilege, $id) { + return $this->privileges[$id] = $privilege; + } +} + +class AuthngUser { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $name; + var $fullname; + var $scope; + var $groupname; + var $password; + var $uid; + var $systemAdmin = false; + var $unixRoot = false; + var $privileges = array(); + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function AuthngUser() { + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + function isSystemAdmin() { + return $this->systemAdmin; + } + + function setIsSystemAdmin($flag = false) { + $this->systemAdmin = $flag; + } + + function isUNIXRoot() { + return $this->unixRoot; + } + + function setIsUNIXRoot($flag = false) { + $this->unixRoot = $flag; + } + + function getName() { + return $this->name; + } + + function setName($name) { + $this->name = $name; + } + + function getFullname() { + return $this->fullname; + } + + function setFullname($name) { + $this->fullname = $name; + } + + function getScope() { + return $this->scope; + } + + function setScope($scope) { + $this->scope = $scope; + } + + function getGroupname() { + return $this->groupname; + } + + function setGroupname($name) { + $this->groupname = $name; + } + + function getPassword() { + return $this->password; + } + + function setPassword($pwd) { + $this->password = $pwd; + } + + function getUid() { + return $this->uid; + } + + function setUid($uid) { + $this->uid = $uid; + } + + function getPrivileges() { + return $this->privileges; + } + + function setPrivileges($privs) { + $this->privileges = $privs; + } + + function addPrivilege($priv) { + $this->privileges[] = $priv; + } +} + +class AuthngGroup { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $name; + var $description; + var $scope; + var $pages = array(); + var $home; + var $gid; + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function AuthngGroup() { + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + function getName() { + return $this->name; + } + + function setName($name) { + $this->name = $name; + } + + function getDescription() { + return $this->description; + } + + function setDescription($desc) { + $this->description = $desc; + } + + function getScope() { + return $this->scope; + } + + function setScope($scope) { + $this->scope = $scope; + } + + function getPages() { + return $this->pages; + } + + function setPages($pages) { + $this->pages = $pages; + } + function getHome() { + return $this->home; + } + + function setHome($home) { + $this->home = $home; + } + + function getGid() { + return $this->gid; + } + + function setGid($gid) { + $this->gid = $gid; + } + + function addPage($page) { + $this->pages[] = $page; + } +} + +?>
\ No newline at end of file diff --git a/packages/authng/pkg/authng_peers.inc b/packages/authng/pkg/authng_peers.inc new file mode 100644 index 00000000..cc75c94c --- /dev/null +++ b/packages/authng/pkg/authng_peers.inc @@ -0,0 +1,471 @@ +<?php +/* $Id$ */ +/* ========================================================================== */ +/* + authng_peers.xml + part of pfSense (http://www.pfSense.com) + Copyright (C) 2007 Daniel S. Haischt <me@daniel.stefan.haischt.name> + 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. + */ +/* ========================================================================== */ + +require_once("authng_classdefs"); + +class PeerFactory extends SingletonInterface { + function __construct() { + // Perform object initialization here. + parent::__construct(); + } + + function &getInstance() { + return parent::__getInstanceImp('PeerFactory'); + } + + function &getGroupPeerByPrincipalStore($store) { + $result = null; + + /* Each name links to an entry in config.xml + * Example: <principal_store>xml</principal_store> + */ + switch ($name) { + case "xml": + $result = new XMLGroupPeer(); + break; + case "ldap": + trigger_error('PeerFactory::getGroupPeerByPrincipal() LDAP peer type is not supported.', E_USER_ERROR); + break; + case "db": + trigger_error('PeerFactory::getGroupPeerByPrincipal() DB peer type is not supported.', E_USER_ERROR); + break; + default: + } + + return $result; + } + + function &getUserPeerByPrincipalStore($store) { + $result = null; + + /* Each name links to an entry in config.xml + * Example: <principal_store>xml</principal_store> + */ + switch ($name) { + case "xml": + $result = new XMLUserPeer(); + break; + case "ldap": + trigger_error('PeerFactory::getGroupPeerByPrincipal() LDAP peer type is not supported.', E_USER_ERROR); + break; + case "db": + trigger_error('PeerFactory::getGroupPeerByPrincipal() DB peer type is not supported.', E_USER_ERROR); + break; + default: + } + + return $result; + } +} + +/** + * @author Daniel S. Haischt <me@daniel.stefan.haischt.name> + * @abstract + */ +class AbstractPrivilegePeer { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $privilege_index; + var $privileges; + var $userPeer; + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function AbstractPrivilegePeer() { + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + function setUserPeer($peer) { + $this->userPeer = $peer; + } + + function getUserPeer() { + return $this->userPeer; + } + + /** + * @return mixed int array of priv indexes + */ + function getPrivilegeIndex() { + return $this->privilege_index; + } + + /** + * @param string a priv name + * @return int the index that corresponds to a username + */ + function getPrivilegeIndexByID($id) { + return $this->privilege_index[$id]; + } + + /** + * @param int an index + * @return mixed an instance of AuthngPrivilege + */ + function getPrivilegeByIndex($index) { + return $this->privileges[$index]; + } +} + +/** + * @author Daniel S. Haischt <me@daniel.stefan.haischt.name> + * @abstract + */ +class AbstractUserPeer { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $user_index; + var $users; + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function AbstractUserPeer() { + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + /** + * @return mixed int array of user indexes + */ + function getUserIndex() { + return $this->user_index; + } + + /** + * @param string a username + * @return int the index that corresponds to a username + */ + function getUserIndexByName($username) { + return $this->user_index[$username]; + } + + /** + * @param int an index + * @return mixed an instance of AuthngUser + */ + function getUserByIndex($index) { + return $this->users[$index]; + } +} + +/** + * @author Daniel S. Haischt <me@daniel.stefan.haischt.name> + * @abstract + */ +class AbstractGroupPeer { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + var $group_index; + var $groups; + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function AbstractGroupPeer() { + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + function getGroupIndex() { + return $this->group_index; + } + + function getGroupIndexByName($groupname) { + return $this->group_index[$groupname]; + } + + function getGroupByIndex($index) { + return $this->groups[$index]; + } +} + +/** + * @author Daniel S. Haischt <me@daniel.stefan.haischt.name> + */ +class XMLPrivilegePeer extends AbstractPrivilegePeer { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function XMLPrivilegePeer($userPeer) { + global $g, $config; + + parent::AbstractPrivilegePeer(); + + $this->setUserPeer($peer); + + foreach ($peer->users as $userent) { + foreach ($userent->getPrivileges() as $privent) { + $this->privileges[$userent->getName()] = $privent; + } + } + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + /* ========================================================================== */ + /* == Helper Methods == */ + /* ========================================================================== */ + + function addPrivilegeFromEnt(&$ent) { + $newPrivilege = new AuthngUser(); + $newPrivilege->setId($ent['id']); + $newPrivilege->setName($ent['name']); + $newPrivilege->setDescription($ent['description']); + $newPrivilege->setPassword($ent['password']); + $newPrivilege->setUid($ent['uid']); + + $this->privileges[] = $newPrivilege; + } + + function setPrivilegeID($id, $name, $username) { + $userid = getPrivilegeIndexByName($username); + $user = $config['system']['user'][$userid]; + } + + function setFullName($id, $name) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['fullname'] = $name; + } + + function setGroupName($id, $name) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['groupname'] = $name; + } + + function setPassword($id, $pwd) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['password'] = $pwd; + } + + function setUid($id, $uid) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['uid'] = $uid; + } +} + +/** + * @author Daniel S. Haischt <me@daniel.stefan.haischt.name> + */ +class XMLUserPeer extends AbstractUserPeer { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function XMLUserPeer() { + global $g, $config; + + parent::AbstractUserPeer(); + + if (isset($config['system']['user'])) { + $i = 0; + + foreach($config['system']['user'] as $userent) { + $this->user_index[$userent['name']] = $i; + $i++; + } + } + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + /* ========================================================================== */ + /* == Helper Methods == */ + /* ========================================================================== */ + + function addUserFromEnt(&$ent) { + $newUser = new AuthngUser(); + $newUser->setName($ent['name']); + $newUser->setFullname($ent['fullname']); + $newUser->setGroupname($ent['groupname']); + $newUser->setPassword($ent['password']); + $newUser->setUid($ent['uid']); + + if ($ent['priv'] && is_array($ent['priv'])) { + foreach ($ent['priv'] as $privent) { + $newPrivilege = new Privilege(); + $newPrivilege->setId($privent['id']); + $newPrivilege->setName($privent['name']); + $newPrivilege->setDescription($privent['description']); + + $newUser->addPrivilege($newPrivilege); + } + } + + $this->users[] = $newUser; + } + + function setUserName($id, $name) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['name'] = $name; + } + + function setFullName($id, $name) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['fullname'] = $name; + } + + function setGroupName($id, $name) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['groupname'] = $name; + } + + function setPassword($id, $pwd) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['password'] = $pwd; + } + + function setUid($id, $uid) { + $userid = getUserIndexByName($id); + $config['system']['user'][$userid]['uid'] = $uid; + } +} + +/** + * @author Daniel S. Haischt <me@daniel.stefan.haischt.name> + */ +class XMLGroupPeer extends AbstractGroupPeer { + /* ========================================================================== */ + /* == Class Members == */ + /* ========================================================================== */ + + /* ========================================================================== */ + /* == Constructor == */ + /* ========================================================================== */ + + function XMLGroupPeer() { + global $g, $config; + + parent::AbstractGroupPeer(); + + if (isset($config['system']['group'])) { + $i = 0; + + foreach($config['system']['group'] as $groupent) { + $this->group_index[$groupent['name']] = $i; + $i++; + } + } + } + + /* ========================================================================== */ + /* == Accessors == */ + /* ========================================================================== */ + + /* ========================================================================== */ + /* == Helper Methods == */ + /* ========================================================================== */ + + function addGroupFromEnt(&$ent) { + $newGoup = new AuthngGroup(); + $newGoup->setName($ent['name']); + $newGoup->setDescription($ent['description']); + $newGoup->setScope($ent['scope']); + $newGoup->setHome($ent['home']); + $newGoup->setGid($ent['gid']); + + if ($ent['pages'] && is_array($ent['gid'])) { + foreach ($ent['pages'] as $pageent) { + $newGoup->addPage($pageent); + } + } + + $this->groups[] = $newGoup; + } + + function setGroupName($id, $name) { + $groupid = getGroupIndexByName($id); + $config['system']['group'][$groupid]['name'] = $name; + } + + function setGroupDescription($id, $desc) { + $groupid = getGroupIndexByName($id); + $config['system']['group'][$groupid]['description'] = $desc; + } + + function setGroupScope($id, $scope) { + $groupid = getGroupIndexByName($id); + $config['system']['group'][$groupid]['scope'] = $scope; + } + + function setGroupHome($id, $home) { + $groupid = getGroupIndexByName($id); + $config['system']['group'][$groupid]['home'] = $home; + } + + function setGroupGid($id, $gid) { + $groupid = getGroupIndexByName($id); + $config['system']['group'][$groupid]['gid'] = $gid; + } + + function addPageToGroup($id, $page) { + $groupid = getGroupIndexByName($id); + $config['system']['group'][$groupid]['pages'][] = $page; + } +} +?> |