this causes a sigpipe error in vdelivermail, and gets feed back into qmail-inject as a signal 13 ( sigpipe ). The causes qmail-inject to think that the child ( vdelivermail ) crashed.

the bad email file has this: > Received: (qmail 3973 invoked by uid 508); 30 Jan 2013 21:11:26 -0000
Received: from (
  by with SMTP; 30 Jan 2013 21:11:26 -0000
Received: from apache by with local (Exim 4.67)
        (envelope-from <>)
        id 87QGEX-U87LUI-QI
        for <>
Cc: <>; Wed, 30 Jan 2013 16:11:25 -0500
To: <>
Cc: <>
Subject: Case #52932381
X-PHP-Script: for
From: "Better Business Bureau" <>
X-Sender: "Better Business Bureau" <>
X-Mailer: PHP
X-Priority: 1
MIME-Version: 1.0
Content-Type: multipart/alternative;

in the qmail log file:

Apparently qmail-inject stops processing the input file ( via pipe from vdelivermail:435 if ( write(write_fd, msgbuf, file_count) == -1 )) at the bogus line that cant be parsed any further. Once the pipe is closed by qmail-inject, any further writes will get a sig-pipe error, and the process ( vdelivermail ) will die, as the signal processing is set to default ( ie terminate process ).

Somehow, qmail-inject has to process the rest of the file, even if there are parse errors, or vdelivermail has to recognize that a pipe can suddenly close up.


Reply via email to