aboutsummaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--config/pre2upgrade/pre2upgrade.php76
-rw-r--r--config/pre2upgrade/pre2upgrade.xml57
-rwxr-xr-xpkg_config.7.xml12
3 files changed, 145 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
diff --git a/config/pre2upgrade/pre2upgrade.xml b/config/pre2upgrade/pre2upgrade.xml
new file mode 100644
index 00000000..9d645cdd
--- /dev/null
+++ b/config/pre2upgrade/pre2upgrade.xml
@@ -0,0 +1,57 @@
+<?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$ */
+/* ========================================================================== */
+/*
+ pre2upgrade.xml
+ part of pfSense (http://www.pfSense.com)
+ 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. */
+/* ========================================================================== */
+ ]]>
+ </copyright>
+ <name>pre2upgrade</name>
+ <version>1.0</version>
+ <title>System: Pre-2.0 Upgrade Check</title>
+ <additional_files_needed>
+ <prefix>/usr/local/www/</prefix>
+ <item>http://www.pfsense.com/packages/config/pre2upgrade/pre2upgrade.php</item>
+ </additional_files_needed>
+ <menu>
+ <name>Pre-Upgrade Check</name>
+ <tooltiptext>Check your system for potential 2.0 upgrade issues.</tooltiptext>
+ <section>System</section>
+ <url>/pre2upgrade.php</url>
+ </menu>
+ <custom_php_deinstall_command>
+ <![CDATA[
+ exec("rm /usr/local/www/pre2upgrade.php");
+ ]]>
+ </custom_php_deinstall_command>
+</packagegui> \ No newline at end of file
diff --git a/pkg_config.7.xml b/pkg_config.7.xml
index 915fc1c2..a6d15a2e 100755
--- a/pkg_config.7.xml
+++ b/pkg_config.7.xml
@@ -1085,5 +1085,17 @@
<required_version>3.0</required_version>
<configurationfile>ifbwstats.xml</configurationfile>
</package>
+ <package>
+ <name>Pre-2.0 Upgrade Check</name>
+ <descr>Pre-2.0 Upgrade Check</descr>
+ <category>System</category>
+ <depends_on_package_base_url>http://ftp-archive.freebsd.org/mirror/FreeBSD-Archive/ports/i386/packages-7.2-release/Latest/</depends_on_package_base_url>
+ <depends_on_package>libxml2.tbz</depends_on_package>
+ <config_file>http://www.pfsense.com/packages/config/pre2upgrade/pre2upgrade.xml</config_file>
+ <version>1.0</version>
+ <status>Stable</status>
+ <required_version>1.2</required_version>
+ <configurationfile>pre2upgrade.xml</configurationfile>
+ </package>
</packages>
</pfsensepkgs>