[EXIM] smartuser/frozen messages/dumb users

Top Page
Delete this message
Reply to this message
Author: Skye Merlin Poier
Date:  
To: exim-users
Subject: [EXIM] smartuser/frozen messages/dumb users
Hello,

I promised myself I wouldn't bother the list any more today but what the
heck, I'm on a roll :)

I noticed a *lot* of frozen messages since we changed to 1.80 from 1.70.

Here's what's happening:

Clients are doing things like the following, alarmingly often:

    220 jack.direct.ca ESMTP Exim 1.80 #2 Tue, 16 Dec 1997 16:47:01 -0800
    HELO fluke
    250 jack.direct.ca: Hello fluke.direct.ca [199.60.229.7]
    MAIL FROM: <spoier@???>
    250 <spoier@???> is syntactically correct
    RCPT TO: <"skye@???">
    250 <"skye@???"> is syntactically correct


Now, obviously <"skye@???"> isn't very well formed and there are
lots of variations on this theme that are cropping up, but this is a simple
example. They are getting accepted because I have:

    qualify_recipient = direct.ca
    receiver_unqualified_hosts = *


set in my configuration file. By running exim in debug mode, I realized
that its taking "skye@???" as the local part and sticking
@direct.ca on the end:

    directing "skye@???
    calling virtual_users director
    virtual_users director called for "skye@???
    search_open (1) /etc/exim/virtusertable.db
    search_find: file="/etc/exim/virtusertable.db" type=1 key="skye@???@direct.ca" partial=-1
    internal_search_find: file="/etc/exim/virtusertable.db" type=1 key="skye@???@direct.ca"
    file lookup required for skye@???@direct.ca in /etc/exim/virtusertable.db
    virtual_users director: error for skye@???
      message: <skye@???@direct.ca> - bad address generated by virtual_users director: extraneous characters at end of address


As you can see, all is fine and dandy until this address hits our custom
director, which looks up user@domain in a db file and maps it to an ugly
'detail number' which is the real user ID:

    virtual_users:
      driver = smartuser;
      new_address = ${lookup{${local_part}@${domain}}dbm{/etc/exim/virtusertable.db}{${value}}{${local_part}@${domain}}}


The bit at the end is important, that it returns the key if the lookup
fails, because not all users are in this table. But I digress.

Messages formed like this are getting frozen. Voila:

    Message 0xhkJl-0001yM-00 has been frozen. The sender is <saga@???>.


    The following address(es) have yet to be delivered:
    "zivis@???: <zivis@???@direct.ca> - bad
    address generated by virtual_users director: extraneous characters at
    end of address\n


Obviously, I'd like these messages to bounce rather than get frozen.

Any ideas? 1.70 rolled right over this, although I'm not sure what its
behaviour was.

Skye

-- 
Skye Poier: Network Operations, Canada Internet Direct   -   spoier@???
1050 - 555 W Hastings St, Vancouver, B.C., V6B 4N6       -     (604) 602-1800


--
*** Exim information can be found at http://www.exim.org/ ***