It seems that creating a list, say post-only, and putting '@post-only'
in accept_these_nonmembers of those lists for which you want this
enabled satisfies this request. This has been available since Mailman
2.1.10. See <https://bugs.launchpad.net/mailman/+bug/558204>.
** Changed in: mailman
Status: New => Fix Committed
--
feature: unified membership allow post list.
https://bugs.launchpad.net/bugs/265851
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
There is a patch for this by Jon Carnes from 2003 that uses the special
list name "post-only" for mailman 2.1 which still applies pretty cleanly
to Mailman/Handlers/Moderate.py on the tip of the 2.1 branch today. I
assume it could easily be adapted for the 3.0 branch.
http://www.mail-archive.com/mailman-users@python.org/msg14876.html
The patch:
*** jonc.Moderate.py Mon Jan 27 10:23:03 2003
--- Moderate.py Mon Jan 27 13:19:33 2003
***************
*** 25,28 ****
--- 25,30 ----
from Mailman import Utils
from Mailman import Message
+ from Mailman import MailList
+ from Mailman import MemberAdaptor
from Mailman import Errors
from Mailman.i18n import _
***************
*** 45,48 ****
--- 47,59 ----
^L
+ def CheckPostOnly(sender):
+ try:
+ m = MailList.MailList('post-only', lock=0)
+ return m.isMember(sender)
+ except Errors.MMListError:
+ return 0
+
+
+ ^L
def process(mlist, msg, msgdata):
if msgdata.get('approved'):
***************
*** 89,92 ****
--- 100,105 ----
# From here on out, we're dealing with non-members.
if matches_p(sender, mlist.accept_these_nonmembers):
+ return
+ if CheckPostOnly(sender):
return
if matches_p(sender, mlist.hold_these_nonmembers):
--
feature: unified membership allow post list.
https://bugs.launchpad.net/bugs/265851
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
Ian Eiloart has proposed merging lp:~mmlmtp/mailman/mm3lmtp into lp:mailman.
Requested reviews:
Mailman Coders (mailman-coders)
Gives LMTP server the ability to reject mail to non-existent lists at LMTP time, and to reject mail from people who don't have permission to post to a list.
--
The attached diff has been truncated due to its size.
https://code.launchpad.net/~mmlmtp/mailman/mm3lmtp/+merge/38413
Your team Mailman Coders is requested to review the proposed merge of lp:~mmlmtp/mailman/mm3lmtp into lp:mailman.
I recently sent you email about your project mailman at
https://launchpad.net/mailman.
You may have found that you could not view the configure bug tracker page.
This is because the email was incorrectly sent to bug supervisors for the
project, rather than project owners.
Please disregard the previous email. Another email will be sent out shortly
to project owners, who can then re-enable the bug expiry setting if this is
desired.
Deryck Hodge
Launchpad Bugs Team Lead
Bug expiry in Launchpad is changing
------------------------------------
The way Launchpad handles inactive bugs is changing. This affects your project
GNU Mailman at https://launchpad.net/mailman
What's going to change
-----------------------
Right now, the bug expiry option is enabled for GNU Mailman but is inactive
across all of Launchpad.
We weren't happy with the way bug expiry worked, so we turned it off. However,
now we're ready to switch it back on.
In about two weeks, we will re-enable automatic bug expiry in Launchpad.
However, we are going to deselect the bug expiry option on each project,
including GNU Mailman.
What this means for your project
--------------------------------
If you want Launchpad to automatically expire bugs that appear to be inactive,
you need to select the 'Expire "Incomplete" bug reports when they become
inactive' option on this page:
https://bugs.launchpad.net/mailman/+configure-bugtracker
For more detail on how Launchpad determines if a bug is inactive, visit our
help page:
https://help.launchpad.net/Bugs/Expiry
If you enable automatic bug expiry, Launchpad will start to automatically
apply the new 'Expired' status to inactive bugs from around 18 October 2010.
If you do not want Launchpad to automatically expire inactive bugs, you should
do nothing.
Why we're doing this
---------------------
Most projects have some bugs that languish with no activity. They clutter bug
listings and, let's face it, are unlikely to ever come back to life.
Automatic bug expiry lets you hand Launchpad the burden of dealing with these.
We're disabling the feature on your project, and others, so that Launchpad
continues to work for you in the way it does now -- i.e. without automatic bug
expiry. If you do want to re-enable bug expiry, it'll take just a few seconds.
Deryck Hodge
Launchpad Bugs Team Lead
Public bug reported:
Trying to retrieve a list of all mailing lists in the system (using the
rest client) MM3 crashes with the traceback below. It seems to be a
regression issue but I think it might also be a general bug since a non
existing column in the DB is called.
About the lock mentioned in the traceback: gallia is my wireless network
and the processes I have running are Mailman 3 core and a Django app for
the MM3 UI which should work together.
anna@athena:~/Documents/Programmering/mailman3/mailman$ Traceback (most recent call last):
File "/usr/lib/python2.6/wsgiref/handlers.py", line 93, in run
self.result = application(self.environ, self.start_response)
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/wsgiapp.py", line 58, in __call__
environ, start_response)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/app.py", line 18, in __call__
response = self.get_response(request, resource_or_response)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/app.py", line 65, in get_response
resource_or_response = resource_or_response(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/resource.py", line 211, in __call__
return _dispatch(request, match, lambda r: callable(self, r))
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/resource.py", line 239, in _dispatch
response = func(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/resource.py", line 211, in <lambda>
return _dispatch(request, match, lambda r: callable(self, r))
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/lists.py", line 215, in collection
resource = self._make_collection(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/helpers.py", line 140, in _make_collection
collection = self._get_collection(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/lists.py", line 134, in _get_collection
return list(getUtility(IListManager))
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/model/listmanager.py", line 84, in __iter__
for fqdn_listname in self.names:
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/model/listmanager.py", line 90, in names
for mlist in config.db.store.find(MailingList):
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/store.py", line 968, in __iter__
result = self._store._connection.execute(self._get_select())
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/database.py", line 217, in execute
raw_cursor = self.raw_execute(statement, params)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/databases/sqlite.py", line 153, in raw_execute
return Connection.raw_execute(self, statement, params)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/database.py", line 299, in raw_execute
self._check_disconnect(raw_cursor.execute, *args)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/database.py", line 342, in _check_disconnect
return function(*args, **kwargs)
OperationalError: no such column: mailinglist.last_post_at
Aug 13 10:52:47 2010 (2982) timed out
Usage: master [options]
Master sub-process watcher.
Start and watch the configured queue runners and ensure that they stay alive
and kicking. Each are fork and exec'd in turn, with the master waiting on
their process ids. When it detects a child queue runner has exited, it may
restart it.
The queue runners respond to SIGINT, SIGTERM, SIGUSR1 and SIGHUP. SIGINT,
SIGTERM and SIGUSR1 all cause the qrunners to exit cleanly. The master will
restart qrunners that have exited due to a SIGUSR1 or some kind of other exit
condition (say because of an exception). SIGHUP causes the master and the
qrunners to close their log files, and reopen then upon the next printed
message.
The master also responds to SIGINT, SIGTERM, SIGUSR1 and SIGHUP, which it
simply passes on to the qrunners. Note that the master will close and reopen
its own log files on receipt of a SIGHUP. The master also leaves its own
process id in the file `data/master-qrunner.pid` but you normally don't need
to use this pid directly.
master: error: The master qrunner lock could not be acquired, because it
appears as if some process on some other host may have acquired it. We can't
test for stale locks across host boundaries, so you'll have to clean this up
manually.
Lock file: /home/anna/Documents/Programmering/mailman3/mailman/var/locks/master-qrunner.lck
Lock host: gallia
Exiting.
Traceback (most recent call last):
File "/usr/lib/python2.6/wsgiref/handlers.py", line 93, in run
self.result = application(self.environ, self.start_response)
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/wsgiapp.py", line 58, in __call__
environ, start_response)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/app.py", line 18, in __call__
response = self.get_response(request, resource_or_response)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/app.py", line 65, in get_response
resource_or_response = resource_or_response(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/resource.py", line 211, in __call__
return _dispatch(request, match, lambda r: callable(self, r))
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/resource.py", line 239, in _dispatch
response = func(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/restish-0.11-py2.6.egg/restish/resource.py", line 211, in <lambda>
return _dispatch(request, match, lambda r: callable(self, r))
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/lists.py", line 215, in collection
resource = self._make_collection(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/helpers.py", line 140, in _make_collection
collection = self._get_collection(request)
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/rest/lists.py", line 134, in _get_collection
return list(getUtility(IListManager))
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/model/listmanager.py", line 84, in __iter__
for fqdn_listname in self.names:
File "/home/anna/Documents/Programmering/mailman3/mailman/src/mailman/model/listmanager.py", line 90, in names
for mlist in config.db.store.find(MailingList):
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/store.py", line 968, in __iter__
result = self._store._connection.execute(self._get_select())
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/database.py", line 217, in execute
raw_cursor = self.raw_execute(statement, params)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/databases/sqlite.py", line 153, in raw_execute
return Connection.raw_execute(self, statement, params)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/database.py", line 299, in raw_execute
self._check_disconnect(raw_cursor.execute, *args)
File "/home/anna/Documents/Programmering/mailman3/mailman/eggs/storm-0.16.0-py2.6-linux-i686.egg/storm/database.py", line 342, in _check_disconnect
return function(*args, **kwargs)
OperationalError: no such column: mailinglist.last_post_at
** Affects: mailman
Importance: Undecided
Status: New
** Tags: mailman3 rest-api
--
Possible regression issue in MM3
https://bugs.launchpad.net/bugs/617285
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
The question is what to do? The attachments are not really stored "in
the archive". They are just stored in a web accessible place with a
known, hopefully valid URL. In fact, if the list does do archiving and
is digestible, the scrubbed attachments are stored twice, once for the
archive and linked from the archive and once for the digest and linked
from the digest. (This duplication probably is a bug, but not one I know
how to fix for MM 2.1.)
If the list is digestable, any MIME parts which are not text/plain with
known character set cannot be directly included in the plain (RFC 1153)
format digest. They either have to be stored aside in some accessible
place and linked from the digest, or a note can be put in the digest
that an attachment has been removed and if you want attachments in the
future switch to messages or the MIME digest, or the attachments can be
silently ignored. I suppose this choice could be a site or list setting,
instead of being fixed at the first alternative, but I think this is
properly called a design decision, not a bug.
--
attachments archived even when archiving disabled
https://bugs.launchpad.net/bugs/266317
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
Setting back to New state because I do think that when archiving is
disabled, the scrubber shouldn't store the attachments on disk. IOW,
it's a legitimate bug.
** Changed in: mailman
Status: Invalid => New
--
attachments archived even when archiving disabled
https://bugs.launchpad.net/bugs/266317
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
Public bug reported:
Here is the reaction of Kernel Hacker Neil brown, trying to send a mail
to a mailman-member only list. I agree that the standard blurb reads
drier and more unfriendly than it could be and I would love to see
mailman adopt a text similar to what he proposed:
I tried to identify what I really didn't like about the "Your message
awaits moderator approval" email I got and it seems to come down to the
"to a members only list" part. It comes across as saying "we are a
closed community and aren't interested in what others have to say" -
which clearly isn't true, but does seem to be implied by the text.
Had the message been more friendly, e.g.
------------
Thanks for your email with subject: $SUBJECT
As this is your first post to $LISTNAME the message will require approval
by a moderator after which it will, if acceptable, be forwarded to the
list. This normally takes $AVERAGE_WAIT_TIME. Subsequent posts by
you will then be accepted without moderation.
------------
then I would have had nothing to complain about.
I think it is important that newcomers feel welcomed and "members only" doesn't sound welcoming.
** Affects: mailman
Importance: Undecided
Status: New
--
Friendlier "awaits moderator approval text"
https://bugs.launchpad.net/bugs/651980
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.