------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=615
           Summary: named localpartlist list caching problem with
                    local_part_suffix and local_part_prefix
           Product: Exim
           Version: 4.68
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: bug
          Priority: high
         Component: List matching
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [email protected]


There is a problem with the way Exim 4.68 handles caching of named
localpartlist lists, when used with the router options of
local_part_suffix and local_part_prefix.

Specifically, Exim will cache negative lookups (as it should), but then
improperly uses the previous cached negative lookup even when the key
changes as a result of local_part_suffix or local_part_prefix.

To easily reproduce the problem, use this complete config file in its
entirety and save it as "/tmp/testconfig":

#------------------------------------------------------------
qualify_domain = mydomain.com
localpartlist aliases = joe:sam:tom

begin routers

router1:
  driver = accept
  local_parts = +aliases
  condition = false
  transport = local_delivery

router2:
  driver = accept
  local_parts = +aliases
  local_part_suffix = -real
  transport = local_delivery

begin transports

local_delivery:
  driver = appendfile
  file = /tmp/${local_part}
#------------------------------------------------------------

Then, run the following command to test the router:

    /usr/lib/sendmail -bv -d+route -C/tmp/testconfig

Once prompted by Exim, enter a test address of:

    joe-real

The result you will receive will be:

    routing [EMAIL PROTECTED]
    --------> router1 router <--------
    local_part=joe-real domain=mydomain.com
    checking local_parts
    joe-real in "joe:sam:tom"? no (end of list)
    joe-real in "+aliases"? no (end of list)
    router1 router skipped: local_parts mismatch
    --------> router2 router <--------
    local_part=joe-real domain=mydomain.com
    stripped suffix -real
    checking local_parts
    cached no match for +aliases
    cached lookup data = NULL
**> joe in "+aliases"? no (end of list)
    router2 router skipped: local_parts mismatch
    no more routers
    [EMAIL PROTECTED] failed to verify: Unrouteable address

Note the line above that I have highlighted.  That is where the problem
lies, because "joe" is *in* the +aliases named list.  However, it's
using the cached negative lookup associated with the address, but failed
to recognize that the lookup key is different (i.e. "joe" instead of
the cached negative value for "joe-real").

This can cause definite problems for anyone using the prefix or suffix
options.


-- 
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to