Re: [EXIM] Spool format error problem.

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Philip Hazel
Date:  
À: Neil Clifford
CC: exim-users
Sujet: Re: [EXIM] Spool format error problem.
On Tue, 1 Sep 1998, Neil Clifford wrote:

> If I route mail to the exim relay from the alpha I keep getting
> corrupted files in the input spool area. But only the -host_name field
> is getting corrupted (different garbage appears there from time to
> time).


That is odd, and not something anybody else has seen.

> heading to a local LAN address then it delivers it fine (I assume that
> exim isn't bothering to write it to the spool if it can pick up the
> appropriate relay right away - this corruption only happens to mail
> destined for off site or temporarily unreachable addresses).


Your assumption is not right. Exim *always* writes an incoming message
to the spool. That is its definition of what receiving a message means.

> Anyone have any ideas? If you need more info just let me know.


It's strange that it is happening dependent on the outgoing address.

However, I think this may be a manifestation of a bug I discovered
while looking at the code for a different reason last week. The full fix
is a bit more complicated, but the small patch below (for 2.02) should
get rid of the problem for the moment. Please let me know if it does.

Philip

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



*** exim-2.02/src/host.c    Mon Aug  3 11:27:34 1998
--- host.c   Tue Sep  1 09:30:26 1998
***************
*** 947,953 ****
  /* Copy and lowercase the name */


s = (char *)hosts->h_name;
! t = yield = store_get((int)strlen(s) + 1);
while (*s != 0) *t++ = tolower(*s++);
*t = 0;
HDEBUG(2) debug_printf("host lookup yielded %s\n", yield);
--- 947,953 ----
/* Copy and lowercase the name */

s = (char *)hosts->h_name;
! t = yield = store_malloc((int)strlen(s) + 1);
while (*s != 0) *t++ = tolower(*s++);
*t = 0;
HDEBUG(2) debug_printf("host lookup yielded %s\n", yield);


--
*** Exim information can be found at http://www.exim.org/ ***