Re: [Exim] Re: case and alias problem

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Philip Hazel
Datum:  
To: Miquel van Smoorenburg
CC: exim-users
Betreff: Re: [Exim] Re: case and alias problem
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.