Red Hat Bugzilla – Bug 250045
Procmail - add NO_USER_TO_LOWERCASE_HACK
Last modified: 2007-11-30 17:12:11 EST
Description of problem:
FC6 and sendmail use procmail by default as local system mailer. Procmail
cannot handle mail for users with uppercase letters in their username (such mail
bounces to root for me) without a special "hack", NO_USER_TO_LOWERCASE_HACK,
which is apparently not currently included. This is a documented feature of
Version-Release number of selected component (if applicable):
I currently use procmail-3.22-17.1 from Red Hat/FC6, however, this request
applies to all active FC/F7+ procmail releases.
Steps to Reproduce:
1. Install FC6, sendmail, and procmail (default), set-up and run;
2. Create a user with uppercase letters in username;
3. Attempt to send local mail to this username;
4. Follow the bouncing e-mail.
Mail bounces (to root for me) with error:
----- Transcript of session follows -----
procmail: Unknown user "vince"
550 5.1.1 <Vince@presario.localdomain>... User unknown
A complete bounced message is attached.
Actually, this is a feature of procmail, and should be expected, without the
NO_USER_TO_LOWERCASE_HACK "hack". However, since it can be reasonably predicted
that many new users will create usernames which include uppercase letters, I
suggest that it would be best to add this "hack" to account for such cases. I
have read about other users having this problem, and/or wondering why usernames
should not contain uppercase letters. Most users apparently don't ever bother
to read their system mail and/or don't use sendmail/procmail, otherwise I would
expect to see far more complaints/questions.
I do not know enough about programming/compiling to fix this myself - I don't
know exactly where or how to add this "hack".
Thanx and Regards,
Created attachment 160213 [details]
Sample of bounced system mail
Created attachment 160220 [details]
modified procmail config.h file
OK, I'm not really very knowledgeable/experienced with this stuff, but I'm tired
of the bouncing e-mails, so I fixed this problem as follows:
/*#define NO_USER_TO_LOWERCASE_HACK /* uncomment if your getpwnam() is
case insensitive or if procmail
will always be supplied with the correct case in the explicit
delivery mode argument(s) */
I downloaded the procmail-3.22-17.1.src.rpm from redhat/FC and installed with
"rpm -ivh procmail-3.22-17.1.src.rpm", then from the /usr/src/redhat/SPECS/
folder: "rpmbuild -bp procmail.spec", then edited the
/usr/src/redhat/BUILD/procmail-3.22/config.h file (attached) as per the above
reference to include: "#define NO_USER_TO_LOWERCASE_HACK", then used
checkinstall (instead of "make install") to create a new
procmail-3.22-1presario.i386.rpm, and installed that with "rpm -Uvh --force
procmail-3.22-1presario.i386.rpm". This eliminated the procmail bounce errors,
but I still had to add "MODIFY_MAILER_FLAGS(`LOCAL', `+u')dnl" to the
/etc/mail/sendmail.mc file (as per
http://www.sendmail.org/~ca/email/lfaq.html#UPPER) and reload sendmail to finish
the job. With these two changes (to procmail-3.22/config.h and sendmail.mc),
e-mail is now being successfully delivered to user Vince as intended.
I still request/suggest that the active releases of procmail be revised to
incorporate the "NO_USER_TO_LOWERCASE_HACK", unless there is some special reason
not to do so. I would further request/suggest that sendmail/sendmail.mc be
revised to include the "MODIFY_MAILER_FLAGS" as an option, as it is also
required to accomplish the goal of local system mail delivery to usernames with
Thanx and Regards,
Well, the code disabled by the define was replaced after procmail-3.10, so
adding it to current config.h won't change anything. FC6 procmail can deliver
mail to usernames with uppercase letters.
As for sendmail, please see bug #63677.