Re: [Exim] bug?

Página Principal
Apagar esta mensagem
Responder a esta mensagem
Autor: Philip Hazel
Data:  
Para: Alexey Promokhov
CC: exim-users
Assunto: Re: [Exim] bug?
On Fri, 15 Jun 2001, Alexey Promokhov wrote:

> I'm using Exim 3.20 under Linux.
>
> Here is the description of lookuphost router:
>
> lookuphost:
> driver = lookuphost
> transport = remote_smtp
> gethostbyname=false
> pass_on_timeout=false
> ignore_target_hosts=lsearch;/etc/exim/hosts-that-reject-dialups
> self=pass
>
> If target host have more than one MX, and all they are listed in
> /etc/exim/hosts-that-reject-dialups, Exim crashes with "Segmentation fault"
> message, both when doing real delivery and when testing with -bt option.


Thanks for the report, but you are too late!

This bug is fixed in the forthcoming 3.30 release, which I hope to
release on Monday. The ChangeLog reads:

2. If ignore_target_hosts caused all hosts found from MX records to be
discarded, and there was more than one of them, Exim crashed.

The bug can also be fixed by this patch for Exim 3.22:

*** exim-3.22/src/host.c    Fri Jan 19 09:32:08 2001
--- host.c    Tue Mar 13 12:48:58 2001
***************
*** 1660,1666 ****
            verify_check_this_host(&ignore_target_hosts, FALSE, h->name,
            CS da->address, NULL))
        {
!       DEBUG(8) debug_printf("ignored host %s [%s]\n", host->name, da->address);
        status = hstatus_unusable;
        why = hwhy_ignored;
        }
--- 1660,1666 ----
            verify_check_this_host(&ignore_target_hosts, FALSE, h->name,
            CS da->address, NULL))
        {
!       DEBUG(8) debug_printf("ignored host %s [%s]\n", h->name, da->address);
        status = hstatus_unusable;
        why = hwhy_ignored;
        }
***************
*** 1794,1799 ****
--- 1794,1800 ----
        {
        if (h != last)              /* First is not last, overwrite it */
          {
+         if (h->next == last) last = h;
          *h = *(h->next);          /* and reprocess it. */
          goto REDO;                /* C should have redo, like Perl */
          }



-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.