1 |
5b237745
|
Scott Ullrich
|
<?php
|
2 |
307cd525
|
Bill Marquette
|
/* $Id$ */
|
3 |
5b237745
|
Scott Ullrich
|
/*
|
4 |
|
|
globals.inc
|
5 |
ee11cc6e
|
Scott Ullrich
|
part of pfSense (www.pfsense.com)
|
6 |
0e16b9ca
|
Scott Ullrich
|
Copyright (C) 2004-2006 Scott Ullrich
|
7 |
ee11cc6e
|
Scott Ullrich
|
|
8 |
|
|
Originally Part of m0n0wall
|
9 |
5b237745
|
Scott Ullrich
|
Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
|
10 |
|
|
All rights reserved.
|
11 |
ee11cc6e
|
Scott Ullrich
|
|
12 |
5b237745
|
Scott Ullrich
|
Redistribution and use in source and binary forms, with or without
|
13 |
|
|
modification, are permitted provided that the following conditions are met:
|
14 |
ee11cc6e
|
Scott Ullrich
|
|
15 |
5b237745
|
Scott Ullrich
|
1. Redistributions of source code must retain the above copyright notice,
|
16 |
|
|
this list of conditions and the following disclaimer.
|
17 |
ee11cc6e
|
Scott Ullrich
|
|
18 |
5b237745
|
Scott Ullrich
|
2. Redistributions in binary form must reproduce the above copyright
|
19 |
|
|
notice, this list of conditions and the following disclaimer in the
|
20 |
|
|
documentation and/or other materials provided with the distribution.
|
21 |
ee11cc6e
|
Scott Ullrich
|
|
22 |
5b237745
|
Scott Ullrich
|
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
23 |
|
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
24 |
|
|
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
25 |
|
|
AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
26 |
|
|
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
27 |
|
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
28 |
|
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
29 |
|
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
30 |
|
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
31 |
|
|
POSSIBILITY OF SUCH DAMAGE.
|
32 |
523855b0
|
Scott Ullrich
|
|
33 |
|
|
pfSense_MODULE: utils
|
34 |
|
|
|
35 |
5b237745
|
Scott Ullrich
|
*/
|
36 |
|
|
|
37 |
3f9a98c1
|
Scott Ullrich
|
function remove_numbers($string) {
|
38 |
|
|
$nums = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0", " ");
|
39 |
|
|
$string = str_replace($nums, '', $string);
|
40 |
|
|
return $string;
|
41 |
|
|
}
|
42 |
|
|
|
43 |
|
|
function get_nics_with_capabilities($CAPABILITIES) {
|
44 |
14578e35
|
Scott Ullrich
|
$ifs = `ifconfig -l`;
|
45 |
|
|
$if_list = split(" ", $ifs);
|
46 |
3f9a98c1
|
Scott Ullrich
|
$vlan_native_supp = array();
|
47 |
|
|
foreach($if_list as $if => $iface) {
|
48 |
eca4bfbc
|
jim-p
|
$iface = trim($iface);
|
49 |
575a279a
|
Ermal Lu?i
|
$capable = pfSense_get_interface_addresses($iface);
|
50 |
|
|
if(isset($capable['caps'][$CAPABILITIES])) {
|
51 |
eca4bfbc
|
jim-p
|
$interfacenonum = remove_numbers($iface);
|
52 |
3f9a98c1
|
Scott Ullrich
|
if(!in_array($interfacenonum, $vlan_native_supp))
|
53 |
|
|
$vlan_native_supp[] = $interfacenonum;
|
54 |
|
|
}
|
55 |
|
|
}
|
56 |
|
|
return $vlan_native_supp;
|
57 |
|
|
}
|
58 |
|
|
|
59 |
5b237745
|
Scott Ullrich
|
$g = array(
|
60 |
4a8bc5a2
|
Scott Ullrich
|
"base_packages" => "siproxd",
|
61 |
0ae6daf8
|
Ermal
|
"event_address" => "unix:///var/run/check_reload_status",
|
62 |
4b96b367
|
mgrooms
|
"factory_shipped_username" => "admin",
|
63 |
46974905
|
Chris Buechler
|
"factory_shipped_password" => "pfsense",
|
64 |
1ef7b568
|
Scott Ullrich
|
"upload_path" => "/root",
|
65 |
e9e7d501
|
Matthew Grooms
|
"dhcpd_chroot_path" => "/var/dhcpd",
|
66 |
|
|
"varrun_path" => "/var/run",
|
67 |
|
|
"varetc_path" => "/var/etc",
|
68 |
|
|
"vardb_path" => "/var/db",
|
69 |
|
|
"varlog_path" => "/var/log",
|
70 |
|
|
"etc_path" => "/etc",
|
71 |
|
|
"tmp_path" => "/tmp",
|
72 |
|
|
"conf_path" => "/conf",
|
73 |
|
|
"ftmp_path" => "/ftmp",
|
74 |
|
|
"conf_default_path" => "/conf.default",
|
75 |
|
|
"cf_path" => "/cf",
|
76 |
|
|
"cf_conf_path" => "/cf/conf",
|
77 |
|
|
"www_path" => "/usr/local/www",
|
78 |
|
|
"xml_rootobj" => "pfsense",
|
79 |
|
|
"admin_group" => "admins",
|
80 |
36d0358b
|
Scott Ullrich
|
"product_name" => "pfSense",
|
81 |
c57e9f90
|
Chris Buechler
|
"product_copyright" => "BSD Perimeter LLC",
|
82 |
3d7639eb
|
Scott Ullrich
|
"product_copyright_url" => "http://www.bsdperimeter.com",
|
83 |
ceccec87
|
Chris Buechler
|
"product_copyright_years" => "2004 - 2010",
|
84 |
73113ce9
|
Ermal Luci
|
"product_website" => "www.pfsense.org",
|
85 |
3d7639eb
|
Scott Ullrich
|
"product_website_footer" => "http://www.pfsense.org/?gui20",
|
86 |
c57e9f90
|
Chris Buechler
|
"product_email" => "coreteam@pfsense.org",
|
87 |
3d7639eb
|
Scott Ullrich
|
"hideplatform" => false,
|
88 |
8b289232
|
Chris Buechler
|
"disablethemeselection" => false,
|
89 |
3b29612f
|
Chris Buechler
|
"disablehelpmenu" => false,
|
90 |
28181237
|
Renato Botelho
|
"disablehelpicon" => false,
|
91 |
e9e7d501
|
Matthew Grooms
|
"debug" => false,
|
92 |
4c5b8653
|
Erik Fonnesbeck
|
"latest_config" => "7.0",
|
93 |
e9e7d501
|
Matthew Grooms
|
"nopkg_platforms" => array("cdrom"),
|
94 |
f333e853
|
Chris Buechler
|
"minimum_ram_warning" => "105",
|
95 |
9f274393
|
Chris Buechler
|
"minimum_ram_warning_text" => "128 MB",
|
96 |
73d0efb9
|
Chris Buechler
|
"minimum_nic_count" => "1",
|
97 |
|
|
"minimum_nic_count_text" => "*AT LEAST* 1",
|
98 |
954d8f12
|
Scott Ullrich
|
"wan_interface_name" => "wan",
|
99 |
e9e7d501
|
Matthew Grooms
|
"nopccard_platforms" => array("wrap", "net48xx"),
|
100 |
|
|
"xmlrpcbaseurl" => "www.pfsense.com",
|
101 |
|
|
"captiveportal_path" => "/usr/local/captiveportal",
|
102 |
|
|
"captiveportal_element_path" => "/var/db/cpelements",
|
103 |
c2d0699f
|
Scott Ullrich
|
"captiveportal_element_sizelimit" => 1048576,
|
104 |
e9e7d501
|
Matthew Grooms
|
"xmlrpcpath" => "/pfSense/xmlrpc.php",
|
105 |
|
|
"embeddedbootupslice" => "/dev/ad0a",
|
106 |
e3a13b00
|
Scott Ullrich
|
"services_dhcp_server_enable" => true,
|
107 |
8c62fa48
|
jim-p
|
"wireless_regex" => "/^(ndis|wi|ath|an|ral|ural|iwi|wlan|rum|run|bwn|zyd|mwl|bwi|ipw|iwn|malo|uath|upgt|urtw|wpi)/",
|
108 |
462c4a27
|
jim-p
|
"help_base_url" => "/help.php"
|
109 |
5b237745
|
Scott Ullrich
|
);
|
110 |
|
|
|
111 |
3f9a98c1
|
Scott Ullrich
|
// Loop through and set vlan_long_frame VLAN_MTU
|
112 |
575a279a
|
Ermal Lu?i
|
$vlan_native_supp = get_nics_with_capabilities("vlanmtu");
|
113 |
3f9a98c1
|
Scott Ullrich
|
if(count($vlan_native_supp) > 0)
|
114 |
|
|
$g['vlan_long_frame'] = $vlan_native_supp;
|
115 |
|
|
else
|
116 |
|
|
$g['vlan_long_frame'] = array("vge", "bfe", "bge", "dc", "em", "fxp", "gem", "hme", "ixgb", "le", "nge", "re", "rl", "sis", "sk", "ste", "ti", "tl", "tx", "txp", "vr", "xl", "lagg");
|
117 |
|
|
|
118 |
a03e3c1f
|
Bill Marquette
|
/* IP TOS flags */
|
119 |
ec6adc21
|
Bill Marquette
|
$iptos = array("lowdelay", "throughput", "reliability");
|
120 |
a03e3c1f
|
Bill Marquette
|
|
121 |
|
|
/* TCP flags */
|
122 |
|
|
$tcpflags = array("syn", "ack", "fin", "rst", "psh", "urg");
|
123 |
|
|
|
124 |
b24a7390
|
Scott Ullrich
|
if(file_exists("/etc/platform")) {
|
125 |
8395832c
|
Scott Ullrich
|
$arch = trim(`uname -m`);
|
126 |
03cc2016
|
Erik
|
$g['platform'] = trim(file_get_contents("/etc/platform"));
|
127 |
aadf2c9f
|
Scott Ullrich
|
if($g['platform'] == "nanobsd") {
|
128 |
e5d8408b
|
jim-p
|
$g['update_url']="http://snapshots.pfsense.org/FreeBSD_RELENG_8_1/{$arch}/pfSense_HEAD/.updaters/";
|
129 |
aadf2c9f
|
Scott Ullrich
|
$g['update_manifest']="http://updates.pfSense.com/nanobsd/manifest";
|
130 |
b4a9785a
|
jim-p
|
$g['firmware_update_text']="pfSense-*.img.gz";
|
131 |
fdcd8ac7
|
jim-p
|
|
132 |
aadf2c9f
|
Scott Ullrich
|
} else {
|
133 |
40b0b541
|
Ermal Lu?i
|
$g['update_url']="http://snapshots.pfsense.org/FreeBSD_RELENG_8_1/{$arch}/pfSense_HEAD/.updaters/";
|
134 |
aadf2c9f
|
Scott Ullrich
|
$g['update_manifest']="http://updates.pfSense.com/manifest";
|
135 |
b4a9785a
|
jim-p
|
$g['firmware_update_text']="pfSense-*.tgz";
|
136 |
aadf2c9f
|
Scott Ullrich
|
}
|
137 |
b24a7390
|
Scott Ullrich
|
}
|
138 |
|
|
|
139 |
3a35f55f
|
Scott Ullrich
|
/* Default sysctls */
|
140 |
|
|
$sysctls = array("net.inet.ip.portrange.first" => "1024",
|
141 |
575a279a
|
Ermal Lu?i
|
"net.inet.tcp.blackhole" => "2",
|
142 |
|
|
"net.inet.udp.blackhole" => "1",
|
143 |
|
|
"net.inet.ip.random_id" => "1",
|
144 |
|
|
"net.inet.tcp.drop_synfin" => "1",
|
145 |
|
|
"net.inet.ip.redirect" => "1",
|
146 |
|
|
"net.inet6.ip6.redirect" => "1",
|
147 |
|
|
"net.inet.tcp.syncookies" => "1",
|
148 |
|
|
"net.inet.tcp.recvspace" => "65228",
|
149 |
|
|
"net.inet.tcp.sendspace" => "65228",
|
150 |
|
|
"net.inet.ip.fastforwarding" => "1",
|
151 |
|
|
"net.inet.tcp.delayed_ack" => "0",
|
152 |
|
|
"net.inet.udp.maxdgram" => "57344",
|
153 |
|
|
"net.link.bridge.pfil_onlyip" => "0",
|
154 |
|
|
"net.link.bridge.pfil_member" => "1",
|
155 |
|
|
"net.link.bridge.pfil_bridge" => "0",
|
156 |
|
|
"net.link.tap.user_open" => "1",
|
157 |
|
|
"kern.rndtest.verbose" => "0",
|
158 |
|
|
"kern.randompid" => "347",
|
159 |
|
|
"net.inet.ip.intr_queue_maxlen" => "1000",
|
160 |
|
|
"hw.syscons.kbd_reboot" => "0",
|
161 |
|
|
"net.inet.tcp.inflight.enable" => "1",
|
162 |
|
|
"net.inet.tcp.log_debug" => "0",
|
163 |
e2bee3fe
|
Ermal
|
"net.inet.tcp.tso" => "1",
|
164 |
3816479c
|
Ermal
|
"net.inet.icmp.icmplim" => "0"
|
165 |
575a279a
|
Ermal Lu?i
|
);
|
166 |
3a35f55f
|
Scott Ullrich
|
|
167 |
06f61915
|
Ermal Lu?i
|
$config_inc_loaded = false;
|
168 |
094dfa16
|
Ermal Lu?i
|
?>
|