Issue Details (XML | Word | Printable)

Key: JAMES-264
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Hontvari Jozsef
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JAMES Server

mail list loop caused by using Return-Path

Created: 20/Apr/04 09:22 AM   Updated: 21/Nov/07 08:31 AM
Return to search
Component/s: James Core, SMTPServer
Affects Version/s: None
Fix Version/s: 2.3.0

Time Tracking:
Not Specified

Issue Links:
Reference
 

Resolution Date: 19/Aug/04 12:53 AM


 Description  « Hide
Related email thread:
http://nagoya.apache.org/eyebrowse/ReadMsg?listName=james-dev@jakarta.apache.org&msgNo=11183

Email lists managed by the current list mailets may cause a mail loop seriously affecting all list members.

The reason is that the Return-Path header is not used according to its specification and in addition it is used inconsistently. In some cases it is used to determine the reverse path instead of using the reverse path stored along the email in the Mail class.

The correct solution would be to eliminate the dependency on the Return-Path header. E.g. it should not be used to determine the reverse path, the smtp server should not add this header, but either LocalDelivery or a specific mailstore should.)

I have a quick workaround which prevents the mail loop in the first email, the source code is in the first email of the above thread.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #109184 Thu Aug 19 00:45:16 UTC 2004 noel Change to remove improper use of Return-Path header and support proper RFC 2821 reverse path handling. Should also fix JAMES-264.
Files Changed
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/transport/mailets/DSNBounce.java
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/transport/mailets/AbstractRedirect.java
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/transport/mailets/LocalDelivery.java
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/transport/mailets/Bounce.java
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/James.java
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/smtpserver/SMTPHandler.java

Repository Revision Date User Message
ASF #109187 Fri Aug 20 03:48:15 UTC 2004 noel Additional adjustments to fix JAMES-264. InternetHeaders is an awkward class to work with due its own internal handling of header order. This change takes advantage of how InternetHeaders works, pre-placing a null placeholder for a possible Return-Path header so that when setHeader is called, it will use that placeholder, and remove any other Return-Path headers. It also ensures that there are no other placeholders, providing a bit more control as we manipulate the Delivered-To headers (and possibly other headers that JavaMail may want to change internally, such as Message-ID, Date and Mime-Version).
Files Changed
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/core/MimeMessageWrapper.java
MODIFY /james/server/branches/branch_2_1_fcs/src/java/org/apache/james/transport/mailets/LocalDelivery.java

Repository Revision Date User Message
ASF #423509 Wed Jul 19 16:05:41 UTC 2006 bago Correct (I hope) handling for the Return-Path header (JAMES-570, also related to JAMES-264)
Files Changed
ADD /james/server/trunk/src/test/org/apache/james/core/MailHeadersTest.java
MODIFY /james/server/trunk/src/test/org/apache/james/core/MimeMessageFromStreamTest.java
MODIFY /james/server/trunk/src/java/org/apache/james/core/MailHeaders.java
MODIFY /james/server/trunk/src/test/org/apache/james/core/MimeMessageWrapperTest.java
MODIFY /james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java
MODIFY /james/server/trunk/src/test/org/apache/james/core/MimeMessageTest.java

Repository Revision Date User Message
ASF #423582 Wed Jul 19 20:09:29 UTC 2006 norman Backport fix for JAMES-570 ( also related to JAMES-264)
Files Changed
MODIFY /james/server/branches/v2.3/src/java/org/apache/james/core/MimeMessageWrapper.java
MODIFY /james/server/branches/v2.3/src/java/org/apache/james/core/MailHeaders.java
MODIFY /james/server/branches/v2.3/src/test/org/apache/james/core/MimeMessageTest.java
MODIFY /james/server/branches/v2.3/src/test/org/apache/james/core/MimeMessageWrapperTest.java
ADD /james/server/branches/v2.3/src/test/org/apache/james/core/MailHeadersTest.java (from /james/server/trunk/src/test/org/apache/james/core/MailHeadersTest.java)