Your message dated Tue, 17 Jul 2007 02:57:37 +0300
with message-id <[EMAIL PROTECTED]>
and subject line Closing woody bugs
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: exim
Version: 3.32-2 & 3.31-1
Severity: critical

Arch: m68k
Kernel: 2.2.19 & 2.4.9
Libc6: 2.2.3-9 & 2.2.4-1

After installing either of the above versions of exim all mail fails to
get delivered. Running the queue by hand exhibits a signal 11 error.

I have tried various kernel and libc6 versions with no effect on the
outcome. I have now downgraded exim to version 3.12-10 which works fine
with all libc6 and kernel combinations.

Below is an strace and ltrace of the queue run and my exim.conf.

sparks:/tmp# mailq
 1m   343 15fUad-000057-00 <[EMAIL PROTECTED]>
          [EMAIL PROTECTED]

sparks:/tmp# runq
2001-09-08 00:01:07 queue run: process 348 crashed with signal 11 while 
delivering 15fUad-000057-00

sparks:/tmp# strace runq
execve("/usr/sbin/runq", ["runq"], [/* 28 vars */]) = 0
uname({sys="Linux", node="sparks", ...}) = 0
brk(0)                                  = 0x800638d0
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=020151000000, st_size=86298777882624, ...}) = 0
old_mmap(NULL, 20093, PROT_READ, MAP_PRIVATE, 3, 0) = 0xc0014000
close(3)                                = 0
open("/usr/lib/libident.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\16"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=36833639534592, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0011000
old_mmap(NULL, 15156, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc0019000
mprotect(0xc001b000, 6964, PROT_NONE)   = 0
old_mmap(0xc001b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xc001b000
close(3)                                = 0
open("/usr/lib/libpcre.so.3", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\r\240"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=128385162416128, ...}) = 0
old_mmap(NULL, 36352, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc001d000
mprotect(0xc0024000, 7680, PROT_NONE)   = 0
old_mmap(0xc0025000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x6000) = 0xc0025000
close(3)                                = 0
open("/lib/libnsl.so.1", O_RDONLY)      = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0R\10"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=281543696191488, ...}) = 0
old_mmap(NULL, 80788, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc0026000
mprotect(0xc0035000, 19348, PROT_NONE)  = 0
old_mmap(0xc0036000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xe000) = 0xc0036000
old_mmap(0xc0038000, 7060, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xc0038000
close(3)                                = 0
open("/lib/libcrypt.so.1", O_RDONLY)    = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\23"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=84834194034688, ...}) = 0
old_mmap(NULL, 186576, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc003a000
mprotect(0xc003f000, 166096, PROT_NONE) = 0
old_mmap(0xc0040000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x4000) = 0xc0040000
old_mmap(0xc0041000, 157904, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xc0041000
close(3)                                = 0
open("/lib/libpam.so.0", O_RDONLY)      = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\36"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=118266219466752, ...}) = 0
old_mmap(NULL, 34636, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc0068000
mprotect(0xc006f000, 5964, PROT_NONE)   = 0
old_mmap(0xc0070000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x6000) = 0xc0070000
close(3)                                = 0
open("/lib/libdb2.so.2", O_RDONLY)      = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0|\344"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=1036839464996864, ...}) = 0
old_mmap(NULL, 248608, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc0071000
mprotect(0xc00ab000, 11040, PROT_NONE)  = 0
old_mmap(0xc00ab000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x38000) = 0xc00ab000
close(3)                                = 0
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0006"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=214301688205312, ...}) = 0
old_mmap(NULL, 66616, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc00ae000
mprotect(0xc00ba000, 17464, PROT_NONE)  = 0
old_mmap(0xc00ba000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xa000) = 0xc00ba000
old_mmap(0xc00bc000, 9272, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xc00bc000
close(3)                                = 0
open("/usr/lib/libldap.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\221"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=625158259740672, ...}) = 0
old_mmap(NULL, 152656, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc00bf000
mprotect(0xc00e1000, 13392, PROT_NONE)  = 0
old_mmap(0xc00e1000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x20000) = 0xc00e1000
close(3)                                = 0
open("/usr/lib/liblber.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0(\210"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=159412006162432, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc00e5000
old_mmap(NULL, 44216, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc00e6000
mprotect(0xc00ef000, 7352, PROT_NONE)   = 0
old_mmap(0xc00f0000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x8000) = 0xc00f0000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\2^\254"..., 1024) = 
1024
fstat64(3, {st_mode=020173200000, st_size=4140211034394624, ...}) = 0
old_mmap(NULL, 982684, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc00f1000
mprotect(0xc01d5000, 48796, PROT_NONE)  = 0
old_mmap(0xc01d5000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xe2000) = 0xc01d5000
old_mmap(0xc01de000, 11932, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xc01de000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\35"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=41970420420608, ...}) = 0
old_mmap(NULL, 16744, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc01e1000
mprotect(0xc01e3000, 8552, PROT_NONE)   = 0
old_mmap(0xc01e3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) 
= 0xc01e3000
close(3)                                = 0
open("/usr/lib/libsasl.so.7", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0*X\0"..., 1024) = 
1024
fstat64(3, {st_mode=020151000000, st_size=162796440391680, ...}) = 0
old_mmap(NULL, 45040, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xc01e6000
mprotect(0xc01ef000, 8176, PROT_NONE)   = 0
old_mmap(0xc01f0000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x8000) = 0xc01f0000
close(3)                                = 0
munmap(0xc0014000, 20093)               = 0
brk(0)                                  = 0x800638d0
brk(0x800658e8)                         = 0x800658e8
brk(0x80066000)                         = 0x80066000
fstat64(2, {st_mode=04144000000, st_size=1024, ...}) = 0
brk(0x80068000)                         = 0x80068000
getpid()                                = 351
rt_sigaction(SIGUSR1, {0x80011ca0, [], SA_RESTART}, NULL, 8) = 0
rt_sigaction(SIGHUP, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
umask(0)                                = 022
geteuid32()                             = 0
getuid32()                              = 0
getgid32()                              = 0
setresuid32(0xffffffff, 0, 0xffffffff)  = 0
setregid32(0xffffffff, 0)               = 0
getgroups32(0x20, 0xeffff970)           = 1
setgroups32(0, 0)                       = 0
getegid32()                             = 0
geteuid32()                             = 0
setgid32(0)                             = 0
setuid32(0)                             = 0
open("/etc/exim/exim.conf", O_RDONLY)   = 3
fstat64(3, {st_mode=020151000000, st_size=63050119909376, ...}) = 0
fstat64(3, {st_mode=020151000000, st_size=63050119909376, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0014000
read(3, "# This is the main exim configur"..., 4096) = 4096
brk(0x8006b000)                         = 0x8006b000
socket(PF_UNIX, SOCK_STREAM, 0)         = 4
connect(4, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 4
fstat64(4, {st_mode=020151000000, st_size=1997159796736, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=020151000000, st_size=86298777882624, ...}) = 0
old_mmap(NULL, 20093, PROT_READ, MAP_PRIVATE, 4, 0) = 0xc01f1000
close(4)                                = 0
open("/lib/libnss_compat.so.2", O_RDONLY) = 4
read(4, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0! \0"..., 1024) = 
1024
fstat64(4, {st_mode=020151000000, st_size=157195803037696, ...}) = 0
old_mmap(NULL, 43680, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xc01f6000
mprotect(0xc01ff000, 6816, PROT_NONE)   = 0
old_mmap(0xc0200000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0x8000) = 0xc0200000
close(4)                                = 0
munmap(0xc01f1000, 20093)               = 0
uname({sys="Linux", node="sparks", ...}) = 0
open("/etc/passwd", O_RDONLY)           = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat64(4, {st_mode=020151000000, st_size=5746666246144, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
_llseek(4, 0, [0], SEEK_CUR)            = 0
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 1338
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
read(3, "dress is blacklisted in the RBL "..., 4096) = 4096
open("/etc/passwd", O_RDONLY)           = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat64(4, {st_mode=020151000000, st_size=5746666246144, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
_llseek(4, 0, [0], SEEK_CUR)            = 0
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 1338
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
uname({sys="Linux", node="sparks", ...}) = 0
gettimeofday({999903680, 509173}, NULL) = 0
getpid()                                = 351
open("/etc/resolv.conf", O_RDONLY)      = 4
fstat64(4, {st_mode=020151000000, st_size=167503728640, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
read(4, "search localnet\nnameserver 192.1"..., 4096) = 39
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 4
connect(4, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=020151000000, st_size=86298777882624, ...}) = 0
old_mmap(NULL, 20093, PROT_READ, MAP_PRIVATE, 4, 0) = 0xc01f1000
close(4)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0(\214"..., 1024) = 
1024
fstat64(4, {st_mode=020151000000, st_size=134587095191552, ...}) = 0
old_mmap(NULL, 38756, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xc0201000
mprotect(0xc0209000, 5988, PROT_NONE)   = 0
old_mmap(0xc0209000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0x6000) = 0xc0209000
close(4)                                = 0
munmap(0xc01f1000, 20093)               = 0
open("/etc/host.conf", O_RDONLY)        = 4
fstat64(4, {st_mode=020151000000, st_size=111669153792, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
read(4, "order hosts,bind\nmulti on\n", 4096) = 26
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
open("/etc/hosts", O_RDONLY)            = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat64(4, {st_mode=020151000000, st_size=90194317312, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
read(4, "127.0.0.1\t\tlocalhost\n", 4096) = 21
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=020151000000, st_size=86298777882624, ...}) = 0
old_mmap(NULL, 20093, PROT_READ, MAP_PRIVATE, 4, 0) = 0xc01f1000
close(4)                                = 0
open("/lib/libnss_dns.so.2", O_RDONLY)  = 4
read(4, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\4\0\0\0\1\0\0\20"..., 1024) = 
1024
fstat64(4, {st_mode=020151000000, st_size=48361331757056, ...}) = 0
old_mmap(NULL, 18204, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xc020b000
mprotect(0xc020e000, 5916, PROT_NONE)   = 0
old_mmap(0xc020f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 
0x2000) = 0xc020f000
close(4)                                = 0
munmap(0xc01f1000, 20093)               = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sin_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.5")}}, 28) = 0
send(4, "\224k\1\0\0\1\0\0\0\0\0\0\6sparks\10localnet\0\0\34\0"..., 33, 0) = 33
gettimeofday({999903680, 745732}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(4, "\224k\205\200\0\1\0\0\0\1\0\0\6sparks\10localnet\0\0\34"..., 1024, 
0, {sin_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.5")}}, [16]) = 102
close(4)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sin_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.5")}}, 28) = 0
send(4, "\224l\1\0\0\1\0\0\0\0\0\0\6sparks\0\0\34\0\1", 24, 0) = 24
gettimeofday({999903680, 786354}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(4, "\224l\201\203\0\1\0\0\0\1\0\0\6sparks\0\0\34\0\1\0\0\6"..., 1024, 
0, {sin_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.5")}}, [16]) = 100
close(4)                                = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 4
connect(4, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(4)                                = 0
open("/etc/hosts", O_RDONLY)            = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat64(4, {st_mode=020151000000, st_size=90194317312, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
read(4, "127.0.0.1\t\tlocalhost\n", 4096) = 21
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sin_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.5")}}, 28) = 0
send(4, "\224m\1\0\0\1\0\0\0\0\0\0\6sparks\10localnet\0\0\1\0"..., 33, 0) = 33
gettimeofday({999903680, 866220}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(4, "\224m\205\200\0\1\0\1\0\1\0\1\6sparks\10localnet\0\0\1"..., 1024, 
0, {sin_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.5")}}, [16]) = 84
close(4)                                = 0
socket(PF_INET6, SOCK_DGRAM, 0)         = -1 ENOSYS (Function not implemented)
waitpid(352, NULL, __WCLONE)            = 352
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
ioctl(4, 0x8912, 0xefffcfa8)            = 0
ioctl(4, 0x8913, 0xefffeef0)            = 0
ioctl(4, 0x8913, 0xefffeef0)            = 0
close(4)                                = 0
open("/proc/net/if_inet6", O_RDONLY)    = -1 ENOENT (No such file or directory)
chdir("/var/spool/exim")                = 0
setregid32(0xffffffff, 0x8)             = 0
setresuid32(0xffffffff, 0x8, 0xffffffff) = 0
open("/etc/group", O_RDONLY)            = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat64(4, {st_mode=020151000000, st_size=2323577311232, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0016000
_llseek(4, 0, [0], SEEK_CUR)            = 0
read(4, "root:x:0:\ndaemon:x:1:\nbin:x:2:\ns"..., 4096) = 541
close(4)                                = 0
munmap(0xc0016000, 8192)                = 0
read(3, "ddress_pipe_transport\" option if"..., 4096) = 4096
read(3, "le = .forward\n  modemask = 002\n "..., 4096) = 2392
read(3, "", 4096)                       = 0
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xc0014000, 8192)                = 0
getpid()                                = 351
getpid()                                = 351
time(NULL)                              = 999903681
open("/etc/localtime", O_RDONLY)        = 3
fstat64(3, {st_mode=020151000000, st_size=5682241736704, ...}) = 0
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xc0014000
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\7\0"..., 4096) = 
1323
close(3)                                = 0
munmap(0xc0014000, 8192)                = 0
open("/var/log/exim/mainlog", O_WRONLY|O_APPEND) = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fstat64(3, {st_mode=020150000000, st_size=19731079761920, ...}) = 0
write(3, "2001-09-08 00:01:21 Start queue "..., 45) = 45
time(NULL)                              = 999903681
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a 
directory)
open("/var/spool/exim/input", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fstat64(4, {st_mode=010172000000, st_size=211106232537088, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
brk(0x8006d000)                         = 0x8006d000
getdents64(0x4, 0x8006ace0, 0x1000, 0x2) = 168
getdents64(0x4, 0x8006ace0, 0x1000, 0x2) = 0
close(4)                                = 0
stat64("/var/spool/exim/input//15fUad-000057-00-H", {st_mode=020140000000, 
st_size=2499670970368, ...}) = 0
pipe([4, 5])                            = 0
getpid()                                = 351
fork()                                  = 353
close(5)                                = 0
getpid()                                = 351
wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], 0, NULL) = 353
--- SIGCHLD (Child exited) ---
time(NULL)                              = 999903681
stat64("/var/log/exim/mainlog", {st_mode=020150000000, st_size=19924353290240, 
...}) = 0
write(3, "2001-09-08 00:01:21 queue run: p"..., 100) = 100
write(2, "2001-09-08 00:01:21 queue run: p"..., 1002001-09-08 00:01:21 queue 
run: process 353 crashed with signal 11 while delivering 15fUad-000057-00
) = 100
open("/var/log/exim/paniclog", O_WRONLY|O_APPEND) = 5
fcntl(5, F_GETFD)                       = 0
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
write(5, "2001-09-08 00:01:21 queue run: p"..., 100) = 100
close(5)                                = 0
getpid()                                = 351
read(4, "", 256)                        = 0
close(4)                                = 0
getpid()                                = 351
time(NULL)                              = 999903681
stat64("/var/log/exim/mainlog", {st_mode=020150000000, st_size=20353850019840, 
...}) = 0
write(3, "2001-09-08 00:01:21 End queue ru"..., 43) = 43
_exit(0)                                = ?

sparks:/tmp# ltrace runq

...

strncmp("*           F,2h,15m; G,16h,2h,1"..., "*", 1) = 0
sscanf(0x80065905, 0x8005049a, 0xeffff23c, 0xeffff240, 0) = 1
sscanf(0x80065908, 0x8005049a, 0xeffff23c, 0xeffff240, 0) = 1
sscanf(0x8006590f, 0x8005049a, 0xeffff23c, 0xeffff240, 0) = 1
sscanf(0x80065913, 0x8005049a, 0xeffff23c, 0xeffff240, 0) = 1
sscanf(0x80065916, 0x8005049a, 0xeffff234, 0xeffff238, 1) = 1
sscanf(0x8006591d, 0x8005049a, 0xeffff23c, 0xeffff240, 0) = 1
sscanf(0x80065920, 0x8005049a, 0xeffff23c, 0xeffff240, 0) = 1
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("end\n", 4095, 0x800669d8)                  = 0x800658e0
strlen("end\n")                                   = 4
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("################################"..., 4095, 0x800669d8) = 0x800658e0
strlen("################################"...)     = 71
fgets("#                      REWRITE C"..., 4095, 0x800669d8) = 0x800658e0
strlen("#                      REWRITE C"...)     = 71
fgets("################################"..., 4095, 0x800669d8) = 0x800658e0
strlen("################################"...)     = 71
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("# These rewriters make sure the "..., 4095, 0x800669d8) = 0x800658e0
strlen("# These rewriters make sure the "...)     = 72
fgets("# from the real mail-reading hos"..., 4095, 0x800669d8) = 0x800658e0
strlen("# from the real mail-reading hos"...)     = 35
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("^(?i)(root|postmaster|mailer-dae"..., 4095, 0x800669d8) = 0x800658e0
strlen("^(?i)(root|postmaster|mailer-dae"...)     = 71
strncpy(0x80067dc8, "^(?i)(root|postmaster|mailer-dae"..., 52) = 0x80067dc8
strncpy(0x80067e00, "[EMAIL PROTECTED]", 13)          = 0x80067e00
fgets("[EMAIL PROTECTED] [EMAIL PROTECTED]"..., 4095, 0x800669d8) = 0x800658e0
strlen("[EMAIL PROTECTED] [EMAIL PROTECTED]"...)     = 41
strncpy(0x80067e20, "[EMAIL PROTECTED]", 17)      = 0x80067e20
strchr("[EMAIL PROTECTED]", ';')                  = NULL
strchr("[EMAIL PROTECTED]", '@')                  = "@sparks.localnet"
strncpy(0x80067e38, "[EMAIL PROTECTED]", 18)     = 0x80067e38
fgets("[EMAIL PROTECTED] [EMAIL PROTECTED] Ff"..., 4095, 0x800669d8) = 
0x800658e0
strlen("[EMAIL PROTECTED] [EMAIL PROTECTED] Ff"...)     = 34
strncpy(0x80067e60, "[EMAIL PROTECTED]", 10)             = 0x80067e60
strchr("[EMAIL PROTECTED]", ';')                         = NULL
strchr("[EMAIL PROTECTED]", '@')                         = "@in.limbo"
strncpy(0x80067e70, "[EMAIL PROTECTED]", 18)     = 0x80067e70
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("# This is an example of a useful"..., 4095, 0x800669d8) = 0x800658e0
strlen("# This is an example of a useful"...)     = 71
fgets("# address of all local users in "..., 4095, 0x800669d8) = 0x800658e0
strlen("# address of all local users in "...)     = 39
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("# [EMAIL PROTECTED]    $"..., 4095, 0x800669d8) = 0x800658e0
strlen("# [EMAIL PROTECTED]    $"...)     = 74
fgets("#\t\t\t\t\t\t{$value}fail} bcfrF\n", 4095, 0x800669d8) = 0x800658e0
strlen("#\t\t\t\t\t\t{$value}fail} bcfrF\n")      = 27
fgets("\n", 4095, 0x800669d8)                     = 0x800658e0
strlen("\n")                                      = 1
fgets("# End of Exim configuration file"..., 4095, 0x800669d8) = 0x800658e0
strlen("# End of Exim configuration file"...)     = 33
fgets("# End of Exim configuration file"..., 4095, 0x800669d8) = NULL
fgets("# End of Exim configuration file"..., 4095, 0x800669d8) = NULL
fclose(0x800669d8)                                = 0
strchr("postmaster", '@')                         = NULL
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("postmaster")                              = 10
sprintf("postmaster", "%*.*s", 10, 10, "postmaster") = 10
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("deadleg.freeserve.co.uk")                 = 23
sprintf("deadleg.freeserve.co.uk", "%*.*s", 23, 23, "deadleg.freeserve.co.uk") 
= 23
strlen("[EMAIL PROTECTED]"...)     = 34
strcpy(0x80067e88, "[EMAIL PROTECTED]"...) = 0x80067e88
getpid()                                          = 356
sprintf("  356 ", "%5d ", 356)                    = 6
strlen("  356 ")                                  = 6
getpid()                                          = 356
sprintf("pid=356", "pid=%d", 356)                 = 7
strlen("pid=356")                                 = 7
strcpy(0x80067eb0, "pid=356")                     = 0x80067eb0
strcmp("/var/log/exim/%slog", "syslog")           = -68
strlen("/var/log/exim/%slog")                     = 19
malloc(20)                                        = 0x800669d8
strcpy(0x800669d8, "/var/log/exim/%slog")         = 0x800669d8
time(NULL)                                        = 999903749
localtime(0xefffefb8)                             = 0xc01e06c0
sprintf("2001-09-08 00:02:29", "%04d-%02d-%02d %02d:%02d:%02d", 2001, 9, 8, 0, 
2, 29) = 19
sprintf("2001-09-08 00:02:29 ", "%s ", "2001-09-08 00:02:29") = 20
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("pid=356")                                 = 7
sprintf("pid=356", "%*.*s", 7, 7, "pid=356")      = 7
sprintf("\n", "\n")                               = 1
strcmp("main", "process")                         = -3
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("main")                                    = 4
sprintf("main", "%*.*s", 4, 4, "main")            = 4
strcmp("main", "main")                            = 0
strcpy(0x800631a4, "/var/log/exim/mainlog")       = 0x800631a4
open("/var/log/exim/mainlog", 1025, 0640)         = 3
fcntl(3, 1, 8171, 0xeffff098, 0x8003153e)         = 0
fcntl(3, 2, 1, 3, 1)                              = 0
__fxstat(3, 3, 0xeffff030)                        = 0
write(3, "2001-09-08 00:02:29 Start queue "..., 45) = 45
time(NULL)                                        = 999903749
sprintf("/var/spool/exim/input", "%s/input", "/var/spool/exim") = 21
strlen("/var/spool/exim/input")                   = 21
opendir("/var/spool/exim/input")                  = 0x8006acb0
readdir(0x8006acb0)                               = 0x8006ace0
strlen(".")                                       = 1
readdir(0x8006acb0)                               = 0x8006acf0
strlen("..")                                      = 2
readdir(0x8006acb0)                               = 0x8006ad00
strlen("15fUad-000057-00-D")                      = 18
readdir(0x8006acb0)                               = 0x8006ad20
strlen("15fUad-000057-00-H")                      = 18
strlen("15fUad-000057-00-H")                      = 18
strcpy(0x80067ebd, "15fUad-000057-00-H")          = 0x80067ebd
readdir(0x8006acb0)                               = 0x8006ad40
strlen("15fUad-000057-00-J")                      = 18
readdir(0x8006acb0)                               = NULL
closedir(0x8006acb0)                              = 0
sprintf("/var/spool/exim/input//15fUad-00"..., "%s/input/%s/%s", 
"/var/spool/exim", "", "15fUad-000057-00-H") = 41
__xstat(3, "/var/spool/exim/input//15fUad-00"..., 0xeffff1f8) = 0
pipe(0xeffff0e4, 0xeffff970, 7, 0x80002d4c, 0x8002205c) = 0
getpid()                                          = 356
sprintf("  356 ", "%5d ", 356)                    = 6
strlen("  356 ")                                  = 6
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("15fUad-000057-00-H")                      = 18
sprintf("15fUad-000057-00-H", "%*.*s", 18, 18, "15fUad-000057-00-H") = 18
fork()                                            = 358
close(5)                                          = 0
getpid()                                          = 356
sprintf("  356 ", "%5d ", 356)                    = 6
strlen("  356 ")                                  = 6
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("15fUad-000057-00")                        = 16
sprintf("15fUad-000057-00", "%*.*s", 16, 16, "15fUad-000057-00") = 16
strchr("-+ #0", 'd')                              = NULL
strchr("hlL", 'd')                                = NULL
strncpy(0xeffff048, "%d", 2)                      = 0xeffff048
sprintf("358", "%d", 358)                         = 3
wait(0xeffff0e0, 0xeffff970, 7, 0x80002d4c, 0x8002205c <unfinished ...>
--- SIGCHLD (Child exited) ---
<... wait resumed> )                              = 358
time(NULL)                                        = 999903750
localtime(0xefffefb4)                             = 0xc01e06c0
sprintf("2001-09-08 00:02:30", "%04d-%02d-%02d %02d:%02d:%02d", 2001, 9, 8, 0, 
2, 30) = 19
sprintf("2001-09-08 00:02:30 ", "%s ", "2001-09-08 00:02:30") = 20
strchr("-+ #0", 'd')                              = NULL
strchr("hlL", 'd')                                = NULL
strncpy(0xefffefc8, "%d", 2)                      = 0xefffefc8
sprintf("358", "%d", 358)                         = 3
strchr("-+ #0", 'd')                              = NULL
strchr("hlL", 'd')                                = NULL
strncpy(0xefffefc8, "%d", 2)                      = 0xefffefc8
sprintf("11", "%d", 11)                           = 2
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("15fUad-000057-00")                        = 16
sprintf("15fUad-000057-00", "%*.*s", 16, 16, "15fUad-000057-00") = 16
sprintf("\n", "\n")                               = 1
__xstat(3, "/var/log/exim/mainlog", 0xeffff02c)   = 0
write(3, "2001-09-08 00:02:30 queue run: p"..., 100) = 100
fprintf(0xc01d814c, "%s", "2001-09-08 00:02:30 queue run: p"...2001-09-08 
00:02:30 queue run: process 358 crashed with signal 11 while delivering 
15fUad-000057-00
) = 100
strcmp("panic", "process")                        = -17
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("panic")                                   = 5
sprintf("panic", "%*.*s", 5, 5, "panic")          = 5
strcmp("panic", "main")                           = 3
open("/var/log/exim/paniclog", 1025, 0640)        = 5
fcntl(5, 1, 100, 0xeffff094, 0xeffff0e0)          = 0
fcntl(5, 2, 1, 5, 1)                              = 0
write(5, "2001-09-08 00:02:30 queue run: p"..., 100) = 100
close(5)                                          = 0
getpid()                                          = 356
sprintf("  356 ", "%5d ", 356)                    = 6
strlen("  356 ")                                  = 6
strchr("-+ #0", 'd')                              = NULL
strchr("hlL", 'd')                                = NULL
strncpy(0xeffff050, "%d", 2)                      = 0xeffff050
sprintf("358", "%d", 358)                         = 3
read(4, "", 256)                                  = 0
close(4)                                          = 0
getpid()                                          = 356
sprintf("  356 ", "%5d ", 356)                    = 6
strlen("  356 ")                                  = 6
time(NULL)                                        = 999903751
localtime(0xefffefbc)                             = 0xc01e06c0
sprintf("2001-09-08 00:02:31", "%04d-%02d-%02d %02d:%02d:%02d", 2001, 9, 8, 0, 
2, 31) = 19
sprintf("2001-09-08 00:02:31 ", "%s ", "2001-09-08 00:02:31") = 20
strchr("-+ #0", 's')                              = NULL
strchr("hlL", 's')                                = NULL
strlen("pid=356")                                 = 7
sprintf("pid=356", "%*.*s", 7, 7, "pid=356")      = 7
sprintf("\n", "\n")                               = 1
__xstat(3, "/var/log/exim/mainlog", 0xeffff034)   = 0
write(3, "2001-09-08 00:02:31 End queue ru"..., 43) = 43
exit(0 <unfinished ...>
__deregister_frame_info(0x800618dc, 0, 0xeffff26c, 0x80044b7e, 0xeffff288) = 
0x80061d1c
+++ exited (status 0) +++

sparks:/tmp# cat /etc/exim/exim.conf 
# This is the main exim configuration file.
# It was originally generated by `eximconfig', part of the exim package
# distributed with Debian, but it may edited by the mail system administrator.
# This file originally generated by eximconfig at Tue Nov  2 21:33:55 GMT 1999
# See exim info section for details of the things that can be configured here.

# Please see the manual for a complete list
# of all the runtime configuration options that can be included in a
# configuration file.

# This file is divided into several parts, all but the last of which are
# terminated by a line containing the word "end". The parts must appear
# in the correct order, and all must be present (even if some of them are
# in fact empty). Blank lines, and lines starting with # are ignored.

######################################################################
#                    MAIN CONFIGURATION SETTINGS                     #
######################################################################

# Specify the domain you want to be added to all unqualified addresses
# here. Unqualified addresses are accepted only from local callers by
# default. See the receiver_unqualified_{hosts,nets} options if you want
# to permit unqualified addresses from remote sources. If this option is
# not set, the primary_hostname value is used for qualification.

qualify_domain = deadleg.freeserve.co.uk

# The receiver_unqualified_hosts option lists those hosts from which Exim
# is prepared to accept unqualified receiver addresses. The addresses are made
# fully qualified by the addition of the qualify_recipient value. Typically the
# hosts are local ones, but if you want to imitate the behaviour of mailers that
# accept unqualified addresses from anywhere, specify
#
#  receiver_unqualified_hosts = *

receiver_unqualified_hosts = "192.168.1.0/24"

# If you want unqualified recipient addresses to be qualified with a different
# domain to unqualified sender addresses, specify the recipient domain here.
# If this option is not set, the qualify_domain value is used.

# qualify_recipient =

# Specify your local domains as a colon-separated list here. If this option
# is not set (i.e. not mentioned in the configuration file), the
# qualify_recipient value is used as the only local domain. If you do not want
# to do any local deliveries, uncomment the following line, but do not supply
# any data for it. This sets local_domains to an empty string, which is not
# the same as not mentioning it at all. An empty string specifies that there
# are no local domains; not setting it at all causes the default value (the
# setting of qualify_recipient) to be used.

local_domains = localhost:deadleg.freeserve.co.uk:localnet

# Allow mail addressed to our hostname, or to our IP address.

local_domains_include_host = true
local_domains_include_host_literals = true

# Domains we relay for; that is domains that aren't considered local but we 
# accept mail for them.

#relay_domains = 

# If this is uncommented, we accept and relay mail for all domains we are 
# in the DNS as an MX for.

#relay_domains_include_local_mx = true

# No local deliveries will ever be run under the uids of these users (a colon-
# separated list). An attempt to do so gets changed so that it runs under the
# uid of "nobody" instead. This is a paranoic safety catch. Note the default
# setting means you cannot deliver mail addressed to root as if it were a
# normal user. This isn't usually a problem, as most sites have an alias for
# root that redirects such mail to a human administrator.

never_users = root

# The setting below causes Exim to do a reverse DNS lookup on all incoming
# IP calls, in order to get the true host name. If you feel this is too
# expensive, you can specify the networks for which a lookup is done, or
# remove the setting entirely.

host_lookup = *

# Exim contains support for the Realtime Blocking List (RBL) that is being 
# maintained as part of the DNS. See http://maps.vix.com/rbl/ for background.
# Uncommenting the following line will make Exim reject mail from any
# host whose IP address is blacklisted in the RBL at maps.vix.com.

#rbl_domains = rbl.maps.vix.com
#rbl_reject_recipients = false
#rbl_warn_header = true

# The setting below allows your host to be used as a mail relay only by
# localhost: it locks out the use of your host as a mail relay by any
# other host. See the section of the manual entitled "Control of relaying" 
# for more info.

host_accept_relay = localhost

# If you want Exim to support the "percent hack" for all your local domains,
# uncomment the following line. This is the feature by which mail addressed
# to [EMAIL PROTECTED] (where z is one of your local domains) is locally 
rerouted to
# [EMAIL PROTECTED] and sent on. Otherwise x%y is treated as an ordinary local 
part

# percent_hack_domains=*

# If this option is set, then any process that is running as one of the
# listed users may pass a message to Exim and specify the sender's
# address using the "-f" command line option, without Exim's adding a
# "Sender" header.

trusted_users = mail

# If this option is true, the SMTP command VRFY is supported on incoming
# SMTP connections; otherwise it is not.

smtp_verify = false

# Some operating systems use the "gecos" field in the system password file
# to hold other information in addition to users' real names. Exim looks up
# this field when it is creating "sender" and "from" headers. If these options
# are set, exim uses "gecos_pattern" to parse the gecos field, and then
# expands "gecos_name" as the user's name. $1 etc refer to sub-fields matched
# by the pattern.

gecos_pattern = ^([^,:]*)
gecos_name = $1

# This sets the maximum number of messages that will be accepted in one
# connection. The default is 10, which is probably enough for most purposes,
# but is too low on dialup SMTP systems, which often have many more mails
# queued for them when they connect.

smtp_accept_queue_per_connection = 100

# Send a mail to the postmaster when a message is frozen. There are many
# reasons this could happen; one is if exim cannot deliver a mail with no
# return address (normally a bounce) another that may be common on dialup
# systems is if a DNS lookup of a smarthost fails. Read the documentation
# for more details: you might like to look at the auto_thaw option

freeze_tell_mailmaster = true

# This string defines the contents of the \`Received' message header that
# is added to each message, except for the timestamp, which is automatically
# added on at the end, preceded by a semicolon. The string is expanded each
# time it is used.

received_header_text = "Received: \
         ${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}\
         {${if def:sender_ident {from ${sender_ident} }}\
         ${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}\
         by ${primary_hostname} \
         ${if def:received_protocol {with ${received_protocol}}} \
         (Exim ${version_number} #${compile_number} (Debian))\n\t\
         id ${message_id}\
         ${if def:received_for {\n\tfor <$received_for>}}"
end


######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each delivery.    #
######################################################################

# This transport is used for local delivery to user mailboxes. On debian
# systems group mail is used so we can write to the /var/spool/mail
# directory. (The alternative, which most other unixes use, is to deliver
# as the user's own group, into a sticky-bitted directory)

local_delivery:
  driver = appendfile
  group = mail
  mode = 0660
  mode_fail_narrower = false
  envelope_to_add = true
  file = /var/spool/mail/${local_part}

# This transport is used for handling pipe addresses generated by alias
# or .forward files. It has a conventional name, since it is not actually
# mentioned elsewhere in this configuration file. (A different name *can*
# be specified via the "address_pipe_transport" option if you really want
# to.) If the pipe generates any standard output, it is returned to the sender
# of the message as a delivery error. Set return_fail_output instead if you
# want this to happen only when the pipe fails to complete normally.

address_pipe:
  driver = pipe
  return_output

# This transport is used for handling file addresses generated by alias
# or .forward files. It has a conventional name, since it is not actually
# mentioned elsewhere in this configuration file.

address_file:
  driver = appendfile

# This transport is used for handling file addresses generated by alias
# or .forward files if the path ends in "/", which causes it to be treated
# as a directory name rather than a file name. Each message is then delivered
# to a unique file in the directory. If instead you want all such deliveries to
# be in the "maildir" format that is used by some other mail software,
# uncomment the final option below. If this is done, the directory specified
# in the .forward or alias file is the base maildir directory.
#
# Should you want to be able to specify either maildir or non-maildir
# directory-style deliveries, then you must set up yet another transport,
# called address_directory2. This is used if the path ends in "//" so should
# be the one used for maildir, as the double slash suggests another level
# of directory. In the absence of address_directory2, paths ending in //
# are passed to address_directory.

address_directory:
  driver = appendfile
  no_from_hack
  prefix = ""
  suffix = ""
# maildir_format

# This transport is used for handling autoreplies generated by the filtering
# option of the forwardfile director. It has a conventional name, since it
# is not actually mentioned elsewhere in this configuration file.

address_reply:
  driver = autoreply

# This transport is used for delivering messages over SMTP connections.

remote_smtp:
  driver = smtp

end


######################################################################
#                      DIRECTORS CONFIGURATION                       #
#             Specifies how local addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#   A local address is passed to each in turn until it is accepted.  #
######################################################################

# This allows local delivery to be forced, avoiding alias files and
# forwarding.

real_local:
  prefix = real-
  driver = localuser
  transport = local_delivery

# This director handles aliasing using a traditional /etc/aliases file.
# If any of your aliases expand to pipes or files, you will need to set
# up a user and a group for these deliveries to run under. You can do
# this by uncommenting the "user" option below (changing the user name
# as appropriate) and adding a "group" option if necessary.

system_aliases:
  driver = aliasfile
  file_transport = address_file
  pipe_transport = address_pipe
  file = /etc/aliases
  search_type = lsearch
# user = list
# Uncomment the above line if you are running smartlist

# This director handles forwarding using traditional .forward files.
# It also allows mail filtering when a forward file starts with the 
# string "# Exim filter": to disable filtering, uncomment the "filter" 
# option. The check_ancestor option means that if the forward file 
# generates an address that is an ancestor of the current one, the 
# current one gets passed on instead. This covers the case where A is 
# aliased to B and B has a .forward file pointing to A.

# For standard debian setup of one group per user, it is acceptable---normal
# even---for .forward to be group writable. If you have everyone in one
# group, you should comment out the "modemask" line. Without it, the exim
# default of 022 will apply, which is probably what you want.

userforward:
  driver = forwardfile
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply
  no_verify
  check_ancestor
  file = .forward
  modemask = 002
  filter

# For a satellite sytem, all mail sent to local users is re-directed to 
# their accounts on slug.localnet

smart:
  driver = smartuser
  new_address = [EMAIL PROTECTED]

end


######################################################################
#                      ROUTERS CONFIGURATION                         #
#            Specifies how remote addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#  A remote address is passed to each in turn until it is accepted.  #
######################################################################

# Remote addresses are those with a domain that does not match any item
# in the "local_domains" setting above.

# Send all mail to a smarthost

smarthost:
  driver = domainlist
  transport = remote_smtp
  route_list = "* slug.localnet bydns_a"

end


######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################

# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 2 hours and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 8 hours until 4 days have passed since the first
# failed delivery.

# Domain               Error       Retries
# ------               -----       -------

*                      *           F,2h,15m; G,16h,2h,1.5; F,4d,8h

end


######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################


# These rewriters make sure the mail messages appear to have originated
# from the real mail-reading host.

^(?i)(root|postmaster|mailer-daemon)@sparks.localnet [EMAIL PROTECTED] Ffr
[EMAIL PROTECTED] [EMAIL PROTECTED] Ffr
[EMAIL PROTECTED] [EMAIL PROTECTED] Ffr

# This is an example of a useful rewriting rule---it looks up the real
# address of all local users in a file

# [EMAIL PROTECTED]    ${lookup{$1}lsearch{/etc/email-addresses}\
#                                               {$value}fail} bcfrF

# End of Exim configuration file


Nick

---------------------------------------------------------------
Contact    : Nick Holgate <[EMAIL PROTECTED]>   ICQ #117649207
Home Page  : http://people.debian.org/~holgate
GPG key    : http://people.debian.org/~holgate/pubkey.txt
Fingerprint: 9DCA EDEA D5C5 57DA 23F3  1A2B 2273 5645 FD9C 18AF



--- End Message ---
--- Begin Message ---
closing as woody is no longer supported

--- End Message ---

Reply via email to