[ https://issues.apache.org/jira/browse/JAMES-745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898616#action_12898616 ]
Stefano Bagnara commented on JAMES-745: --------------------------------------- I'm with Eric. Swithing to "*" and making all of the implementations to work the same way, documenting the backward incompatibility. When we break compatibility it's better to break a lot instead of introduce small and unexpected changes in behaviours (so I prefer to change the wildcard while we change the wildcard behaviour). > XMLVirtualUserTable and JDBCVirtualUserTable not work symetric > -------------------------------------------------------------- > > Key: JAMES-745 > URL: https://issues.apache.org/jira/browse/JAMES-745 > Project: JAMES Server > Issue Type: Bug > Affects Versions: 2.2.0, 2.3.0 > Reporter: Norman Maurer > Assignee: Eric Charles > Fix For: 3.0-M1 > > > from ml: > Looking at the virtualusertable query I see that if I only add the rule > user=bago > domain=% > target=b...@catchalldomain.com > It will never alias any recipient: neither b...@someremotedomain nor > b...@somelocaldomain. > If I instead add another generic mapping referring to the domain like: > user=nonexistinguser > domain=somedomain > target=nonexistingu...@somedomain > (yes, this does not change anything, but I need to add it to make the > previous work) > Then a message to b...@somedomain will be rewritten to b...@catchalldomain.com > This is the query: > -- > SELECT VirtualUserTable.target_address > FROM VirtualUserTable, VirtualUserTable as VUTDomains > WHERE > (VirtualUserTable.user like ? OR VirtualUserTable.user like '\%') > AND > (VirtualUserTable.domain like ? OR > (VirtualUserTable.domain like '\%' AND VUTDomains.domain like ?)) > ORDER BY > concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc > LIMIT 1 > --- > And the key/guilty part is the self-join and the "AND VUTDomains.domain like > ?" > This mean that domain=% will match any domain already used in another rule. > This is not documented anywhere and I also think this is not an intended > behaviour. > Was this hack used to try to alias only local domains? > Should we change it to consider % valid for any local domain (specified in > servernames) even if not used in other mapping rules and document it this way? > Do we need to introduce a new wildcard to specify ANY domain (even the non > local)? > On the other side the XMLVirtualUserTable seems to have not such behaviour > and to always rewrite any domain, even remote one or domains not used in > other mapping rules. > So what is the intended behaviour? I think that is really bad that XML and > JDBC behave differently wrt this issue. > My preference is: > 1) use the XML behaviour by default when using % > 2) optionally introduce later a new wildcart to match only local domains > (this can be already achieved by using HostIsLocal matcher for the virtual > users table. > This means: remove the self join and the where condition on VUTDomains from > JDBCVirtualUserTable. > WDYT? > Stefano -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org