On 09/22/2010 04:53 PM, Alexander 'Leo' Bergolth wrote:
> On 09/22/2010 01:22 AM, Wietse Venema wrote:
>> Alexander 'Leo' Bergolth:
>>> On 09/21/2010 10:57 PM, Wietse Venema wrote:
>>>> Alexander 'Leo' Bergolth:
>>>>> Since yesterday I am experiencing big problems when delivering mail to
>>>>> an alias-list. (Yes, I have set up an owner-listname alias. :-))

I have done another test-run with the environment variable EMAIL_VERBOSE
set.

>From the result I compared my own .forward-expansion (user abergolth)
and the first .forward that loops (user lhock).

$ grep -n "^been_here: forward " maillog-abergolth.txt
122:been_here: forward /home/abergolth/.forward: 0
235:been_here: forward /home/abergolth/.forward: 1

$ grep -n "^been_here: forward " maillog-lhock.txt
122:been_here: forward /home/lhock/.forward: 0
235:been_here: forward /home/lhock/.forward: 0
348:been_here: forward /home/lhock/.forward: 0
[...]

So maybe the problem is here:
-------------------- 8< --------------------
    /*
     * Do the duplicate check.
     */
    if (htable_locate(dup_filter->table, lookup_key) != 0) {
        status = 1;
    } else {
        if (dup_filter->limit <= 0
            || dup_filter->limit > dup_filter->table->used)
            htable_enter(dup_filter->table, lookup_key, (char *) 0);
        status = 0;
    }
-------------------- 8< --------------------

Ah! The problem seems to be the duplicate_filter_limit!

I set it to 10000 and now everything works fine!

But maybe the default behavior when the dup_filter->limit is reached
should be to print out an error and abort instead of quietly not
inserting it and thus looping on the first .forward that contains an
entry for \username?

Cheers,
--leo
-- 
e-mail   ::: Leo.Bergolth (at) wu.ac.at
fax      ::: +43-1-31336-906050
location ::: IT-Services | Vienna University of Economics | Austria

Reply via email to