From 59912c09c955c22b62fb41b9a091056657e04051 Mon Sep 17 00:00:00 2001 From: edison su Date: Fri, 13 Aug 2010 11:39:55 -0700 Subject: [PATCH] Remove the VHD template signature check when downdloading template. There are lots tools can create VHD disk: xenserver, xenconverter, hyper-v, platespin, etc. And some tools didn't create a correct signature. --- .../cloud/storage/template/VhdProcessor.java | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/core/src/com/cloud/storage/template/VhdProcessor.java b/core/src/com/cloud/storage/template/VhdProcessor.java index 3be704b3917..6ed4752903a 100644 --- a/core/src/com/cloud/storage/template/VhdProcessor.java +++ b/core/src/com/cloud/storage/template/VhdProcessor.java @@ -91,22 +91,7 @@ public class VhdProcessor implements Processor { } } - boolean findKnownCreator = false; - for (int i = 0; i < citrix_creator_app.length; i++) { - if (Arrays.equals(creatorApp, citrix_creator_app[i])) { - findKnownCreator = true; - break; - } - } - if (!findKnownCreator) { - /*Only support VHD image created by citrix xenserver, and xenconverter*/ - String readableCreator = ""; - for (int j = 0; j < creatorApp.length; j++) { - readableCreator += (char)creatorApp[j]; - } - throw new InternalErrorException("Image creator is:" + readableCreator +", is not supported"); - } - + //imageSignatureCheck(creatorApp); long templateSize = NumbersUtil.bytesToLong(currentSize); info.virtualSize = templateSize; @@ -139,4 +124,22 @@ public class VhdProcessor implements Processor { public boolean stop() { return true; } + + private void imageSignatureCheck(byte[] creatorApp) throws InternalErrorException { + boolean findKnownCreator = false; + for (int i = 0; i < citrix_creator_app.length; i++) { + if (Arrays.equals(creatorApp, citrix_creator_app[i])) { + findKnownCreator = true; + break; + } + } + if (!findKnownCreator) { + /*Only support VHD image created by citrix xenserver, and xenconverter*/ + String readableCreator = ""; + for (int j = 0; j < creatorApp.length; j++) { + readableCreator += (char)creatorApp[j]; + } + throw new InternalErrorException("Image creator is:" + readableCreator +", is not supported"); + } + } }