In article <Pine.GSO.4.58.0610021957390.20751@arachne.dur.ac. uk> David
Lee <t.d.lee@durham.ac.uk> writes:
>On Thu, 28 Sep 2006, David Lee wrote:
>
>> On Thu, 28 Sep 2006, Kari Hurtta wrote:
>>
>> > David Lee <t.d.lee@durham.ac.uk> writes:
>> >
>> > > We are transparently replacing these with Fedora Core 5, sendmail 8.13.7.
>> > >
>> > > But the new machines are having trouble with the "|..." aspect of
>> > > '.forward' files. Forwarding to email addresses works. Storing a copy in
>> > > the normal inbox with the "\..." syntax works. But the "|..." stuff is
>> > > failing: log file entries:
>> > > [...] dsn=5.0.0, stat=Can't create output
>> > >
>> > > Running a delivery in "-v" mode gives:
>> > >
>> > > --- snip ---
>> > > Running /var/spool/mqueue/k8SBSXA9000519 (sequence 1 of 1)
>> > > /var/tdltest/amd/.forward: line 1: forwarding to
>"|/usr/local/bin/procmail"
>> > > "|/usr/local/bin/procmail"... Connecting to prog...
>> > ==== that is prog mailer
>> > > "|/usr/local/bin/procmail"... Can't create output
>> > > --- snip ---
>> > >
>> > > The "Mlocal" remains as:
>> > > Mlocal, P=/usr/sbin/tmail, F=lsDFMAw5:/|@qShn9u, [...]
>> >
>> > What is on "Mprog" ?
>>
>> Sorry, I included the wrong thing. It is:
>> Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL,
>R=EnvToL/HdrToL, D=$z:/,
>> T=X-Unix/X-Unix/X-Unix,
>> A=sh -c $u
>> [...]
>> I'm perplexed, despite several years of "sendmail" maintenance behind me.
>
>It is still failing. I have added some "sm_syslog(LOG_INFO, ...)" lines
>through the "deliver.c" code. It successfully reaches the "execve()" call
>(near line 2740 in "deliver.c"). And "excve()" seems not to return
>(usually a good sign). But it still fails: "Can't create output".
This comes from the parent sendmail noting that the child exited with
code 73 (see /usr/include/sysexits.h). It's not likely that /bin/sh
generated that exit code itself, rather it succeeded in running procmail
and just propagated the exit code from *procmail* (who is very much
aware of sysexits.h, of course).
So, probable cause is that procmail wasn't able to write where the
procmailrc file told it to write (whether $DEFAULT or something else).
I.e. this is basically a procmail problem, not a sendmail one, but I'll
note that the location of the .forward file above isn't a typical home
directory - you'll want to check which uid/gid procmail is actually run
as, as well as where it is attempting to write - most easily done by
tweaking the procmailrc file.
--Per Hedeland
per@hedeland.org