]> git.proxmox.com Git - mirror_edk2.git/commitdiff
[Wizard- Far Install/Create]
authorqouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 17 Jul 2006 07:31:21 +0000 (07:31 +0000)
committerqouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 17 Jul 2006 07:31:21 +0000 (07:31 +0000)
Change Manifest file name to "FrameworkArchiveManifest.xml".
Modify Md5 format in FrameworkArchiveMainfest.xml file.
Add Md5 verification when install FAR.
Fix the bug of Far installation can't work with Sun JDK 1.5.0_04 version.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1029 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/far/Far.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/far/FarMd5.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/far/Mainfest.java

index 57116334f2fd9a1ded4082b49da10ba0ffb2cc86..9b0c5930cbad5f19e563d1d31dad807c65448151 100644 (file)
@@ -226,6 +226,12 @@ public class Far {
                         byte[] totalBuffer = new byte[(int) tempFile.length()];\r
                         FileInputStream fis = new FileInputStream(tempFile);\r
                         fis.read(totalBuffer);\r
                         byte[] totalBuffer = new byte[(int) tempFile.length()];\r
                         FileInputStream fis = new FileInputStream(tempFile);\r
                         fis.read(totalBuffer);\r
+                        //\r
+                        //  Check Md5\r
+                        //\r
+                        if (!ffItem.getMd5Value().equalsIgnoreCase(FarMd5.md5(totalBuffer))){\r
+                            throw new Exception (ffItem.getRelativeFilename() + " Md5 is invaild!");\r
+                        }\r
                         outputStream.write(totalBuffer);\r
                         fis.close();\r
                         tempFile.delete();\r
                         outputStream.write(totalBuffer);\r
                         fis.close();\r
                         tempFile.delete();\r
index c7b97c543123c2c74ea36dc7f2f870fed05d645f..0269fcf6cd1601f64423ca57e61aee0244808123 100644 (file)
@@ -32,7 +32,7 @@ public class FarMd5 {
     static public String md5(byte[] buffer) throws Exception {\r
         MessageDigest md = MessageDigest.getInstance("MD5");\r
         byte[] md5 = md.digest(buffer);\r
     static public String md5(byte[] buffer) throws Exception {\r
         MessageDigest md = MessageDigest.getInstance("MD5");\r
         byte[] md5 = md.digest(buffer);\r
-        return new String(String.format("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", md5[0], md5[1], md5[2], md5[3], md5[4],\r
+        return new String(String.format("%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", md5[0], md5[1], md5[2], md5[3], md5[4],\r
                                         md5[5], md5[6], md5[7], md5[8], md5[9], md5[10], md5[11], md5[12], md5[13],\r
                                         md5[14], md5[15]));\r
 \r
                                         md5[5], md5[6], md5[7], md5[8], md5[9], md5[10], md5[11], md5[12], md5[13],\r
                                         md5[14], md5[15]));\r
 \r
index 459530763b0d617085cbba2af0bc4033c904fb73..22305727f443179ce305591b9e6ad4040ab0fd1e 100644 (file)
@@ -56,7 +56,7 @@ public class Mainfest implements ManifestInterface {
     // /\r
     // / Mainfest file element name\r
     // /\r
     // /\r
     // / Mainfest file element name\r
     // /\r
-    final static String mfFileName = "FarMainfest.MF";\r
+    final static String mfFileName = "FrameworkArhciveMainfest.xml";\r
 \r
     //\r
     // Header\r
 \r
     //\r
     // Header\r
@@ -129,7 +129,7 @@ public class Mainfest implements ManifestInterface {
     //\r
     // Mainfest file\r
     //\r
     //\r
     // Mainfest file\r
     //\r
-    File mfFile = null;\r
+    public File mfFile = null;\r
 \r
     public FarHeader getHeader() {\r
         return fhInfo;\r
 \r
     public FarHeader getHeader() {\r
         return fhInfo;\r
@@ -678,7 +678,7 @@ public class Mainfest implements ManifestInterface {
         Source source = new DOMSource(this.mainfestDoc);\r
         //\r
         // Prepare the output file, get the Mainifest file name from <FarHeader>\r
         Source source = new DOMSource(this.mainfestDoc);\r
         //\r
         // Prepare the output file, get the Mainifest file name from <FarHeader>\r
-        // /<FarName>.\r
+        // <FarName>.\r
         //\r
         this.mfFile = new File(Workspace.getCurrentWorkspace() + File.separatorChar + mfFileName);\r
         //\r
         //\r
         this.mfFile = new File(Workspace.getCurrentWorkspace() + File.separatorChar + mfFileName);\r
         //\r
@@ -686,6 +686,10 @@ public class Mainfest implements ManifestInterface {
         //\r
         Result result = new StreamResult(this.mfFile);\r
         xformer.transform(source, result);\r
         //\r
         Result result = new StreamResult(this.mfFile);\r
         xformer.transform(source, result);\r
+        //\r
+        // Close result. Flush file by manual for Jdk1.5.0_04. \r
+        //\r
+        ((StreamResult) result).getOutputStream().close();\r
     }\r
 \r
     public void pkgToFarPkgNode(Element parentNode, FarPackage pkgItem) {\r
     }\r
 \r
     public void pkgToFarPkgNode(Element parentNode, FarPackage pkgItem) {\r