This is an automated email from the ASF dual-hosted git repository.
rcordier 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 bb0f811dd9 [ENHANCEMENT] Test SPF inifinite loops
bb0f811dd9 is described below
commit bb0f811dd963534762322cc5b33abd6657a947f0
Author: Benoit TELLIER <[email protected]>
AuthorDate: Sun Jan 12 21:57:03 2025 +0100
[ENHANCEMENT] Test SPF inifinite loops
---
.../org/apache/james/transport/mailets/SPFTest.java | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
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 29dc33dfda..136f399159 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
@@ -79,12 +79,20 @@ public class SPFTest {
// fail
l.add("v=spf1 -all");
return CompletableFuture.completedFuture(l);
+ case "spf26.james.apache.org":
+ // fail
+ l.add("v=spf1 include:spf27.james.apache.org
~all");
+ return CompletableFuture.completedFuture(l);
+ case "spf27.james.apache.org":
+ // fail
+ l.add("v=spf1 include:spf26.james.apache.org
~all");
+ return CompletableFuture.completedFuture(l);
case "spf3.james.apache.org":
// softfail
l.add("v=spf1 ~all");
return CompletableFuture.completedFuture(l);
case "spf4.james.apache.org":
- // permerror
+ // kpermerror
l.add("v=spf1 badcontent!");
return CompletableFuture.completedFuture(l);
case "spf5.james.apache.org":
@@ -135,6 +143,15 @@ public class SPFTest {
assertThat(AttributeUtils.getValueAndCastFromMail(mail,
RESULT_ATTRIBUTE, String.class)).contains("fail");
}
+ @Test
+ public void testInfiniteLoop() throws MessagingException {
+ FakeMail mail =
fakeMail().sender("[email protected]").build();
+ Mailet mailet = testMailet();
+
+ mailet.service(mail);
+ assertThat(AttributeUtils.getValueAndCastFromMail(mail,
RESULT_ATTRIBUTE, String.class)).contains("permerror");
+ }
+
@Test
public void serviceShouldPerformSPFCheckWithResultSoftFail() throws
MessagingException {
FakeMail mail =
fakeMail().sender("[email protected]").build();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]