Benoit Tellier created JAMES-3396:
-------------------------------------

             Summary: RRT loops (partial) avoidance!
                 Key: JAMES-3396
                 URL: https://issues.apache.org/jira/browse/JAMES-3396
             Project: James Server
          Issue Type: Bug
          Components: RRT
            Reporter: Benoit Tellier


# Why ?

On some production plateform, some users could not receive new mails.

Investigation prouved that it was due to loops (A => B => A)

# Definition of Done

{code:java}
Given a A => B mapping
As an admin
When I create a B => A mapping
Then the operation fails
{code}


Unit tests needs to be written at the RRT level, and at the webadmin routes 
level for each mapping type (Alias, address, forward, group) with heteronegeous 
/ homogeneous mappings being part of the loop. Domain mappings, Regex needs to 
be supported as part of theresolution mechanism.

However detecting loops upon domain mapping/alias & regex mapping creation is 
out of scope.

This validation and its limitations needs to be documented.

# How

{code:java}
Given a B => A mapping being created
Attempt the RRT resolution of the target of the mapping (here A)
If the result of the resolution contains the source of the mapping (here B) 
then we detected a loop and should fail
{code}

# Outcome

Creation of Address Alias Forward Group mappings is guaranteed to be loop free.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to