Bug 8759 - mailman %post script fails to create new list on machines without a proper FQDN
Summary: mailman %post script fails to create new list on machines without a proper FQDN
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: has_procedure advisory MGA5-32-OK MGA...
Keywords: validated_update
: 19386 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-01-20 18:13 CET by claire robinson
Modified: 2017-02-26 22:48 CET (History)
6 users (show)

See Also:
Source RPM: mailman-2.1.20-2.mga5.src.rpm
CVE:
Status comment:


Attachments

Description claire robinson 2013-01-20 18:13:35 CET
See bug 8067

On machines without a proper fqdn the post script fails to create a new list which prevents the service from starting.

# service mailman start
Starting mailman (via systemctl):  Job failed. See system journal and
'systemctl status' for details.

# systemctl status mailman.service
mailman.service - GNU Mailing List Manager
          Loaded: loaded (/lib/systemd/system/mailman.service; enabled)
          Active: failed (Result: exit-code) since Wed, 09 Jan 2013 16:00:06
+0000; 55s ago
         Process: 23374 ExecStart=/usr/lib64/mailman/bin/mailmanctl -s start
(code=exited, status=1/FAILURE)
         Process: 23372 ExecStartPre=/bin/chmod 660 /var/log/mailman/error
(code=exited, status=0/SUCCESS)
         Process: 23370 ExecStartPre=/bin/chown mail:mail
/var/log/mailman/error (code=exited, status=0/SUCCESS)
         Process: 23368 ExecStartPre=/bin/touch /var/log/mailman/error
(code=exited, status=0/SUCCESS)
         Process: 23365 ExecStartPre=/usr/bin/install -m644 -o root -g root
/usr/lib64/mailman/cron/crontab.in /etc/cron.d/mailman (code=exited,
status=0/SUCCESS)
          CGroup: name=systemd:/system/mailman.service

Jan 09 16:00:06 mega mailmanctl[23374]: Site list is missing: mailman
Comment 1 Manuel Hiebel 2013-10-22 12:20:45 CEST
This message is a reminder that Mageia 2 is nearing its end of life.
Approximately one month from now Mageia will stop maintaining and issuing updates for Mageia 2. At that time this bug will be closed as WONTFIX (EOL) if it remains open with a Mageia 'version' of '2'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Mageia version prior to Mageia 2's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Mageia 2 is end of life.  If you would still like to see this bug fixed and are able to reproduce it against a later version of Mageia, you are encouraged to click on "Version" and change it against that version of Mageia.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Mageia release includes newer upstream software that fixes bugs or makes them obsolete.

-- 
The Mageia Bugsquad
Comment 2 Manuel Hiebel 2013-11-23 16:16:18 CET
Mageia 2 changed to end-of-life (EOL) status on ''22 November''. Mageia 2 is no
longer maintained, which means that it will not receive any further security or
bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of Mageia
please feel free to click on "Version" change it against that version of Mageia
and reopen this bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

--
The Mageia Bugsquad

Status: NEW => RESOLVED
Resolution: (none) => OLD

Remco Rijnders 2014-04-11 21:41:12 CEST

Status: RESOLVED => REOPENED
Version: 2 => Cauldron
Resolution: OLD => (none)
Whiteboard: (none) => MGA3TOO MGA4TOO

Comment 3 Dave Hodgins 2015-04-07 01:13:08 CEST
On a Mageia 4 install, from install.log ...
Create a new, unpopulated mailing list.
Usage: /usr/sbin/newlist [options] [listname [listadmin-addr [admin-password]]]

The script is running   su mail \
  -c "/usr/sbin/newlist mailman root@$hostname $passwd" > /dev/null

Running su mail -c "/usr/sbin/newlist mailman root@testnoefi.hodgins.homeip.net munged" also fails, with a syntax error.

CC: (none) => davidwhodgins

Remco Rijnders 2015-05-05 21:25:47 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=15648

Comment 4 Bit Twister 2016-01-05 10:23:42 CET
May not be same problem with FQDN because my virtualbox mga6 guest has vb.home.test but is failing to start mailman. /var/log/mailman/error has
mailmanctl (3383): Site list is missing: mailman.

Now that I think of it, maybe the same problem because mailman rpm is installed before user gets to network setup to set FQDN.

Also shouldn't messages be going into journal instead of /var/log/mailman/*

CC: (none) => bittwister2
Hardware: i586 => All
Source RPM: mailman => mailman-2.1.20-2.mga5.src.rpm
Whiteboard: MGA3TOO MGA4TOO => MGA3TOO MGA4TOO MGA6TOO

Comment 5 Mike Rambo 2017-01-25 21:39:28 CET
*** Bug 19386 has been marked as a duplicate of this bug. ***

CC: (none) => mrambo

Comment 6 Mike Rambo 2017-01-25 21:49:51 CET
Patched package uploaded for Cauldron.

Be sure to restart httpd if it is already running when the package is installed. Note that the mailman site missing problem mentioned in comment 4 above is an artifact of the post install scriptlet error and should also be resolved by this update.

Test procedures:
https://bugs.mageia.org/show_bug.cgi?id=8067#c24
https://bugs.mageia.org/show_bug.cgi?id=19287#c10

Patched package uploaded for Mageia 5.

Advisory:
========================

Updated mailman package fixes various bugs:

* post installation scriptlet error
* failure to be able to add a list via the web interface
* failure to remove /etc/cron.d/mailman at uninstall

Updated packages in core/updates_testing:
========================
mailman-2.1.20-3.1.mga5

from mailman-2.1.20-3.1.mga5.src.rpm

Assignee: remco => qa-bugs
Version: Cauldron => 5
Whiteboard: MGA3TOO MGA4TOO MGA6TOO => has_procedure

Dave Hodgins 2017-02-03 00:58:34 CET

Whiteboard: has_procedure => has_procedure advisory

Comment 7 Herman Viaene 2017-02-03 16:06:09 CET
MGA5-32 on Asus A6000VM Xfce
No installation issues.
At CLI as root
# newlist mailtest tester5@mach6.hviaene.thuis tester
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:

## mailtest mailing list
mailtest:              "|/usr/lib/mailman/mail/mailman post mailtest"
etc ....
and I could start the mailman service

CC: (none) => herman.viaene
Whiteboard: has_procedure advisory => has_procedure advisory MGA5-32-OK

Comment 8 Lewis Smith 2017-02-07 11:15:58 CET
@Mike
I already have mailman-2.1.20-3 installed. To test this update, is it sufficient to update the existing mailman; or better to uninstall that and re-install it from scratch directly from Updates Testing? To try the 3rd point in your Comment 6, maybe the latter is preferable.

CC: (none) => lewyssmith

Comment 9 Mike Rambo 2017-02-07 13:32:50 CET
Hello Lewis :)

Yes, I think this is best tested as a new installation. You should be able to remove the package and then look for the remnants the old version will have left behind (which iirc should mostly be in /var/lib/mailman and /usr/[lib|lib64]/mailman). This new update still leaves behind any existing list archives in /var/lib/mailman but everything else should be gone when uninstalling the new package.

The key things this update tries to fix is the post install scriptlet error which leads to a failure to create the required 'mailman' list and then the subsequent failure to be able to start the mailman service. This is most noticeable when the machine in question has not been pre-configured with a fqdn.

A second thing that was fixed was about being able to add a new mail list via the web interface. For that, be sure to read the installation notes shown on screen at installation about setting the site password using mmsitepass (at the end of those notes). You have to use that site password to create any lists via the web interface.
Comment 10 Lewis Smith 2017-02-12 11:26:02 CET
Started testing M5_64

I took out the previous version mailman-2.1.20-3 and confirmed that left
/etc/cron.d/mailman (which I removed manually).

Re-installed directly from Updates Testing mailman-2.1.20-3.1. There were *no* %post ERRORs, so this update fixes *that*.
Doing
 # newlist testlist
produced a lot of 'usage' output, terminating in "List already exists: testlist".
 # mmsitepass .......
Without doing anything more, http//localhost/mailman showed a sensible screeN.
But I cannot get anywhere further without more time to explore. I am away for a few days, and will pick this up on my return.
Comment 11 Mike Rambo 2017-02-13 20:54:41 CET
Lewis, it sounds like you still had data left from a previous installation in /var/lib/mailman. If you've already set a new site password for yourself with mmsitepass all you probably need to do is change the name of the test list you are trying to create. I think there is already one there named testlist from a previous test.

Please be sure to confirm that you can create a new list from the web interface too as that was a specific bug this update is supposed to fix.

Also, you will quite likely need to un-remark the VIRTUAL_HOST_OVERVIEW=Off line (remove the #) in /etc/mailman in order to see all mail lists if your machine is not configured with fqdn. If you are not correctly configured with fqdn (which a test box may not be) you won't see all available lists if you don't do this.
Comment 12 Lewis Smith 2017-02-20 21:25:36 CET
Continuing M5_64

Yes, it seems that 'teslist' exists, new or left over; and can be accessed.
Tried creating another 'testlist1'.

# tail /etc/mailman
...
# Put YOUR site-specific settings below this line.
DEFAULT_EMAIL_HOST = 'localdomain'
DEFAULT_URL_HOST = 'localhost.localdomain'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
VIRTUAL_HOST_OVERVIEW=Off
MTA = 'Postfix'

# cat /etc/hosts
127.0.0.1       localhost.localdomain localhost
88.127.87.5	mmtest.example.com mmtest

# hostname
localhost.localdomain

# newlist testlist1
...lots of output
Illegal list name: testlist1@localdomain

Trying the same thing via the web interface, logged in as site administrator:
"Create a localhost.localdomain Mailing List"
with all necessary fields completed, & site admin password, gave the same thing:
"Error: Illegal list name: testlist1@localdomain"

I am sure I managed this with the last update:
 https://bugs.mageia.org/show_bug.cgi?id=19287#c12
Otherwise, the web interface seems to behave itself, showing 'teslist and the screen for creating a new list.

Obviously still doing something wrong.
Comment 13 Mike Rambo 2017-02-23 15:34:43 CET
(In reply to Lewis Smith from comment #12)
> Continuing M5_64
> 
> 
> # hostname
> localhost.localdomain
> 
> # newlist testlist1
> ...lots of output
> Illegal list name: testlist1@localdomain
> 

Try newlist testlist123@localhost.localdomain.

That said, you have a configuration that I didn't test for. The condition we saw that prompted this was when there was no dnsdomainame set at all. Since yours is set to something (even though not valid for a real life use case) it isn't being covered by my 'fix'. I think you will find that the above line will work from CLI but the web form still will not. If you change the DEFAULT_EMAIL_HOST line in /etc/mailman from localdomain to localhost.localdomain both will probably work (and you won't need to specify @localhost.localdomain with the newlist command).

But that also isn't really the primary focus of this bug. It is about the post installation script succeeding and the internally used mailman list being created so the mailman service can start. Both of those should be working. If the mailman service starts (systemctl start mailman) then that internal list is ok.

Any sysadmin using this package will have to manually configure their server to correct real life settings anyway. The goal is to have the internally used mailman list created, and the mailman service work, so they CAN fix it later. I think this update still does that.

You can also contact me on IRC (or email) if you have questions. I'm usually in the QA IRC channel on work days anyway.
Comment 14 Lewis Smith 2017-02-26 11:29:31 CET
@Mike: thank you again for your helpful guidance and patience. Sorry to have left this so long.

# tail /etc/mailman
DEFAULT_EMAIL_HOST = 'localdomain'
DEFAULT_URL_HOST = 'localhost.localdomain'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
VIRTUAL_HOST_OVERVIEW=Off

> Try # newlist testlist123@localhost.localdomain
#  newlist testlist123@localhost.localdomain
Enter the email of the person running the list: xxx@free.fr
Initial testlist123 password: 
Create a new, unpopulated mailing list.
... lots of output
Illegal list name: testlist123@localdomain

http://localhost/mailman/admin.cgi/ ->
"localhost.localdomain mailing lists - Admin Links"
...
 List 	         Description
Mailman 	        [no description available]
Testlist 	mailman testlist"
which looks promising. It confirms
> the internally used mailman list being created

http://localhost/mailman/create.cgi ->
"Create a localhost.localdomain Mailing List" the complete form; submitted ->
"Error: Illegal list name: testlist123@localdomain"
--------------------------------------------------
# tail /etc/mailman
DEFAULT_EMAIL_HOST = 'localhost.localdomain'         [changed as suggested]
DEFAULT_URL_HOST = 'localhost.localdomain'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
VIRTUAL_HOST_OVERVIEW=Off

#  newlist testlist123@localhost.localdomain
Enter the email of the person running the list: xxx@free.fr
Initial testlist123 password: 
Hit enter to notify testlist123 owner...

Seems to have worked.

http://localhost/mailman/ shows now
"localhost.localdomain Mailing Lists"
 List 	         Description
Mailman 	        [no description available]
Testlist 	mailman testlist
Testlist123 	[no description available]

I was able to manipulate the new list. The web interface seems fully functional.
---
# systemctl status mailman
â mailman.service - GNU Mailing List Manager
   Loaded: loaded (/usr/lib/systemd/system/mailman.service; enabled)
   Active: active (running) since Sul 2017-02-26 07:56:39 CET; 3h 22min ago
...
 Main PID: 6533 (mailmanctl)
   CGroup: /system.slice/mailman.service
           ââ6533 /usr/bin/python /usr/lib64/mailman/bin/mailmanctl -s start
...
           ââ6591 /usr/bin/python /usr/lib64/mailman/bin/qrunner --runner=Ret...
which confirms
> the mailman service can start [was started automatically]
-------------------------------------------
Recap:
> the primary focus of this bug ... is about
> the post installation script succeeding
Yes (Comment 10).
> the internally used mailman list being created
Yes.
> the mailman service can start
Yes.

So the update all OK!

Keywords: (none) => validated_update
Whiteboard: has_procedure advisory MGA5-32-OK => has_procedure advisory MGA5-32-OK MGA5-64-OK
CC: (none) => sysadmin-bugs

Comment 15 Mageia Robot 2017-02-26 22:48:26 CET
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGAA-2017-0009.html

Status: REOPENED => RESOLVED
Resolution: (none) => FIXED


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