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