This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/main by this push: new f4daf14 test fix f4daf14 is described below commit f4daf14dde99b934c92ce2c832509f24342bc845 Author: yaqian.zhang <598593...@qq.com> AuthorDate: Tue Dec 7 16:59:42 2021 +0800 test fix --- .../main/java/org/apache/kylin/common/KylinConfigBase.java | 4 ++++ .../main/java/org/apache/kylin/common/util/EncryptUtil.java | 3 ++- .../java/org/apache/kylin/common/util/EncryptUtilTest.java | 13 ++++++++++++- .../org/apache/kylin/rest/service/DiagnosisService.java | 7 ++++--- server/src/main/webapp/WEB-INF/web.xml | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 860e15f..10c6733 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -3403,4 +3403,8 @@ public abstract class KylinConfigBase implements Serializable { public String getKerberosPrincipal() { return getOptional("kylin.kerberos.principal"); } + + public String getEncryptCipherIvSpec() { + return getOptional("kylin.security.encrypt.cipher.ivSpec", "AAAAAAAAAAAAAAAA"); + } } diff --git a/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java index b9b4ddb..224c9e8 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java @@ -25,6 +25,7 @@ import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import org.apache.commons.codec.binary.Base64; +import org.apache.kylin.common.KylinConfig; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; @@ -42,7 +43,7 @@ public class EncryptUtil { InvalidKeyException, NoSuchPaddingException, NoSuchAlgorithmException, UnsupportedEncodingException { Cipher cipher = Cipher.getInstance("AES/CFB/PKCS5Padding"); final SecretKeySpec secretKey = new SecretKeySpec(key, "AES"); - IvParameterSpec ivSpec = new IvParameterSpec("AAAAAAAAAAAAAAAA".getBytes("UTF-8")); + IvParameterSpec ivSpec = new IvParameterSpec(KylinConfig.getInstanceFromEnv().getEncryptCipherIvSpec().getBytes("UTF-8")); cipher.init(cipherMode, secretKey, ivSpec); return cipher; } diff --git a/core-common/src/test/java/org/apache/kylin/common/util/EncryptUtilTest.java b/core-common/src/test/java/org/apache/kylin/common/util/EncryptUtilTest.java index da985ca..5cb8899 100644 --- a/core-common/src/test/java/org/apache/kylin/common/util/EncryptUtilTest.java +++ b/core-common/src/test/java/org/apache/kylin/common/util/EncryptUtilTest.java @@ -18,10 +18,21 @@ package org.apache.kylin.common.util; +import org.junit.After; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; -public class EncryptUtilTest { +public class EncryptUtilTest extends LocalFileMetadataTestCase { + @Before + public void setUp() throws Exception { + this.createTestMetadata(); + } + + @After + public void after() throws Exception { + this.cleanupTestMetadata(); + } @Test public void testAESEncrypt(){ diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java b/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java index 66b7ba0..c6508b3 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java @@ -86,15 +86,16 @@ public class DiagnosisService extends BasicService { public String dumpProjectDiagnosisInfo(String project, File exportPath) throws IOException { Message msg = MsgPicker.getMsg(); + String projectName = ValidateUtil.convertStringToBeAlphanumericUnderscore(project); ProjectInstance projectInstance = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()) - .getProject(ValidateUtil.convertStringToBeAlphanumericUnderscore(project)); + .getProject(projectName); if (null == projectInstance) { throw new BadRequestException( - String.format(Locale.ROOT, msg.getDIAG_PROJECT_NOT_FOUND(), project)); + String.format(Locale.ROOT, msg.getDIAG_PROJECT_NOT_FOUND(), projectName)); } aclEvaluate.checkProjectOperationPermission(projectInstance); - String[] args = { project, exportPath.getAbsolutePath() }; + String[] args = { projectName, exportPath.getAbsolutePath() }; runDiagnosisCLI(args); return getDiagnosisPackageName(exportPath); } diff --git a/server/src/main/webapp/WEB-INF/web.xml b/server/src/main/webapp/WEB-INF/web.xml index 8602c71..f9849b8 100644 --- a/server/src/main/webapp/WEB-INF/web.xml +++ b/server/src/main/webapp/WEB-INF/web.xml @@ -75,7 +75,7 @@ </init-param> <init-param> <param-name>cors.supportsCredentials </param-name> - <param-value>true</param-value> + <param-value>false</param-value> </init-param> </filter>