Bug 142000 - [patch] Wrong MAIL_GID when configuring mail/mailman for postfix MTA
Summary: [patch] Wrong MAIL_GID when configuring mail/mailman for postfix MTA
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Chris Rees
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-25 08:10 UTC by Adriaan
Modified: 2011-07-21 10:40 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adriaan 2009-12-25 08:10:01 UTC
When installing mailman 2.1.12 from ports for the Postfix MTA, a wrong
MAIL_GID is selected.

According to the "FreeBSD-post-install-notes"  file the MAIL_GID needs
to be 'nobody':

--begin quote
3.3) Postfix

     The value of MAIL_GID has to be set to 'nobody' (or 65534) when building
     the Mailman port, so you have to choose POSTFIX on build options to
     set it to you.
--end quote

In contradiction to this statement the Makefile wrongly sets the MAIL_GID
to 'mailman':

==quote start
.if defined(WITH_POSTFIX)
.if defined(WITH_SENDMAIL) || defined(WITH_EXIM3) || defined(WITH_EXIM4) || \
defined(WITH_COURIER)
BROKEN= choose only one MTA integration
.endif
MAIL_GID?=      mailman
EXTRA_PATCHES+= ${FILESDIR}/postfix-verp.diff
.endif
==quote end

As result from this mailman returns all incoming mailman requests with
the following error message:

<mailman-request@vintrax.utp.xnet>: Command died with status 2:
    "/usr/local/mailman/mail/mailman request mailman". Command output: Group
    mismatch error.  Mailman expected the mail wrapper script to be executed as
    group "mailman", but the system's mail server executed the mail script as
    group "nobody".  Try tweaking the mail server to run the script as group
    "mailman", or re-run configure,  providing the command line option
    `--with-mail-gid=nobody'.

This error is logged by postfix in "/var/log/maillog" as:

Dec 24 23:16:03 vintrax Mailman mail-wrapper: Group mismatch error.  Mailman expected the mail wrapper script to be executed as group "mailman", but the system's mail server executed the mail script as group "nobody".  Try tweaking the mail server to run the script as group "mailman", or re-run configure,  providing the command line option `--with-mail-gid=nobody'.

Fix: 

Change the Makefile "MAIL_GID?=nobody" into "MAIL_GID?=nobody":

The fixed version:

.if defined(WITH_POSTFIX)
.if defined(WITH_SENDMAIL) || defined(WITH_EXIM3) || defined(WITH_EXIM4) || \
defined(WITH_COURIER)
BROKEN= choose only one MTA integration
.endif
MAIL_GID?=      nobody
EXTRA_PATCHES+= ${FILESDIR}/postfix-verp.diff
.endif

Instead of editing the Makefile, a workaround is 

for the (ba)sh shell:  export MAIL_GID=nobody
for the csh shell   :  setenv MAIL_GID nobody

before running 'make'
How-To-Repeat: Install the mailman port for postfix by using "make config" and select
the " POSTFIX   for use with postfix" option in the dialogue box.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2009-12-25 13:20:22 UTC
Responsible Changed
From-To: freebsd-ports-bugs->jmelo

Fix synopsis and assign. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=142000 

Date: Fri, 1 Jan 2010 12:18:36 +0100
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2010-06-19 05:28:17 UTC
Responsible Changed
From-To: jmelo->freebsd-ports-bugs

Maintainer was reset.
Comment 3 Wesley Shields freebsd_committer freebsd_triage 2010-06-19 12:57:49 UTC
Responsible Changed
From-To: freebsd-ports-bugs->wxs

I'm the new maintainer, hopefully I can work on these.
Comment 4 Chris Rees freebsd_committer freebsd_triage 2011-06-11 17:12:22 UTC
Responsible Changed
From-To: wxs->crees

wxs asked me to take
Comment 5 dfilter service freebsd_committer freebsd_triage 2011-06-13 20:22:33 UTC
crees       2011-06-13 19:22:25 UTC

  FreeBSD ports repository

  Modified files:
    .                    GIDs UIDs UPDATING 
    mail/mailman         Makefile pkg-deinstall pkg-install 
                         pkg-plist 
    mail/mailman/files   mailman.in 
  Log:
  - Correct GROUP when postfix OPTION is selected [1]
  - Add nobody user and group to UIDs/GIDs for mail/mailman [2]
  - Stop touching files outside WRKDIR before install [2]
  - Use USERS and GROUPS [2]
  - Change BROKEN to IGNORE for incorrect OPTIONS choices [2]
  - Use @stopdaemon [2]
  - Correct rc script to check for pidfile before attempting kill [2]
  
  PR:             ports/142000
  Submitted by:   Adriaan <ratten.adriaan@gmail.com> [1], crees [2]
  Approved by:    rene (mentor), wxs (maintainer)
  
  Revision  Changes    Path
  1.143     +2 -1      ports/GIDs
  1.157     +2 -1      ports/UIDs
  1.1078    +10 -1     ports/UPDATING
  1.88      +22 -28    ports/mail/mailman/Makefile
  1.4       +4 -2      ports/mail/mailman/files/mailman.in
  1.12      +1 -9      ports/mail/mailman/pkg-deinstall
  1.9       +3 -41     ports/mail/mailman/pkg-install
  1.41      +2 -1      ports/mail/mailman/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 6 Chris Rees freebsd_committer freebsd_triage 2011-06-13 20:23:13 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 7 Chris Rees freebsd_committer freebsd_triage 2011-06-20 19:12:32 UTC
Unfortunately I had to revert this commit -- it appears that the value
of MAIL_GID is a matter for debate, and rather than cause suffering
for many of the current users I've chosen to leave the MAIL_GID value
as-is.

Refer to the later stages of ports/157868 -- I really made a mess here!

People can override it in make.conf anyway.

Chris
Comment 8 stu 2011-07-20 20:38:18 UTC
Hello,

What is the debate regarding this? "it appears that the value
of MAIL_GID is a matter for debate"

When choosing postfix in the mailman port config screen, mailman does
not work properly with postfix, as described in the original bug.

http://www.freebsd.org/cgi/query-pr.cgi?pr=142000&cat=ports

Thanks!
- Stuart Matthews
Systems Administrator
Electronic Frontier Foundation
Comment 9 Chris Rees freebsd_committer freebsd_triage 2011-07-21 10:27:59 UTC
Stuart Matthews wrote:
> =A0Hello,
>
> =A0What is the debate regarding this? "it appears that the value
> =A0of MAIL_GID is a matter for debate"
>
> =A0When choosing postfix in the mailman port config screen, mailman does
> =A0not work properly with postfix, as described in the original bug.
>
> =A0http://www.freebsd.org/cgi/query-pr.cgi?pr=3D142000&cat=3Dports
>
>

Hi Stuart,

The commit originally changing the GID to the 'wrong' value was at
[1], over four years ago.

I performed a cursory investigation of this at [2], which you are more
than welcome to unravel and come to the Correct Conclusion.

I would like to add a couple of disclaimers here though:

1) Mailman is unmaintained
2) I never intended to maintain mailman (I already maintain sympa -- I
can't look after two mailing list ports!)
3) My sole intention was to stop manually creating users in the port.

From my commits, there has been no functional change to the end-result
of the port (i.e. MAIL_GID is still the same right now as it was
before I touched it).

I'm afraid that unless someone steps up to maintain the port and sort
this debate out, it will continue to rage.

If you are convinced that for your setup you know the right answer,
just stick MAIL_GID=3Dnobody into /etc/make.conf and you'll be happy.

Please don't take this as negativity from me, but I'm afraid I simply
have not got the time to deal with this issue, however I will do
whatever is needed with people to 'get it right'. My concern was only
to get the pw commands out of pkg-\(de\)\?install.

Chris

[1] http://www.freebsd.org/cgi/cvsweb.cgi/ports/mail/mailman/Makefile.diff?=
r1=3D1.68;r2=3D1.69;f=3Dh

[2] http://www.mail-archive.com/freebsd-ports@freebsd.org/msg34281.html