You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2024/06/20 11:56:57 UTC

(james-project) branch master updated: [RELEASE] Adopt JSPF 1.0.4 (#2306)

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 30f2433497 [RELEASE] Adopt JSPF 1.0.4 (#2306)
30f2433497 is described below

commit 30f2433497298295fc6008abdb2f5b6a9788db9c
Author: Benoit TELLIER <bt...@linagora.com>
AuthorDate: Thu Jun 20 13:56:52 2024 +0200

    [RELEASE] Adopt JSPF 1.0.4 (#2306)
---
 pom.xml                                                 |  2 +-
 .../java/org/apache/james/transport/mailets/SPF.java    |  4 ++--
 .../org/apache/james/transport/mailets/SPFTest.java     | 17 +++++++++--------
 3 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/pom.xml b/pom.xml
index 699bc57079..d03f625142 100644
--- a/pom.xml
+++ b/pom.xml
@@ -609,7 +609,7 @@
         <jsieve.version>0.8</jsieve.version>
         <spring.version>6.1.4</spring.version>
         <activmq-artemis.version>2.32.0</activmq-artemis.version>
-        <apache-jspf-resolver.version>1.0.3</apache-jspf-resolver.version>
+        <apache-jspf-resolver.version>1.0.4</apache-jspf-resolver.version>
         <angus-mail.version>2.0.2</angus-mail.version>
         <angus-activation.version>2.0.1</angus-activation.version>
         <jakarta.activation-api.version>2.1.2</jakarta.activation-api.version>
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SPF.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SPF.java
index 02ffdef4eb..7dccdba7e2 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SPF.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SPF.java
@@ -31,8 +31,8 @@ import org.apache.james.jspf.core.DNSServiceEnabled;
 import org.apache.james.jspf.core.MacroExpand;
 import org.apache.james.jspf.core.MacroExpandEnabled;
 import org.apache.james.jspf.core.SPFCheckEnabled;
+import org.apache.james.jspf.executor.AsynchronousSPFExecutor;
 import org.apache.james.jspf.executor.SPFResult;
-import org.apache.james.jspf.executor.SynchronousSPFExecutor;
 import org.apache.james.jspf.impl.DNSServiceXBillImpl;
 import org.apache.james.jspf.impl.DefaultTermsFactory;
 import org.apache.james.jspf.parser.RFC4408SPF1Parser;
@@ -124,7 +124,7 @@ public class SPF extends GenericMailet {
         MacroExpand macroExpand = new MacroExpand(dnsProbe);
         wiringService.put(MacroExpandEnabled.class, macroExpand);
         RFC4408SPF1Parser parser = new RFC4408SPF1Parser(new DefaultTermsFactory(wiringService));
-        SynchronousSPFExecutor executor = new SynchronousSPFExecutor(dnsProbe);
+        AsynchronousSPFExecutor executor = new AsynchronousSPFExecutor(dnsProbe);
         spf = new org.apache.james.jspf.impl.SPF(dnsProbe, parser, macroExpand, executor);
         wiringService.put(SPFCheckEnabled.class, spf);
     }
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SPFTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SPFTest.java
index a7de813503..29dc33dfda 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SPFTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SPFTest.java
@@ -29,6 +29,7 @@ import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 
 import jakarta.mail.MessagingException;
 
@@ -60,7 +61,7 @@ public class SPFTest {
     @BeforeAll
     public static void setupMockedSPFDNSService() throws TimeoutException {
         mockedSPFDNSService = mock(org.apache.james.jspf.core.DNSService.class);
-        when(mockedSPFDNSService.getRecords(any(DNSRequest.class)))
+        when(mockedSPFDNSService.getRecordsAsync(any(DNSRequest.class)))
             .thenAnswer(invocation -> {
                 DNSRequest req = invocation.getArgument(0);
                 switch (req.getRecordType()) {
@@ -69,28 +70,28 @@ public class SPFTest {
                         List<String> l = new ArrayList<>();
                         switch (req.getHostname()) {
                             case "some.host.local":
-                                return l;
+                                return CompletableFuture.completedFuture(l);
                             case "spf1.james.apache.org":
                                 // pass
                                 l.add("v=spf1 +all");
-                                return l;
+                                return CompletableFuture.completedFuture(l);
                             case "spf2.james.apache.org":
                                 // fail
                                 l.add("v=spf1 -all");
-                                return l;
+                                return CompletableFuture.completedFuture(l);
                             case "spf3.james.apache.org":
                                 // softfail
                                 l.add("v=spf1 ~all");
-                                return l;
+                                return CompletableFuture.completedFuture(l);
                             case "spf4.james.apache.org":
                                 // permerror
                                 l.add("v=spf1 badcontent!");
-                                return l;
+                                return CompletableFuture.completedFuture(l);
                             case "spf5.james.apache.org":
                                 // temperror
-                                throw new TimeoutException("TIMEOUT");
+                                return CompletableFuture.failedFuture(new TimeoutException("TIMEOUT"));
                             default:
-                                throw new RuntimeException("Unknown record " + req.getHostname());
+                                return CompletableFuture.failedFuture(new RuntimeException("Unknown record " + req.getHostname()));
                         }
                     default:
                         throw new UnsupportedOperationException("Unimplemented mock service");


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org