After recently adding the -f parameter to the call to the deliver command
which is called by Postfix, I found that e-mail with a null return path
(MAIL FROM:<>) was causing Dovecot deliver to SEGFAULT. I verified this
by making this patch to deliver.c (notice I fixed a typo here, too):
*** deliver.c.orig Fri Oct 13 07:32:28 2006
--- deliver.c Fri Oct 27 21:26:08 2006
***************
*** 446,454 ****
i++;
if (i == argc) {
i_fatal_status(EX_USAGE,
! "Missing envleope
argument");
}
! envelope_sender = argv[i];
} else {
print_help();
i_fatal_status(EX_USAGE,
--- 446,455 ----
i++;
if (i == argc) {
i_fatal_status(EX_USAGE,
! "Missing envelope
argument");
}
! if (*argv[i])
! envelope_sender = argv[i];
} else {
print_help();
i_fatal_status(EX_USAGE,
While this fixed my SEGFAULT, it still leaves the "From_" line with
the
default "dovecot.deliver" as the return path, something I don't
want.
It should be "MAILER-DAEMON" or some-such just like all the other LDAs
in the case of a NULL return path. Perhaps there needs to be a new
parameter so one can specify what a NULL return path should be converted to
when it is encountered...
Also, note that the "Usage" message in deliver.c does not include the
relatively new -f option either, so that should have been part of my
above patch as well.
--
Steven F. Siirila Office: Lind Hall, Room 130B
Internet Services E-mail: sfs at umn.edu
Office of Information Technology Voice: (612) 626-0244
University of Minnesota Fax: (612) 626-7593
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I was having this exact same problem. Thanks Steven. Steven F Siirila wrote:> After recently adding the -f parameter to the call to the deliver command > which is called by Postfix, I found that e-mail with a null return path > (MAIL FROM:<>) was causing Dovecot deliver to SEGFAULT. I verified this > by making this patch to deliver.c (notice I fixed a typo here, too): > > *** deliver.c.orig Fri Oct 13 07:32:28 2006 > --- deliver.c Fri Oct 27 21:26:08 2006 > *************** > *** 446,454 **** > i++; > if (i == argc) { > i_fatal_status(EX_USAGE, > ! "Missing envleope argument"); > } > ! envelope_sender = argv[i]; > } else { > print_help(); > i_fatal_status(EX_USAGE, > --- 446,455 ---- > i++; > if (i == argc) { > i_fatal_status(EX_USAGE, > ! "Missing envelope argument"); > } > ! if (*argv[i]) > ! envelope_sender = argv[i]; > } else { > print_help(); > i_fatal_status(EX_USAGE, > > While this fixed my SEGFAULT, it still leaves the "From_" line with the > default "dovecot.deliver" as the return path, something I don't want. > It should be "MAILER-DAEMON" or some-such just like all the other LDAs > in the case of a NULL return path. Perhaps there needs to be a new > parameter so one can specify what a NULL return path should be converted to > when it is encountered... > > Also, note that the "Usage" message in deliver.c does not include the > relatively new -f option either, so that should have been part of my > above patch as well. >-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFQ8Hm3qnKAwni0gQRAml6AKDKnCJJmufBMdJH9tq0R3tvvwvQQACg7Jug nko7fahkYWIOrsurXYVdEq0=uQXo -----END PGP SIGNATURE-----
On Fri, 2006-10-27 at 21:34 -0500, Steven F Siirila wrote:> After recently adding the -f parameter to the call to the deliver command > which is called by Postfix, I found that e-mail with a null return path > (MAIL FROM:<>) was causing Dovecot deliver to SEGFAULT. I verified this > by making this patch to deliver.c (notice I fixed a typo here, too):Thanks, fixed (slightly differently).> While this fixed my SEGFAULT, it still leaves the "From_" line with the > default "dovecot.deliver" as the return path, something I don't want. > It should be "MAILER-DAEMON" or some-such just like all the other LDAs > in the case of a NULL return path. Perhaps there needs to be a new > parameter so one can specify what a NULL return path should be converted to > when it is encountered...I changed the default to MAILER-DAEMON. I don't think there needs to be a new parameter/setting just for that.> Also, note that the "Usage" message in deliver.c does not include the > relatively new -f option either, so that should have been part of my > above patch as well.Added. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://dovecot.org/pipermail/dovecot/attachments/20061102/c2e8ca10/attachment.pgp