Bug 250045

Summary: Procmail - add NO_USER_TO_LOWERCASE_HACK
Product: [Fedora] Fedora Reporter: Vince Schiavoni <hlingler>
Component: procmailAssignee: Miroslav Lichvar <mlichvar>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 6CC: hlingler
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-07-30 10:47:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Sample of bounced system mail
none
modified procmail config.h file none

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>... 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.