diff --git a/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnection.java b/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnection.java index dffc66a2268..90fb2c70a1f 100644 --- a/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnection.java +++ b/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnection.java @@ -44,7 +44,8 @@ public class MailServerConnection extends HopMetadataBase implements IHopMetadat @HopMetadataProperty private String username; - @HopMetadataProperty private String password; + @HopMetadataProperty(password = true) + private String password; @HopMetadataProperty private boolean useXOAuth2; diff --git a/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnectionEditor.java b/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnectionEditor.java index 4194754128b..74356b168d4 100644 --- a/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnectionEditor.java +++ b/plugins/misc/mail/src/main/java/org/apache/hop/metadata/mail/MailServerConnectionEditor.java @@ -55,8 +55,6 @@ public class MailServerConnectionEditor extends MetadataEditor { private String messageOutputField; + private boolean checkServerIdentity; + private String trustedHosts; + public MailMeta() { super(); // allocate BaseTransformMeta } @@ -199,6 +202,9 @@ private void readData(Node transformNode) { setContactPhone(XmlHandler.getTagValue(transformNode, "contact_phone")); setComment(XmlHandler.getTagValue(transformNode, "comment")); setIncludingFiles("Y".equalsIgnoreCase(XmlHandler.getTagValue(transformNode, "include_files"))); + setCheckServerIdentity( + "Y".equalsIgnoreCase(XmlHandler.getTagValue(transformNode, "checkServerIdentity"))); + setTrustedHosts(XmlHandler.getTagValue(transformNode, "trustedHosts")); setUsingAuthentication("Y".equalsIgnoreCase(XmlHandler.getTagValue(transformNode, "use_auth"))); setUseXOAUTH2("Y".equalsIgnoreCase(XmlHandler.getTagValue(transformNode, "usexoauth2"))); setUsingSecureAuthentication( @@ -320,6 +326,10 @@ public String getXml() throws HopException { .append(CONST_SPACE) .append(XmlHandler.addTagValue("sourcewildcard", this.sourcewildcard)); retval.append(CONST_SPACE).append(XmlHandler.addTagValue("contact_person", this.contactPerson)); + retval + .append(CONST_SPACE) + .append(XmlHandler.addTagValue("checkServerIdentity", checkServerIdentity)); + retval.append(CONST_SPACE).append(XmlHandler.addTagValue("trustedHosts", trustedHosts)); retval.append(CONST_SPACE).append(XmlHandler.addTagValue("contact_phone", this.contactPhone)); retval.append(CONST_SPACE).append(XmlHandler.addTagValue("comment", this.comment)); retval.append(CONST_SPACE).append(XmlHandler.addTagValue("include_files", this.includingFiles)); @@ -464,6 +474,22 @@ public void setAttachContentFileNameField(String attachContentFileNameField) { this.attachContentFileNameField = attachContentFileNameField; } + public boolean isCheckServerIdentity() { + return checkServerIdentity; + } + + public void setCheckServerIdentity(boolean checkServerIdentity) { + this.checkServerIdentity = checkServerIdentity; + } + + public String getTrustedHosts() { + return trustedHosts; + } + + public void setTrustedHosts(String trustedHosts) { + this.trustedHosts = trustedHosts; + } + public void setDynamicWildcard(String dynamicwildcard) { this.dynamicWildcard = dynamicwildcard; } diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/metadata/mail/messages/messages_en_US.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/metadata/mail/messages/messages_en_US.properties index 515f87e1af4..e31256da3ce 100644 --- a/plugins/misc/mail/src/main/resources/org/apache/hop/metadata/mail/messages/messages_en_US.properties +++ b/plugins/misc/mail/src/main/resources/org/apache/hop/metadata/mail/messages/messages_en_US.properties @@ -13,3 +13,7 @@ MailServerConnectionDialog.UseProxy=Use proxy? MailServerConnectionDialog.ProxyUsername=Proxy username MailServerConnectionDialog.ProxyPassword=Proxy password MailServerConnectionDialog.ConnectionProtocol=Connection protocol +MailServerConnectionDialog.CheckServerIdentity=Check server identity? +MailServerConnectionDialog.TrustedHosts=Trusted hosts\: +MailServerConnectionDialog.TrustedHosts.Tooltip=Insert the list of trusted hosts separated by a space\ + \nExample\: host1 host2 host3 \ No newline at end of file diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_en_US.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_en_US.properties index 2ad9888b222..e5571992f2d 100644 --- a/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_en_US.properties +++ b/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_en_US.properties @@ -187,3 +187,7 @@ MailMeta.CheckResult.TransformRecevingData2=Transform is receiving info from oth MailMeta.CheckResult.ZipfilenameEmpty=Attached zipfilename is empty\! MailMeta.CheckResult.ZipfilenameOk=Attached zipfilename is specified. MailMeta.keyword=mail +Mail.CheckServerIdentity.Label=Check server identity? +Mail.TrustedHosts.Label=Trusted hosts\: +Mail.TrustedHosts.Tooltip=Insert the list of trusted hosts separated by a space\ + \nExample\: host1 host2 host3 \ No newline at end of file diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_it_IT.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_it_IT.properties index 6aff29227d9..3a9f7cb19c7 100644 --- a/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_it_IT.properties +++ b/plugins/misc/mail/src/main/resources/org/apache/hop/pipeline/transforms/mail/messages/messages_it_IT.properties @@ -177,3 +177,6 @@ MailMeta.CheckResult.TransformRecevingData=Il transform \u00E8 connesso al prece MailMeta.CheckResult.TransformRecevingData2=Il transform sta ricevendo informazioni dagli altri transforms. MailMeta.CheckResult.ZipfilenameEmpty=Il nome file Zip allegato \u00E8 vuoto\! MailMeta.CheckResult.ZipfilenameOk=Il nome file Zip allegato \u00E8 stato specificato. +Mail.TrustedHosts.Label=Hosts affidabili\: +Mail.TrustedHosts.Tooltip=Riempi la lista degli hosts affidabili separandoli con uno spazio\ + \nEsempio\: host1 host2 host3 \ No newline at end of file diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_en_US.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_en_US.properties index 9590b79e4d0..72900dfb732 100644 --- a/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_en_US.properties +++ b/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_en_US.properties @@ -126,4 +126,8 @@ ActionMail.ZipFilename.Label=Name of zip archive ActionMail.ZipFilename.Tooltip=Name of zip archive ActionMail.ZipFiles.Label=Zip files to single archive ActionMailDialog.Server.Label=Server -ActionMail.Group.ConnectionGroup.Label=Mail Server Connection \ No newline at end of file +ActionMail.Group.ConnectionGroup.Label=Mail Server Connection +ActionMail.CheckServerIdentity.Label=Check server identity? +ActionMail.TrustedHosts.Label=Trusted hosts\: +ActionMail.TrustedHosts.Tooltip=Insert the list of trusted hosts separated by a space\ + \nExample\: host1 host2 host3 \ No newline at end of file diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_it_IT.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_it_IT.properties index 4e6d869c367..af1935ffbd1 100644 --- a/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_it_IT.properties +++ b/plugins/misc/mail/src/main/resources/org/apache/hop/workflow/actions/mail/messages/messages_it_IT.properties @@ -124,3 +124,6 @@ ActionMail.ZipFilename.Label=Nome dell''archivio ZIP: ActionMail.ZipFilename.Tooltip=Nome dell''archivio ZIP ActionMail.ZipFiles.Label=Comprimere i file in un solo archivio? ActionMailDialog.Server.Label=Server +ActionMail.TrustedHosts.Label=Hosts affidabili\: +ActionMail.TrustedHosts.Tooltip=Riempi la lista degli hosts affidabili separandoli con uno spazio\ + \nEsempio\: host1 host2 host3 diff --git a/plugins/misc/mail/src/test/java/org/apache/hop/workflow/actions/mail/WorkflowActionMailLoadSaveTest.java b/plugins/misc/mail/src/test/java/org/apache/hop/workflow/actions/mail/WorkflowActionMailLoadSaveTest.java index 99179fdb2ea..5a35196a093 100644 --- a/plugins/misc/mail/src/test/java/org/apache/hop/workflow/actions/mail/WorkflowActionMailLoadSaveTest.java +++ b/plugins/misc/mail/src/test/java/org/apache/hop/workflow/actions/mail/WorkflowActionMailLoadSaveTest.java @@ -18,17 +18,8 @@ package org.apache.hop.workflow.actions.mail; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.Random; -import org.apache.hop.core.ResultFile; import org.apache.hop.junit.rules.RestoreHopEngineEnvironment; -import org.apache.hop.pipeline.transforms.loadsave.validator.ArrayLoadSaveValidator; -import org.apache.hop.pipeline.transforms.loadsave.validator.IFieldLoadSaveValidator; -import org.apache.hop.pipeline.transforms.loadsave.validator.IntLoadSaveValidator; -import org.apache.hop.pipeline.transforms.loadsave.validator.PrimitiveIntArrayLoadSaveValidator; -import org.apache.hop.pipeline.transforms.loadsave.validator.StringLoadSaveValidator; import org.apache.hop.workflow.action.loadsave.WorkflowActionLoadSaveTestSupport; import org.junit.ClassRule; @@ -73,25 +64,24 @@ protected List listAttributes() { "replyToAddresses", "fileType", "embeddedimages", - "contentids" - ); + "contentids"); } -/* - @Override - protected Map> createAttributeValidatorsMap() { - Map> validators = new HashMap<>(); - validators.put( - "fileType", - new PrimitiveIntArrayLoadSaveValidator( - new IntLoadSaveValidator(ResultFile.fileTypeCode.length))); + /* + @Override + protected Map> createAttributeValidatorsMap() { + Map> validators = new HashMap<>(); + validators.put( + "fileType", + new PrimitiveIntArrayLoadSaveValidator( + new IntLoadSaveValidator(ResultFile.fileTypeCode.length))); - int entries = new Random().nextInt(20) + 1; - validators.put( - "embeddedimages", new ArrayLoadSaveValidator<>(new StringLoadSaveValidator(), entries)); - validators.put( - "contentids", new ArrayLoadSaveValidator<>(new StringLoadSaveValidator(), entries)); - return validators; - } -*/ + int entries = new Random().nextInt(20) + 1; + validators.put( + "embeddedimages", new ArrayLoadSaveValidator<>(new StringLoadSaveValidator(), entries)); + validators.put( + "contentids", new ArrayLoadSaveValidator<>(new StringLoadSaveValidator(), entries)); + return validators; + } + */ }