Bug 250045 - Procmail - add NO_USER_TO_LOWERCASE_HACK
Summary: Procmail - add NO_USER_TO_LOWERCASE_HACK
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: procmail
Version: 6
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Miroslav Lichvar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-07-30 04:12 UTC by Vince Schiavoni
Modified: 2007-11-30 22:12 UTC (History)
1 user (show)

(edit)
Clone Of:
(edit)
Last Closed: 2007-07-30 10:47:42 UTC


Attachments (Terms of Use)
Sample of bounced system mail (5.39 KB, application/octet-stream)
2007-07-30 04:12 UTC, Vince Schiavoni
no flags Details
modified procmail config.h file (19.24 KB, application/octet-stream)
2007-07-30 07:29 UTC, Vince Schiavoni
no flags Details

Description Vince Schiavoni 2007-07-30 04:12:23 UTC
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
procmail.

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.

How reproducible:
Always.

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.
  
Actual results:
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.

Expected results:
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.

Additional info:
I do not know enough about programming/compiling to fix this myself - I don't
know exactly where or how to add this "hack".

Reference: http://www.sendmail.org/~ca/email/lfaq.html#UPPER

Thanx and Regards,
Vince

Comment 1 Vince Schiavoni 2007-07-30 04:12:23 UTC
Created attachment 160213 [details]
Sample of bounced system mail

Comment 2 Vince Schiavoni 2007-07-30 07:29:37 UTC
Created attachment 160220 [details]
modified procmail config.h file

Comment 3 Vince Schiavoni 2007-07-30 07:30:33 UTC
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:

Reference: http://www.terraluna.org/dgp/cvsweb/procmail/config.h:
"...
/*#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
uppercase letters.

Thanx and Regards,
Vince

Comment 4 Miroslav Lichvar 2007-07-30 10:47:42 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.