On Fri, 8 Feb 2002, Miquel van Smoorenburg wrote:
> >Exim 3 manual, section 24.1 explains this problem. Research the use of
> >check_ancestor.
>
> I already did that, and check_ancestor is set on my userforward
> director (which processes .forward files).
>
> The problem still is that check_ancestor is somehow casesensitive;
My apologies. I didn't notice the detail in your original message.
Note to self: Must read the Subject: lines more slowly...
> as I said, somealias@??? works just fine while
> SOMEalias@??? doesn't. It's not that it doesn't work
> at all, the weird thing is that it appears to be case sensitive.
Looking at the code, I see that indeed, the check_ancestor checking is
happening case-sensitively. In Exim 3, this should take note of
locally_caseless, which it doesn't.
If you want to hack the code, look at lines 77 onwards in the file
directors/df_generated.c, which read:
if (ob->check_ancestor)
{
for (parent = addr; parent != NULL; parent = parent->parent)
{
if (strcmp(next->orig, parent->orig) == 0)
{
DEBUG(2) debug_printf("generated parent replaced by child\n");
next->orig = string_copy(addr->orig);
break;
}
}
}
In the 5th line, change "strcmp" to "strcmpic". That will force
case-insensitivity.
The same bug exists in Exim 4. I will fix it before the real release
happens.
Thanks for the report.
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.