diff --git a/client/conf/server.properties.in b/client/conf/server.properties.in index 75505202624..7846df16f1c 100644 --- a/client/conf/server.properties.in +++ b/client/conf/server.properties.in @@ -16,7 +16,8 @@ # under the License. # The binding interface for the management server -bind.interface=:: +# The management server will listen on all interfaces by default +# bind.interface=:: # The service context path where URL requests should be served context.path=/client diff --git a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java index 1a5e8ff1b1e..1e47aef45a3 100644 --- a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java +++ b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java @@ -87,7 +87,7 @@ public class ServerDaemon implements Daemon { private int sessionTimeout = 30; private boolean httpsEnable = false; private String accessLogFile = "access.log"; - private String bindInterface = ""; + private String bindInterface = null; private String contextPath = "/client"; private String keystoreFile; private String keystorePassword; @@ -119,7 +119,7 @@ public class ServerDaemon implements Daemon { if (properties == null) { return; } - setBindInterface(properties.getProperty(BIND_INTERFACE, "")); + setBindInterface(properties.getProperty(BIND_INTERFACE, null)); setContextPath(properties.getProperty(CONTEXT_PATH, "/client")); setHttpEnable(Boolean.valueOf(properties.getProperty(HTTP_ENABLE, "true"))); setHttpPort(Integer.valueOf(properties.getProperty(HTTP_PORT, "8080"))); diff --git a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java index 4f1984257ed..c0d57d7e4af 100644 --- a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java @@ -25,6 +25,7 @@ import java.util.Set; import javax.inject.Inject; +import org.apache.cloudstack.utils.security.DigestHelper; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -188,7 +189,7 @@ public class TemplateJoinDaoImpl extends GenericDaoBaseWithTagInformation checksum.indexOf("{"); + } + + /** + * Returns the checksum HASH from the checksum value which can have the following formats: {ALG}HASH or HASH + */ + public static String getHashValueFromChecksumValue(String checksum) { + return isAlgorithmPresent(checksum) ? new ChecksumValue(checksum).getChecksum() : checksum; + } } diff --git a/utils/src/test/java/org/apache/cloudstack/utils/security/DigestHelperTest.java b/utils/src/test/java/org/apache/cloudstack/utils/security/DigestHelperTest.java index 4a6e3f7960a..eac234ef2fc 100644 --- a/utils/src/test/java/org/apache/cloudstack/utils/security/DigestHelperTest.java +++ b/utils/src/test/java/org/apache/cloudstack/utils/security/DigestHelperTest.java @@ -26,6 +26,9 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + public class DigestHelperTest { private final static String INPUT_STRING = "01234567890123456789012345678901234567890123456789012345678901234567890123456789\n"; @@ -46,17 +49,17 @@ public class DigestHelperTest { @Test public void check_SHA256() throws Exception { - Assert.assertTrue(DigestHelper.check(SHA256_CHECKSUM, inputStream)); + assertTrue(DigestHelper.check(SHA256_CHECKSUM, inputStream)); } @Test public void check_SHA1() throws Exception { - Assert.assertTrue(DigestHelper.check(SHA1_CHECKSUM, inputStream)); + assertTrue(DigestHelper.check(SHA1_CHECKSUM, inputStream)); } @Test public void check_MD5() throws Exception { - Assert.assertTrue(DigestHelper.check(MD5_CHECKSUM, inputStream)); + assertTrue(DigestHelper.check(MD5_CHECKSUM, inputStream)); } @Test @@ -127,6 +130,28 @@ public class DigestHelperTest { String checksum = SHA256_CHECKSUM + "XXXXX"; DigestHelper.validateChecksumString(checksum); } + + @Test + public void testIsAlgorithmPresentPositiveCase() { + assertTrue(DigestHelper.isAlgorithmSupported(SHA256_CHECKSUM)); + } + + @Test + public void testIsAlgorithmPresentnegativeCase() { + assertTrue(DigestHelper.isAlgorithmSupported(SHA256_NO_PREFIX_CHECKSUM)); + } + + @Test + public void testGetHashValueFromChecksumValuePrefixPresent() { + String checksum = DigestHelper.getHashValueFromChecksumValue(SHA256_CHECKSUM); + assertEquals(SHA256_NO_PREFIX_CHECKSUM, checksum); + } + + @Test + public void testGetHashValueFromChecksumValueNoPrefixPresent() { + String checksum = DigestHelper.getHashValueFromChecksumValue(SHA256_NO_PREFIX_CHECKSUM); + assertEquals(SHA256_NO_PREFIX_CHECKSUM, checksum); + } } //Generated with love by TestMe :) Please report issues and submit feature requests at: http://weirddev.com/forum#!/testme \ No newline at end of file