Hi again,
Philip Hazel wrote:
>> 22:39:25 7504 ---1 Get 135044656 112 readconf.c 2893
>> 22:39:25 7504 ---1 Get 135044768 40 string.c 349
>> 22:39:25 7504 --Malloc 135058040 8200 store.c 139
>> 16400 4505
>> 22:39:25 7504 ---0 Get 135058048 8 string.c 349
>> 22:39:25 7504 ---0 Get 135058056 8 string.c 349
>> 22:39:25 7504 ---0 Get 135058064 8 string.c 349
>> 22:39:25 7504 ---0 Get 135058072 8 string.c 349
>> 22:39:25 7504 originator: uid=0 gid=0 login=root name=root
>> Illegal instruction
>>
> Looks like the failure is near the start of the daemon_go() function
> in the daemon.c source module.
>
>> However, if I start it as
>> exim -oX 25 -bd
>> it runs without problems.
>>
> This affects how it sets up listening. Looks like something is getting
> overwritten.
>
What do you mean by "something"?
>> I also noticed that when running with -oX and trying to send
>> a mail as a
>> non-privileged user,
>> the error message
>> 2003-07-27 22:25:07 19gs4p-0001vE-KK Failed to create
>> spool file
>> /var/spool/exim4/input//19gs4p-0001vE-KK-D: Permission denied
>> is logged to the console.
>>
> How did you send the mail? If you just called exim, the daemon version,
> started with -oX, won't be involved. Have you remembered to make exim
> setuid root? Have you tried running a delivery using -d?
>
It is suid root. It runs without complaits if I use it to just deliver a mail.
The daemon runs fine if I start it with -oX 25, not however if I run it
with -bd only.
I must admin that I tweaked some directory permissions just today.
I use the following directories:
the pid file path is not given, so exim should write its pid to its spool directory,
which looks like this:
drwxr-x--- 5 mail mail 4096 Jul 27 18:49 .
drwxr-xr-x 18 root root 4096 Jul 27 20:41 ..
drwxr-x--- 2 mail mail 4096 Jul 27 22:18 db
drwxr-x--- 2 mail mail 4096 Jul 28 20:53 input
drwxr-x--- 2 mail mail 4096 Jul 27 22:18 msglog
It doesn't write its pid there.
It is not writeable for root, but this shouldn't be a problem, or could it?
the log file path is compiled in as
/var/log/exim4/%slog
and it works (I see log entries).
the configure file path is compiled in as
/usr/local/exim/configure
and that's where the file is (world-readable).
regards,
dominik