summaryrefslogtreecommitdiffstats
path: root/usr/local/www/diag_backup.php
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2006-08-28 20:10:41 +0000
committerScott Ullrich <sullrich@pfsense.org>2006-08-28 20:10:41 +0000
commit645ec835ab523acee809c762973a3e52918887a3 (patch)
tree830af3c147bd7f693143ff4250c5407728fdfebb /usr/local/www/diag_backup.php
parentd99f78640b82c3014e4de2b56916c4f8899d7847 (diff)
downloadpfsense-645ec835ab523acee809c762973a3e52918887a3.zip
pfsense-645ec835ab523acee809c762973a3e52918887a3.tar.gz
Remove special characters from interface descriptions during m0n0wall upgrade.
Also unset the config.cache if it exists.
Diffstat (limited to 'usr/local/www/diag_backup.php')
-rwxr-xr-xusr/local/www/diag_backup.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/usr/local/www/diag_backup.php b/usr/local/www/diag_backup.php
index 77e1d51..81704c1 100755
--- a/usr/local/www/diag_backup.php
+++ b/usr/local/www/diag_backup.php
@@ -33,6 +33,10 @@
$omit_nocacheheaders = true;
require("guiconfig.inc");
+function remove_bad_chars($string) {
+ return preg_replace('/[^a-z|_|0-9]/i','',$string);
+}
+
function spit_out_select_items($area) {
$select = <<<EOD
<select name="{$area}">
@@ -156,10 +160,16 @@ if ($_POST) {
unlink("/tmp/config.cache");
$config = parse_config(true);
if($m0n0wall_upgrade == true) {
- if($config['system']['gateway'] <> "") {
+ if($config['system']['gateway'] <> "")
$config['interfaces']['wan']['gateway'] = $config['system']['gateway'];
- }
unset($config['shaper']);
+ /* build an interface collection */
+ for ($j = 1; isset ($config['interfaces']['opt' . $j]); $j++)
+ $ifdescrs['opt' . $j] = "opt" . $j;
+ /* remove special characters from interface descriptions */
+ foreach($ifdescrs as $iface)
+ $config['interfaces'][$iface]['descr'] = remove_bad_chars($config['interfaces'][$iface]['descr']);
+ unlink_if_exists("/tmp/config.cache");
write_config();
conf_mount_ro();
$savemsg = "The m0n0wall configuration has been restored and upgraded to pfSense.<p>The firewall is now rebooting.";
@@ -224,7 +234,7 @@ include("head.inc");
$tab_array[0] = array("Remote", false, "diag_confbak.php");
$tab_array[1] = array("Local", true, "diag_backup.php");
display_top_tabs($tab_array);
-?>
+?>
</td>
</tr>
<tr>
OpenPOWER on IntegriCloud