Search results for query "sapiro"
- 5617 messages

[MM3-users] Re: Attack on Mailman Server?
by Eggert Ehmke
In the log file there are several entries like this:
ERROR 2023-03-09 13:09:34,066 53357 django.request Internal Server Error: /accounts/
signup/
Traceback (most recent call last):
File "/opt/mailman/venv/lib/python3.9/site-packages/django/core/handlers/exception.py",
line 47, in inner
response = get_response(request)
File "/opt/mailman/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line
181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/mailman/venv/lib/python3.9/site-packages/django/views/generic/base.py", line
70, in view
return self.dispatch(request, *args, **kwargs)
File "/opt/mailman/venv/lib/python3.9/site-packages/django/utils/decorators.py", line 43, in
_wrapper
return bound_method(*args, **kwargs)
File "/opt/mailman/venv/lib/python3.9/site-packages/allauth/decorators.py", line 18, in
wrap
resp = ratelimit.consume_or_429(request, action=action, **rl_kwargs)
File "/opt/mailman/venv/lib/python3.9/site-packages/allauth/ratelimit.py", line 77, in
consume_or_429
return render(request, "429." + app_settings.TEMPLATE_EXTENSION, status=429)
File "/opt/mailman/venv/lib/python3.9/site-packages/django/shortcuts.py", line 19, in
render
content = loader.render_to_string(template_name, context, request, using=using)
File "/opt/mailman/venv/lib/python3.9/site-packages/django/template/loader.py", line 61, in
render_to_string
template = get_template(template_name, using=using)
File "/opt/mailman/venv/lib/python3.9/site-packages/django/template/loader.py", line 19, in
get_template
raise TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: 429.html
So what is special about this 429.html?
Am Donnerstag, 9. März 2023, 21:26:03 CET schrieb Mark Sapiro:
> On 3/9/23 11:34, Eggert Ehmke via Mailman-users wrote:
> > I had some attacks on my wordpress homepage today, I added some IPs to the
> > blacklist of my firewall. At the same time, I got several reports like
> > this:
> >
> > Internal Server Error: /accounts/signup/
> >
> > TemplateDoesNotExist at /accounts/signup/
> > 429.html
>
> I suspect that's a coincidence.
>
> > Request Method: OPTIONS
> > Request URL: https://lists.eehmke.de/accounts/signup/
> > Django Version: 3.2.16
> > Python Executable: /opt/mailman/venv/bin/uwsgi
> > Python Version: 3.9.2
> > Python Path: ['.', '', '/etc/mailman3', '/usr/lib/python39.zip',
> > '/usr/lib/
> > python3.9', '/usr/lib/python3.9/lib-dynload', '/opt/mailman/venv/lib/
> > python3.9/site-packages']
> > Server time: Thu, 09 Mar 2023 13:09:34 +0100
> >
> > So it seems there were attempts to register new users but this caused this
> > internal error. Where can I send the complete error message?
>
> I would look in the web server logs to see what the actual accesses
> were. I'm guessing you'll find that some bot or script kiddies did a GET
> of /accounts/signup/429.html.
>
> You could also look for more detail in whatever log Django writes. This
> is defined in Django's settings as
> LOGGING['handlers']['file']['filename'] and is often Mailman's
> var/logs/mailmansuite.log. If you followed
> https://docs.mailman3.org/en/latest/install/virtualenv.html#initial-configur
> ation it is /opt/mailman/web/logs/mailmanweb.log.
2 years, 2 months

[MM3-users] Re: old usernames appearing in mailman.log
by Ken Alker
--On Sunday, June 25, 2023 3:26 PM -0700 Mark Sapiro <mark(a)msapiro.net>
wrote:
> On 6/25/23 2:27 PM, Ken Alker wrote:
>> --On Sunday, June 25, 2023 1:14 PM -0700 Mark Sapiro <mark(a)msapiro.net>
>> wrote:
>> I see this in the logs from just after midnight:
>>
>> Jun 25 00:13:04 2023 (386086) No cached copy of the public suffix list
>> found
>> Jun 25 00:13:04 2023 (386086) ACCEPT:
>> <7500f0e2-1ae1-309d-60d7-6e592c7abf7a(a)west.net>
>> Jun 25 00:13:04 2023 (386090) HyperKitty failure on
>> https://lists.netlojix.com/hyperkitty/api/mailman/urls:
>>
>> Followed by a huge amount of HTML (strange).
>
> This is all from one post.
>
> The first is normal it just says that Mailman's
> var/public_suffix_list.dat doesn't exist, but it should be retrieved from
> https://publicsuffix.org/list/public_suffix_list.dat and then saved at
> var/public_suffix_list.dat so it doesn't need to be retrieved from the
> web again until the saved copy is older that the configured
> dmarc.cache_lifetime (default = 7 days, so that message) after which time
> the message will be 'Cached copy of public suffix list is out of date'
>
> The second is acceptance of the post.
>
> The third is a failure in archiving the message. Th HTML should contain
> an error message with a traceback which should help determine the problem.
>
>
>> Is there a way to kick it into re-running whatever it does at midnight
>> so I can test this again after putting the public suffix list back? I
>> assume I can just execute "mailman-web runjobs daily", but will this
>> mess things up, or is it OK to run it mid-day without stopping anything
>> first?
>
>
> Midnight is a coincidence in this case. the above are all due to the post
> with Message-ID: <7500f0e2-1ae1-309d-60d7-6e592c7abf7a(a)west.net>
>
> The cached var/public_suffix_list.dat should now be there with a
> timestamp of Jul 02 00:13:04 (7 days from Jun 25 00:13:04)
Yes, thanks.
>> Is the last (third) log line excerpt simply a result of the first, or do
>> I have something else messed up?
>
> The third is not because of the first. It is because of some issue with
> archiving that post.
I have studied the output, looked at the code lines referenced in the
Traceback, and I can't figure out the problem (I feel like the sad guy on
the side of the street with his hood up staring into the engine bay with
stream pouring out and not knowing what to do next). I did some analyses
on the log file and determined that there are 71 messages it is having
problems processing and there are 71 messages "stuck" in
/opt/mailman/mm/var/archives/hyperkitty/spool/ (and that it has tried to
process each message about 20 times). Since upgrading to V3.3.8 I've not
seen new messages get stuck like this (although it's only been running
smoothly for 24 hours now and there hasn't been much activity). But I'm
suspecting there was something awry between the conversion from V2 to V3 in
February and me installing V3.3.8 that caused this (based on message time
stamps). It is HIGHLY likely these messages are in the archiving spool as
a result of me unshunting the shunt queue and that they are copies of the
messages that got delivered to the subscribers when I did that... but are
now hung up in the archiving process.
Following is an excerpt from mailman.log. Note that the "first section"
(from DOCTYPE at top to 404 at bottom) is repeated four times (maybe not
identical; but similar) (so I did not include it to save room) before the
Traceback appears.
Jun 25 00:13:04 2023 (386086) No cached copy of the public suffix list found
Jun 25 00:13:04 2023 (386086) ACCEPT:
<7500f0e2-1ae1-309d-60d7-6e592c7abf7a(a)west.net>
Jun 25 00:13:04 2023 (386090) HyperKitty failure on
https://lists.netlojix.com/hyperkitty/api/mailman/urls:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>lists.netlojix.com</title>
<link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
<link rel="stylesheet"
href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/django-mailman3/css/main.css">
<link rel="stylesheet" href="/static/postorius/css/style.css">
<link rel="stylesheet"
href="/static/postorius/libs/fonts/font-awesome/css/font-awesome.min.css"
type="text/css" media="all" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and
media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file://
-->
<!--[if lt IE 9]>
<script
src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
<script src="/static/postorius/libs/respond/respond.min.js"></script>
<![endif]-->
</head>
<body>
<nav class="navbar navbar-expand-md navbar-light bg-light navbar-default">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggler collapsed"
data-toggle="collapse" data-target="#header-nav" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="fa fa-bars"></span>
</button>
<a class="navbar-brand" href="/mailman3/lists/"><span><img
src="/static/postorius/img/mailman_logo_small_trans.png" alt="Mailman
logo"/> Postorius</span></a>
</div>
<div class="collapse navbar-collapse" id="header-nav">
<ul class="nav navbar-nav mr-auto">
<li class="nav-item"><a href="/mailman3/lists/"
class="nav-link">
<span class="fa fa-envelope"></span>
Lists
</a></li>
<li class="nav-item"><a href="/archives/"
class="nav-link">
<span class="fa fa-comment"></span>
Archives
</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="nav-item"><a class="nav-link"
href="/accounts/login/?next=/hyperkitty/api/mailman/urls">
<span class="fa fa-sign-in"></span>
Login
</a></li>
<li class="nav-item"><a class="nav-link"
href="/accounts/signup/?next=/hyperkitty/api/mailman/urls">
<span class="fa fa-user-plus"></span>
Sign Up
</a></li>
</ul>
</div>
</div>
</nav>
<div class="container" role="main">
<h1>Page not found</h1>
<div class="alert alert-danger">This page either doesn't exist, or it
moved somewhere else.</div>
</div>
<footer class="footer">
<div class="container">
<p class="text-center">
<a href="https://postorius.readthedocs.org">Postorius
Documentation</a>
•
<a href="http://list.org">GNU Mailman</a>
•
Postorius Version 1.3.8
</p>
</div>
</footer>
<script
src="/static/postorius/libs/jquery/jquery-3.6.0.min.js"></script>
<script
src="/static/postorius/libs/popperjs/popper-v1.11.0.min.js"></script>
<script
src="/static/postorius/libs/bootstrap/js/bootstrap.min.js"></script>
<script src="/static/django-mailman3/js/main.js"></script>
<script src="/static/postorius/js/script.js"></script>
<script>
// Add the .js-enabled class to the body so we can style the elements
// depending on whether Javascript is enabled.
$(document).ready(function(){
$("body").addClass("js-enabled");
});
</script>
</body>
</html>
(404)
... above portion of log (or similar) repeats three more times ...
Jun 25 00:13:05 2023 (386083) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.8/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
File
"/opt/mailman/venv/lib/python3.8/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
1 year, 10 months

[MM3-users] Re: MM3 templates
by Odhiambo Washington
On Thu, Feb 16, 2023 at 10:26 AM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 2/15/23 23:04, Odhiambo Washington wrote:
> >
> > The last time I referred to the link, I deliberately duplicated the <LC>
> > folder in two locations:
> > [09:51 ~ ]$ ls -al /opt/mailman/mm/var/templates/site/en/
> > total 48
> > drwxr-xr-x 2 mailman mailman 512 Feb 14 08:53 .
> > drwxr-xr-x 3 mailman mailman 512 Feb 14 08:53 ..
> > -rw------- 1 mailman mailman 615 Jan 17 13:57
> domain:admin:notice:new-list.txt
> > -rw------- 1 mailman mailman 341 Jan 17 13:54
> list:admin:action:post.txt
> > -rw------- 1 mailman mailman 158 Dec 17 13:32
> list:member:digest:footer.txt
> > -rw------- 1 mailman mailman 452 Jan 17 13:54
> list:member:digest:masthead.txt
> > -rw------- 1 mailman mailman 137 Jan 17 13:55
> list:member:generic:footer.txt
> > -rw------- 1 mailman mailman 1219 Dec 8 15:12
> list:member:regular:footer.txt
> > -rw------- 1 mailman mailman 944 Jan 17 15:50
> list:user:action:subscribe.txt
> > -rw------- 1 mailman mailman 247 Jan 17 13:56
> list:user:notice:post.txt
> > -rw------- 1 mailman mailman 802 Jan 17 13:56
> list:user:notice:probe.txt
> > -rw------- 1 mailman mailman 639 Jan 17 13:57
> list:user:notice:welcome.txt
> >
> > Yet, it is NOT being picked. So definitely something is wrong somewhere.
>
>
> If you have the same list:* file in both
> /opt/mailman/mm/var/templates/site/en/ and
> /opt/mailman/mm/var/templates/lists/kictanet.lists.kictanet.or.ke/en/
> the ones in the lists directory will take precedence for that list over
> the ones in the site directory.
>
In my case, I had the exact same files in the two paths and the
list:user:action:subscribe.txt was still not used in my tests.
Why?
I have now created the directory:
mkdir -p /opt/mailman/mm/var/templates/domains/lists.kictanet.or.ke/en/
And I have placed the same files in there. Gearing up for a test to see if
the template will be used this time around.
> See
>
> https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/utilities/i18n…
> for a discussion of the search order.
>
Will do.
> >>
> >> Are the other templates such as list:member:regular:footer.txt used?
> >>
> >
> > I do see that in posts to the list, but I believe that is perhaps only
> > working because the list had that footer when it was imported from MM2.
>
> A template from import21 of the kictanet(a)lists.kictanet.or.ke list will
> be stored in the
> /opt/mailman/mm/var/templates/lists/kictanet.lists.kictanet.or.ke/en/
> directory.
>
It wasn't a template per se. It was the regular nondigest msg_footer from
MM2.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
2 years, 3 months

[MM3-users] Re: Installed from Howto_Install_Mailman3_On_Debian10, web not quite working
by Volkmar Grote
Hi Mark,
On 07.05.23 01:31, Mark Sapiro wrote:
> On 5/6/23 16:02, volkmar(a)grote-family.com wrote:
>>
>> My urls.py:
>>> (venv) mailman@me:/opt/mailman/mm$ grep -v "^#" urls.py
>>> from django.contrib import admin
>>> from django.urls import include, reverse_lazy, re_path
>>> from django.views.generic import RedirectView
>>>
>>> urlpatterns = [
>>> re_path(r'^$', RedirectView.as_view(
>>> url=reverse_lazy('list_index'),
>>> permanent=True)),
>>> re_path(r'^postorius/', include('postorius.urls')),
>>> re_path(r'^hyperkitty/', include('hyperkitty.urls')),
>>> re_path(r'', include('django_mailman3.urls')),
>>> re_path(r'^accounts/', include('allauth.urls')),
>>> # Django admin
>>> re_path(r'^admin/', admin.site.urls),
>>> ]
>
>
> We and the various docs are inconsistent about 'postorius' vs
> 'mailman3' and 'hyperkitty' vs 'archives' in urls. Add these
>
> re_path(r'^mailman3/', include('postorius.urls')),
> re_path(r'^archives/', include('hyperkitty.urls')),
>
> to your urlpatterns list in urls.py to cover both variants.
>
thanks for the quick reply.
I am one step closer to a solution,
"http://127.0.0.1:8000/postorius/lists/?all-lists#" seems to work now.
I get the functionality, but it looks ugly w/o any graphics, for which I
get yet another, slightly similar, error message:
>
>
> Page not found (404)
>
> Request Method: GET
> Request URL:
> http://127.0.0.1:8000/static/postorius/img/mailman_logo_small_trans.png
>
> Using the URLconf defined in |urls|, Django tried these URL patterns,
> in this order:
>
> 1. ^$
> 2. ^mailman3/
> 3. ^archives/
> 4. ^postorius/
> 5. ^hyperkitty/
> 6. ^user-profile/delete$ [name='mm_user_account_delete']
> 7. ^user-profile/$ [name='mm_user_profile']
> 8. ^accounts/
> 9. ^admin/
>
> The current path, |static/postorius/img/mailman_logo_small_trans.png|,
> didn’t match any of these.
>
The file exists, world readable:
> mailman@me:/opt/mailman/mm$ find . -name mailman_logo_small_trans.png -ls
> 124610 2 -rw-r--r-- 1 mailman mailman 1163 May 6 12:18
> ./venv/lib/python3.9/site-packages/postorius/static/postorius/img/mailman_logo_small_trans.png
> 125831 2 -rw-r--r-- 1 mailman mailman 1163 May 6 12:19
> ./static/postorius/img/mailman_logo_small_trans.png
Q&D MM3 configuration check:
> mailman@me:/opt/mailman/mm$ grep -i static *cfg *py|grep -v "#"
> settings_local.py: 'django.contrib.staticfiles',
> settings.py: 'django.contrib.staticfiles',
> settings.py: 'django.template.context_processors.static',
> settings.py:STATIC_ROOT = os.path.join(BASE_DIR, 'static')
> settings.py:STATIC_URL = '/static/'
> settings.py:STATICFILES_DIRS = (
> settings.py:STATICFILES_FINDERS = (
> settings.py: 'django.contrib.staticfiles.finders.FileSystemFinder',
> settings.py: 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
Nginx, /etc/nginx/conf.d/me.domain.de.conf
> server {
> listen 80;
> listen [::]:80;
>
> server_name me.domain.de;
> ...
> location /static/ {
> alias /opt/mailman/mm/static/;
> }
Again, many thanks in advance for any clue
Volkmar
2 years

[MM3-users] Solved Re: after last upgrade I've got a CSRF failed verification
by Guillermo Hernandez (Oldno7)
El 27/10/22 a las 5:48, Mark Sapiro escribió:
> On 10/26/22 04:33, Guillermo Hernandez (Oldno7) via Mailman-users wrote:
>>
>> I did it via pip and all seems to be working, but when I try to
>> discard or accept any message via postorius it shows a Forbidden 403
>> error CSRF verification failed.
>>
>> In my settings.py I have commented out these variables:
>>
>> # Other security settings
>> # SECURE_SSL_REDIRECT = True
>> # If you set SECURE_SSL_REDIRECT to True, make sure the
>> SECURE_REDIRECT_EXEMPT
>> # contains at least this line:
>> # SECURE_REDIRECT_EXEMPT = [
>> # "archives/api/mailman/.*", # Request from Mailman.
>> # ]
>> # SESSION_COOKIE_SECURE = True
>> # SECURE_CONTENT_TYPE_NOSNIFF = True
>> # SECURE_BROWSER_XSS_FILTER = True
>> # CSRF_COOKIE_SECURE = True
>> # CSRF_COOKIE_HTTPONLY = True
>> # X_FRAME_OPTIONS = 'DENY'
>>
>> I've been messing with them whith no results. It's like it lacked
>> some value in some template...
>
>
> It's not an issue with the code per se or the templates. These updates
> are all installed on mail.python.org and lists.mailman3.org and are
> working fine.
>
> After upgrading did you run
>
> django-admin collectstatic --clear
> django-admin compress
> django admin migrate
Since I made all the mailman3 enviroment wide server open (not using
venv) I already executed the migration doing a
su -m mailman3 -c "python3 manage.py collectstatic"
su -m mailman3 -c "python3 manage.py migrate"
Being mailman3 the user who runs all of mailman3 related stuff
I had problems doing the migrate part, showing an error of lacking
perms. I solved it running the migration under root (I know it could be
trouble after, but...)
After that the compress part showed errors... but the postorius web
maintenance was working well except for the CSRF error verification. I
will trace the compress errors and will try to find the problem later.
With your point to the CSRF_TRUSTED_ORIGINS parameter, I can now do the
accept or discard part of a receiving message to the lists (I put below
the config that is working for me).
All seems to be working now flawlessly.
Thanks once again for your guidance.
############
SESSION_COOKIE_SECURE = True
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_BROWSER_XSS_FILTER = True
CSRF_COOKIE_SECURE = True
CSRF_COOKIE_HTTPONLY = True
X_FRAME_OPTIONS = 'DENY'
#
CSRF_TRUSTED_ORIGINS = [
"https://*.mydomain-example.xxx",
"https://mydomain-example",
"https://mydomain",
]
############
>
> If you have and it doesn't help, you probably need to add
> CSRF_TRUSTED_ORIGINS to your settings.py.
>
> See
> https://docs.djangoproject.com/en/4.1/ref/settings/#csrf-trusted-origins
> and note the differences between Django <4.0 and >=4.0.
>
--
___________________________________________
Mailman's content filtering has removed the
following MIME parts from this message.
Content-Type: image/png
Name: firma-GHP-emails.png
Replaced multipart/alternative part with first alternative.
2 years, 6 months

[MM3-users] Re: Flushing/syncing hyperkitty with mailman
by Eric Abrahamsen
On 06/16/18 19:46 PM, Mark Sapiro wrote:
> On 06/16/2018 06:38 PM, Eric Abrahamsen wrote:
>>
>>
>> A bump for this, I've been getting this series of errors once a minute
>> for weeks now. There must be some way to clear out dangling thread
>> references? And I take it that for the meantime we shouldn't be using
>> the "delete thread" feature of hyperkitty...
>>
>>> [Q] ERROR Failed [rebuild_thread_cache_votes] - Thread matching query does not exist.
>>> [Q] INFO Process-1:1 processing [rebuild_email_cache_votes]
>>> [Q] ERROR Failed [rebuild_email_cache_votes] - Email matching query does not exist.
>>> [Q] INFO Process-1:2 processing [rebuild_thread_cache_votes]
>>> [Q] ERROR Failed [rebuild_thread_cache_votes] - Thread matching query does not exist.
>>> [Q] INFO Process-1:3 processing [rebuild_email_cache_votes]
>>> [Q] ERROR Failed [rebuild_email_cache_votes] - Email matching query does not exist.
>>> [Q] INFO Process-1:4 processing [rebuild_thread_cache_votes]
>>> [Q] ERROR Failed [rebuild_thread_cache_votes] - Thread matching query does not exist.
>>>
>>> Is there something more I should be doing to sync hyperkitty's database
>>> with mailman? I've got the crontab file in place, and that appears to be
>>> running without error. Anything else?
>
>
> Except that 'django-admin runjobs minutely' is probably what's producing
> the errors.
Yes, I guess that was poorly phrased...
> You might try 'django-admin runjob empty_threads' (normally a monthly
> job) or 'django-admin runjob thread_order_depth' (normally a yearly
> job). I don't know if they will clear this up or not, but I don't think
> it would hurt to try.
>
> See 'django-admin runjob --list' to see the various jobs and note that
> 'django-admin runjob update_index' which runs minutely and does an
> incremental update is not the same as 'django-admin update_index' which
> only runs manually and does a full search index update.
I've tried all the above with no luck, and am getting ready to dive a
bit deeper. It's been a bit confusing tracking all the code flows. The
rebuild_thread_cache_votes error occurs once a minute, at second 21. The
rebuild_email_cache_votes error is also once a minute, but at second 56.
Am I right that the only job that runs once a minute is the "runjob
update_index" command, and that the error must be (eventually) arising
from there? Does it seem meaningful that the two errors are offset by
around 30 seconds? Lastly, searching the source for the
rebuild_(email|thread)_cache_votes functions, they only seem to be
called within the "on_vote_added" method of Email and Thread objects,
but I don't see how that can be the source of the errors (as the objects
in question obviously exist). So it must be update_index, which means I
should be looking in haystack (ha) for whatever eventually calls these
functions. Does that all sound correct?
Thanks for your pointers,
Eric
6 years, 10 months

[MM3-users] Re: Disable archives per list
by Stephen J. Turnbull
Bernd Wurst writes:
> Am 25.02.21 um 22:01 schrieb Mark Sapiro:
> > Normally a list admin can select which of the enabled archivers is
> > active for that list via Postorius. To prevent this, you would have to
> > modify Postorius. It would be easy enough to just remove settings from
> > the relevant templates.
>
> This will take effect for all lists at once, I suppose. :(
I'm not familiar with the content of Postorius's templates, but they
support all of the Django features, so you can filter out the settings
for specific lists. It would require code and database schema changes
to make that configurable from Postorius, I think.
> Hyperkitty has a rather cool frontend but stores all messages from all
> lists together in one database table. Additionally, neither Mailman nor
> Hyperkitty seems to know or tell anything about archive sizes of a list.
> This is horribly for accounting.
Mailman core doesn't know anything about archives except where you've
told it to send them.
Historical note: I'm not saying it was a good idea, but the folks who
designed HyperKitty were aiming at the Fedora use-case. There's a
fair amount of cross-posting between Fedora lists, so I think this
makes sense for them both from the indexing and from the storage point
of view. I doubt they were thinking about the hosting perspective.
> So I thought if I can have a separate hyperkitty installation per user
> without having to duplicate the whole mailman.
You could do that, but it requires a separate port or domain for
each. If you're already aliasing a server (or a server farm) for
virtual domains, then that's no problem.
> Alternatively, I'd like to enable archiving only for some customers
> that buy a suitable plan.
> I did not really get into mailman plugins.
I don't think anybody has gotten into them.
> Is is possible for plugins to hook into such settings?
Since archiving involves getting the message from Mailman core, yes.
Plugins can only deal with that end though. Everything else is
controlled by the archiver itself.
Without a plugin, you could disable archiving somewhat easily by
giving each list a different posting pipeline that doesn't have the
'to-archive' handler in it. This wouldn't stop the list admin from
configuring, but ... there wouldn't be any archives there. I don't
know if that deserves a smiley. :-/ Unfortunately this would be
annoying because you'd have to go in and modify for each list.
With a plugin, Mailman core could refuse to configure a archive.
However, stock Postorius wouldn't know anything about that. It would
just see a "refused" response in the REST protocol, but without
modifying Postorius, I suspect it would just log and display an error
to the user. And without code changes Postorius can't provide a good
UI for that.
Steve
4 years, 2 months

[MM3-users] Re: Mailman3 on FreeBSD
by John Poltorak
Regarding location of mailman.cfg...FreeBSD adopt a strict directory
hierachy
https://www.freebsd.org/cgi/man.cgi?hier(7)
Anything installed outside the base OS belongs in /usr/local
I guess that issue is something for the FreeBSD porters of Mailman3...
I'll use /etc/mailman.cfg for the time being but I don't know what should
go in it. Can I see an example?
The other problem regarding sqlite was solved by
pkg install databases/py36-sqlite3
I'll get back to the install docs now. Thanks showing interest.
On Sun, Aug 13, 2017 at 2:25 AM, Abhilash Raj <maxking(a)asynchronous.in>
wrote:
> On Sat, 12 Aug 2017 18:10:49 -0700
> Mark Sapiro <mark(a)msapiro.net> wrote:
>
> > On 08/12/2017 04:51 PM, Barry Warsaw wrote:
> > > On Aug 10, 2017, at 16:32, John Poltorak <karotlopj(a)gmail.com>
> > > wrote:
> > >>
> > >> On FreeBSD they ought to be in /usr/local/etc/mailman.cfg however
> > >> I don't see any indication as to what I should put in this file
> > >> and if it was in /usr/local/etc/mailman.cfg then how would mailman
> > >> find it?
> > >
> > > It wouldn’t by default. Right now Mailman does not search
> > > for /usr/local/etc/mailman.cfg, but that wouldn’t be a difficult
> > > change to add. I’m not sure whether that would makes sense as a
> > > general default or not. I’m not up on the FreeBSD conventions and
> > > standards here; can you explain why /usr/local/etc is preferred
> > > over /etc on that distro?
> >
> >
> > I was hoping Abhilash would chime in here, because I think John is
> > using the docker image and there's probably a specific path for
> > mailman.cfg.
>
> As per his first message, I think John is using the prod setup from the
> documentaion[1].
>
> I don't have anything much to add on top of what Barry mentioned, it
> looks like something is wrong with the Python install and missing
> Sqlite3 module.
>
> The documentation does mention the paths where Core looks for
> configuration file and anything else can be specified using -C or
> MAILMAN_CONFIG_FILE environment variable.
>
> [1]: http://docs.mailman3.org/en/latest/prodsetup.html
>
> > As far as what goes in it, it could even be empty if you want to
> > accept all the defaults, but you probably want at least
> >
> > [mailman]
> > site_owner: real_person(a)example.com
> >
> > I expect if you do
> >
> > find -name mailman.cfg
> >
> > in your installation, you'll find at least examples.
> >
>
> thanks,
> Abhilash
>
> _______________________________________________
> Mailman-users mailing list
> mailman-users(a)mailman3.org
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>
>
7 years, 9 months

[MM3-users] Re: add custom styles to postorius list creation menu
by mhazan@mandint.org
Le 2022-05-03 09:44, mhazan(a)mandint.org a écrit :
> Le 2022-05-02 17:32, Mark Sapiro a écrit :
>> On 5/2/22 06:39, Michael Hazan wrote:
>>> Hello,
>>>
>>> When creating a list via postorius, i can see 3 style appear
>>> (announce, discussion, private). Is it possible to either create a
>>> new style and add it to that list or modify one of those style ?
>>
>>
>> See this thread
>> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/…
>>
>>
>
> Thanks i will look into setting up that plugin, hopefully an easier
> way to do that can make it's way to the default install.
working on that plugin, i have found where to inserts the various
setting, however it's not clear what types and possibles value are
excepted for each ? ie "advertised" is bool True/false, but what about
"default_member_action" ? i've tried hold 'hold' "hold" all throw error
when trying to apply the style. i cannot find the types in the
documentation and all the other non bool settings.
>>> Also, coming from mailman2, you could directly set the members post
>>> moderation action when subscribing, now you can only do it via the
>>> user menu, is there a way to automate this in mm3 ?
>>
>>
>> I don't understand what you mean here. In MM 2.1 a member had only one
>> setting - moderated yes or no and if moderated there was a list
>> setting for the moderation action. There was also a list setting for
>> whether new members were moderated by default. How were you setting
>> the new member's moderation when subscribing?
>>
>> You are correct that when subscribing a new member, the member gets
>> the default action for members and different action has to be set in a
>> separate operation. I don't think this is significantly different from
>> MM 2.1. Also, can you describe what you mean by "automate this".
>
> in MM2.1, if you set the list to moderated and default action to hold
> posting, you can set a some member to be un-moderated (mod bit off) to
> automatically allow their posting. In the web interface of MM2.1 there
> is a checkbox with moderated bit on/off on the member list itself, in
> the postorius interface for MM3 you have to open each members settings
> page to access that. For automation, as list owner, upon registering a
> member (via mass subscription) the possibility to change that ? also
> the me too/dupe setting for example.
>
> Thanks
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org
> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
3 years

[MM3-users] Re: Mailman3 without Hyperkitty in docker
by Danil Smirnov
Thank you very much Abhilash!
Could you set up 'latest' tag in postotius repo
<https://hub.docker.com/r/maxking/postorius/tags> please - as it exists for
core/web?
I'd like to have consistent approach across the images...
Also it would be really great to extend image labelling used for
*quay.io/maxking/mailman-*:rolling
<http://quay.io/maxking/mailman-*:rolling>* images to Docker Hub ones...
Version identification is quite hard for Docker...
With my best regards,
Danil
сб, 2 мар. 2019 г. в 03:19, Abhilash Raj <maxking(a)asynchronous.in>:
>
>
> On Thu, Feb 28, 2019, at 10:18 PM, Danil Smirnov wrote:
>
> Hi Abhilash,
>
> Thank you very much - the previous error is fixed now.
>
> But I have another one now, which causes the same 500 Server Error:
>
> bash-4.3# cat /opt/mailman-web-data/logs/uwsgi-error.log
> *** Starting uWSGI 2.0.18 (64bit) on [Fri Mar 1 05:42:09 2019] ***
> compiled with version: 6.3.0 on 01 March 2019 01:52:42
> os: Linux-3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017
> nodename: mailman-web
> machine: x86_64
> clock source: unix
> detected number of CPU cores: 2
> current working directory: /opt/mailman-web
> detected binary path: /usr/local/bin/uwsgi
> !!! no internal routing support, rebuild with pcre support !!!
> setgid() to 101
> setuid() to 100
> chdir() to /opt/mailman-web
> your memory page size is 4096 bytes
> detected max file descriptor number: 1048576
> building mime-types dictionary from file /etc/mime.types...1168 entry found
> lock engine: pthread robust mutexes
> thunder lock: disabled (you can enable it with --thunder-lock)
> uwsgi socket 0 bound to TCP address 0.0.0.0:8080 fd 8
> uwsgi socket 1 bound to TCP address 0.0.0.0:8000 fd 9
> Python version: 3.6.8 (default, Jan 30 2019, 23:58:16) [GCC 6.3.0]
> Python main interpreter initialized at 0x55a2df7f57e0
> python threads support enabled
> your server socket listen backlog is limited to 100 connections
> your mercy for graceful operations on workers is 60 seconds
> mapped 166752 bytes (162 KB) for 2 cores
> *** Operational MODE: threaded ***
> Traceback (most recent call last):
> File
> "/usr/local/lib/python3.6/site-packages/django/utils/module_loading.py",
> line 20, in import_string
> return getattr(module, class_name)
> AttributeError: module 'django.contrib.auth.middleware' has no attribute
> 'SessionAuthenticationMiddleware'
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
> File "wsgi.py", line 38, in <module>
> application = get_wsgi_application()
> File "/usr/local/lib/python3.6/site-packages/django/core/wsgi.py", line
> 13, in get_wsgi_application
> return WSGIHandler()
> File
> "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line
> 136, in __init__
> self.load_middleware()
> File
> "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line
> 34, in load_middleware
> middleware = import_string(middleware_path)
> File
> "/usr/local/lib/python3.6/site-packages/django/utils/module_loading.py",
> line 24, in import_string
> ) from err
> ImportError: Module "django.contrib.auth.middleware" does not define a
> "SessionAuthenticationMiddleware" attribute/class
> unable to load app 0 (mountpoint='') (callable not found or import error)
> *** no app loaded. going in full dynamic mode ***
> *** uWSGI is running in multiple interpreter mode ***
> spawned uWSGI master process (pid: 1)
> spawned uWSGI worker 1 (pid: 37, cores: 2)
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
> --- no python application found, check your startup logs for errors ---
>
> As per my investigation, this error possibly caused by Django upgrade:
>
> *The SessionAuthenticationMiddleware class is removed. It provided no
> functionality since session authentication is unconditionally enabled in
> Django 1.10.*
>
> See https://docs.djangoproject.com/en/2.0/releases/2.0/
>
> After I've removed the line
>
> https://github.com/maxking/docker-mailman/blob/master/postorius/mailman-web…
> from settings.py, the container is finally working.
>
> I've placed PR in github:
> https://github.com/maxking/docker-mailman/pull/314
>
>
> Thank you for your contributions!
>
> I have merged your pull request and it should now be out (hopefully!).
>
>
> Thank you for your help.
>
> Danil
>
>
> пт, 1 мар. 2019 г. в 04:33, Abhilash Raj <maxking(a)asynchronous.in>:
>
>
>
> On Thu, Feb 28, 2019, at 5:19 PM, Abhilash Raj wrote:
> > On February 27, 2019 11:53:34 PM PST, Danil Smirnov <danil(a)smirnov.la>
> wrote:
> > >Hi Mark,
> > >
> > >Actually all this stuff happens inside the container after it's started
> > >and
> > >initialized without errors. I didn't amend the image anyhow.
> > >
> > >Also I have the configuration based on docker-compose.yaml provided in
> > >the
> > >repository which works just fine for mailman-web image.
> > >
> > >The very same config with postorius image (+ UWSGI_STATIC_MAP param)
> > >fails
> > >with 500 error...
> > >
> > >Now answering your questions:
> > >
> > >ср, 27 февр. 2019 г., 22:56 Mark Sapiro <mark(a)msapiro.net>:
> > >
> > >> do you have django-q in INSTALLED_APPS in your Django settings and
> > >what
> > >> is set for Q_CLUSTER?
> > >>
> > >
> > >I've checked settings.py inside the container and I haven't found any
> > >of
> > >the mentioned configurations there.
> > >
> > >Does the manage.py that's being run here point to the right
> > >settings.py?
> > >>
> > >
> > >No clue.
> > >
> > >Also I wonder why we have some Hyperkitty-related cronjobs in non-HK
> > >configured image?
> > >
> > >
> https://github.com/maxking/docker-mailman/blob/master/postorius/mailman-web…
> >
> > Because I am a dum dum ;-)
> >
> > Will work on removing those crons and stuff. Would be nice if you
> > opened an issue on Github so that I don't forget.
>
> Should now be fixed in the latest image.
>
> >
> > >Danil
> > >
> > >
> > >
> > >> --
> > >> Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
> > >> San Francisco Bay Area, California better use your sense - B.
> > >Dylan
> > >> _______________________________________________
> > >> Mailman-users mailing list -- mailman-users(a)mailman3.org
> > >> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> > >> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> > >>
> > >_______________________________________________
> > >Mailman-users mailing list -- mailman-users(a)mailman3.org
> > >To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> > >https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> >
> >
> > --
> > Sent from my Android device with K-9 Mail. Please excuse my brevity.
>
> --
> thanks,
> Abhilash Raj (maxking)
>
>
> --
> thanks,
> Abhilash Raj (maxking)
>
>
>
6 years, 2 months