Re: Re[6]: [Exim] headers_* problem

Góra strony
Delete this message
Reply to this message
Autor: Philip Hazel
Data:  
Dla: Andrey Novikov
CC: exim-users
Temat: Re: Re[6]: [Exim] headers_* problem
On Wed, 18 Aug 1999, Andrey Novikov wrote:

> When I write for director
>
> headers_remove = "${if def:h_x-rbl-warning: {subject}fail}"
>
> I get:
>
> appendfile transport process returned non-zero status
> 0x000b: terminated by signal 11
>
> no matter condition succeeds or not...


I have found a bug which causes this when the condition fails. A small
patch for 3.03 is given below.

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



*** exim-3.03/src/direct.c  Mon Aug  2 16:43:04 1999
--- direct.c    Thu Aug 19 14:18:01 1999
***************
*** 315,323 ****
  direct_get_munge_headers(address_item *addr, director_instance *dblock,
    char *type, header_line **extra_headers, char **remove_headers)
  {
! if (dblock->extra_headers == NULL)
!   *extra_headers = addr->extra_headers;
! else
    {
    header_line *h;
    char *s = expand_string(dblock->extra_headers);
--- 315,325 ----
  direct_get_munge_headers(address_item *addr, director_instance *dblock,
    char *type, header_line **extra_headers, char **remove_headers)
  {
! /* Default is to retain existing headers */
! 
! *extra_headers = addr->extra_headers;
! 
! if (dblock->extra_headers != NULL)
    {
    header_line *h;
    char *s = expand_string(dblock->extra_headers);
***************
*** 357,365 ****
      }
    }


! if (dblock->remove_headers == NULL)
!   *remove_headers = addr->remove_headers;
! else
    {
    char *s = expand_string(dblock->remove_headers);
    if (s == NULL)
--- 359,369 ----
      }
    }


! /* Default is to retain existing removes */
! 
! *remove_headers = addr->remove_headers;
! 
! if (dblock->remove_headers != NULL)
    {
    char *s = expand_string(dblock->remove_headers);
    if (s == NULL)