From 754ca329193316e9c8ec2872895e885f33c37471 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Mon, 15 Mar 2021 11:01:37 -0400 Subject: [PATCH] 0004892: NPE from checking parameter meta data --- .../jumpmind/symmetric/io/CloudBulkDatabaseWriter.java | 8 ++------ .../jumpmind/symmetric/io/RedshiftBulkDatabaseWriter.java | 5 +---- .../org/jumpmind/symmetric/service/impl/MailService.java | 4 +--- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/io/CloudBulkDatabaseWriter.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/io/CloudBulkDatabaseWriter.java index 87e4d02b40..1010366aca 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/io/CloudBulkDatabaseWriter.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/io/CloudBulkDatabaseWriter.java @@ -13,7 +13,6 @@ import org.jumpmind.db.model.Table; import org.jumpmind.db.platform.IDatabasePlatform; import org.jumpmind.db.util.BinaryEncoding; -import org.jumpmind.properties.DefaultParameterParser.ParameterMetaData; import org.jumpmind.security.ISecurityService; import org.jumpmind.security.SecurityConstants; import org.jumpmind.symmetric.SymmetricException; @@ -101,10 +100,8 @@ public CloudBulkDatabaseWriter(IDatabasePlatform symmetricPlatform, this.s3Bucket = parameterService.getString(ParameterConstants.CLOUD_BULK_LOAD_S3_BUCKET); this.s3AccessKey = parameterService.getString(ParameterConstants.CLOUD_BULK_LOAD_S3_ACCESS_KEY); - Map metaDataMap = ParameterConstants.getParameterMetaData(); - ParameterMetaData secretKeyMetaData = metaDataMap.get(ParameterConstants.CLOUD_BULK_LOAD_S3_SECRET_KEY); String secretKey = parameterService.getString(ParameterConstants.CLOUD_BULK_LOAD_S3_SECRET_KEY); - if (secretKeyMetaData.isEncryptedType() && secretKey.startsWith(SecurityConstants.PREFIX_ENC)) { + if (secretKey != null && secretKey.startsWith(SecurityConstants.PREFIX_ENC)) { secretKey = securityService.decrypt(secretKey.substring(SecurityConstants.PREFIX_ENC.length())); } this.s3SecretKey = secretKey; @@ -116,9 +113,8 @@ public CloudBulkDatabaseWriter(IDatabasePlatform symmetricPlatform, this.azureAccountKey = parameterService.getString(ParameterConstants.CLOUD_BULK_LOAD_AZURE_ACCOUNT_KEY); this.azureBlobContainer = parameterService.getString(ParameterConstants.CLOUD_BULK_LOAD_AZURE_BLOB_CONTAINER, "symmetricds"); - ParameterMetaData tokenMetaData = metaDataMap.get(ParameterConstants.CLOUD_BULK_LOAD_AZURE_SAS_TOKEN); String token = parameterService.getString(ParameterConstants.CLOUD_BULK_LOAD_AZURE_SAS_TOKEN); - if (tokenMetaData.isEncryptedType() && token.startsWith(SecurityConstants.PREFIX_ENC)) { + if (token != null && token.startsWith(SecurityConstants.PREFIX_ENC)) { token = securityService.decrypt(token.substring(SecurityConstants.PREFIX_ENC.length())); } this.azureSasToken = token; diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/io/RedshiftBulkDatabaseWriter.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/io/RedshiftBulkDatabaseWriter.java index 439d6b2b3e..ca4a37a78f 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/io/RedshiftBulkDatabaseWriter.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/io/RedshiftBulkDatabaseWriter.java @@ -31,7 +31,6 @@ import org.jumpmind.db.model.Table; import org.jumpmind.db.platform.IDatabasePlatform; import org.jumpmind.db.sql.JdbcSqlTransaction; -import org.jumpmind.properties.DefaultParameterParser.ParameterMetaData; import org.jumpmind.security.ISecurityService; import org.jumpmind.security.SecurityConstants; import org.jumpmind.symmetric.common.ParameterConstants; @@ -78,10 +77,8 @@ public RedshiftBulkDatabaseWriter(IDatabasePlatform symmetricPlatform, IDatabase super.s3AccessKey = parameterService.getString(ParameterConstants.REDSHIFT_BULK_LOAD_S3_ACCESS_KEY); } - ParameterMetaData secretKeyMetaData = ParameterConstants.getParameterMetaData() - .get(ParameterConstants.REDSHIFT_BULK_LOAD_S3_SECRET_KEY); String secretKey = parameterService.getString(ParameterConstants.REDSHIFT_BULK_LOAD_S3_SECRET_KEY); - if (secretKeyMetaData.isEncryptedType() && secretKey.startsWith(SecurityConstants.PREFIX_ENC)) { + if (secretKey != null && secretKey.startsWith(SecurityConstants.PREFIX_ENC)) { secretKey = securityService.decrypt(secretKey.substring(SecurityConstants.PREFIX_ENC.length())); } if (StringUtils.isNotBlank(secretKey)) { diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/MailService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/MailService.java index 7769ecdcd3..9a05ea9867 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/MailService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/MailService.java @@ -35,7 +35,6 @@ import org.apache.commons.lang3.StringUtils; import org.jumpmind.properties.TypedProperties; -import org.jumpmind.properties.DefaultParameterParser.ParameterMetaData; import org.jumpmind.security.ISecurityService; import org.jumpmind.security.SecurityConstants; import org.jumpmind.symmetric.common.ParameterConstants; @@ -67,9 +66,8 @@ public String sendEmail(String subject, String text, String toRecipients) { } public String sendEmail(String subject, String text, String toRecipients, String ccRecipients, String bccRecipients) { - ParameterMetaData passwordMetaData = ParameterConstants.getParameterMetaData().get(ParameterConstants.SMTP_PASSWORD); String password = parameterService.getString(ParameterConstants.SMTP_PASSWORD); - if (passwordMetaData.isEncryptedType() && password.startsWith(SecurityConstants.PREFIX_ENC)) { + if (password != null && password.startsWith(SecurityConstants.PREFIX_ENC)) { password = securityService.decrypt(password.substring(SecurityConstants.PREFIX_ENC.length())); } return sendEmail(subject, text, toRecipients, ccRecipients, bccRecipients, getJavaMailProperties(),