aboutsummaryrefslogtreecommitdiffstats
path: root/config/pre2upgrade/pre2upgrade.php
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2011-07-20 14:43:39 -0400
committerjim-p <jimp@pfsense.org>2011-07-20 14:44:15 -0400
commit3498f7686320ecf05ba07b1b7df998abc8bb9b7b (patch)
tree506d82eb32bb93799486e3346f011466c7c0987a /config/pre2upgrade/pre2upgrade.php
parent0bb1db3d9de95c9e814ac8a97f89bdadc60b2598 (diff)
downloadpfsense-packages-3498f7686320ecf05ba07b1b7df998abc8bb9b7b.tar.gz
pfsense-packages-3498f7686320ecf05ba07b1b7df998abc8bb9b7b.tar.bz2
pfsense-packages-3498f7686320ecf05ba07b1b7df998abc8bb9b7b.zip
Add a pre-2.0 upgrade check package for 1.2.3 that will flag invalid XML.
Diffstat (limited to 'config/pre2upgrade/pre2upgrade.php')
-rw-r--r--config/pre2upgrade/pre2upgrade.php76
1 files changed, 76 insertions, 0 deletions
diff --git a/config/pre2upgrade/pre2upgrade.php b/config/pre2upgrade/pre2upgrade.php
new file mode 100644
index 00000000..edc471a8
--- /dev/null
+++ b/config/pre2upgrade/pre2upgrade.php
@@ -0,0 +1,76 @@
+<?php
+/*
+ pre2upgrade.php
+ Copyright (C) 2011 Jim Pingle
+ 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("config.inc");
+require_once("guiconfig.inc");
+
+$pgtitle = "System: Pre 2.0 Upgrade Check";
+include("head.inc");
+
+exec("/usr/local/bin/xmllint /conf/config.xml 2>&1", $out, $err);
+
+if ($err) {
+ $out = implode("\n", $out);
+} else {
+ $out = "OK";
+}
+?>
+
+<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
+<?php
+include("fbegin.inc");
+?>
+<p class="pgtitle"><?=$pgtitle?></p>
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr><td>
+<div id="mainarea">
+<table class="tabcont" colspan="3" cellpadding="3" width="100%">
+<tr><td>
+This configuration check will report any invalid XML. The most common cause of this is international/special characters inside of your configuration in places where they are not supported. You must remove these characters from your configuration before proceeding with the upgrade, or else you <b>will</b> have problems, as your config.xml is not well-formed. Once you have upgraded to 2.0 you can put the characters back in descriptions, as they are properly supported in the new format.
+<br/><br/>
+Config check output:
+<font size="2">
+<pre>
+<?php echo htmlspecialchars($out); ?>
+</pre>
+</font>
+<?php if ($err): ?>
+<font color="red"><b>Please fix the errors found above.</b></font><br/>It may help to view a <a href="/diag_backup.php">config.xml backup file</a> to see where the characters are exactly.
+<?php endif; ?>
+<br/><br/>
+Before proceeding with the upgrade, you should look over the upgrade guide on the doc wiki, which can be found here:<br/>
+<a href="http://doc.pfsense.org/index.php/Upgrade_Guide">http://doc.pfsense.org/index.php/Upgrade_Guide</a>.
+</td></tr>
+</table>
+</div>
+</td></tr>
+</table>
+
+<?php include("fend.inc"); ?>
+</body>
+</html> \ No newline at end of file