Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.3.1
-
None
-
None
-
Debian Etch. Java 1.6.0_10, 32bit.
Description
It's BLOCKER when someone needs to get server for Virtual Users (virtual mail accounts like in tutorial here: http://wiki.apache.org/james/VirtualUserTable )
Problem:
in file: JDBCVirtualUserTable.java
line: 150
should be:
query = getInitParameter("sqlquery","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");
instead of:
query = getInitParameter("sqlquery","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");
So.. there should be doubled
cause postgresql on select did not select wanted row correctly with default ".. LIKE '%' .." and there should be ".. LIKE '
%' .. " statement in query.
After adding this fix it works perfectly.