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)