Search results for query "sapiro"
- 5707 messages

[MM3-users] Re: Post-installation documentation?
by David Newman
On 11/25/21 1:16 PM, Mark Sapiro wrote:
> On 11/25/21 10:56 AM, David Newman wrote:
>>
>> Thanks for this. After setting these variables and restarting mailman3
>> and mailmanweb, the mailman user still cannot find a hyperkitty_import
>> command (neither can root, btw). Again, I installed MM3 and
>> Django/Postorius/Hyperkitty using the venv and web docs previously
>> referenced.
>
>
> Don't run mailman or django admin commands as root. This causes issues
> when files are created by root and can't be read by mailman.
Understood, thanks. I'd only tried root to determine if there was a
permissions issue, where hyperkitty_import really did exist but wasn't
available to the mailman user.
>
> What django admin command are you running?
As the mailman user, with venv activated:
(venv) mailman@lists:~$ hyperkitty_import -l testlist(a)lists.domain.com
/var/lib/mailman/archives/private/testlist.mbox/testlist.mbox
'testlist' and 'lists.domain.com' are redactions; they are correct in
the given command, but the command fails because the system can't find
hyperkitty_import.
(BTW
Also, because I'm looking to migrate from Mailman 2.1 installed from
Debian packages, all the 2.1 stuff is owned by the 'list' user. I'd
changed ownership of the above private archive to mailman:mailman for
the command not to complain about permissions.
> If you don't set
> DJANGO_SETTINGS_MODULE in the environment and you have activated your
> virtualenv and run `mailman-web` as the django admin command it will set
> /etc/mailman3/settings.py as the settings.
I'd run these two environment commands as the mailman user with
virtualenv activated:
export DJANGO_SETTINGS_MODULE=settings
export PYTHONPATH=/etc/mailman3/settings.py
Am I being overly literal here with 'settings' in that first command?
Asking because 'mailman-web check' runs clean before running these
commands and returns this error afterward:
ModuleNotFoundError: No module named 'settings'
Either way, the hyperkitty_import command still isn't found.
>> On the plus side, all lists now appear in the admin web page. However,
>> lists created from the admin page do not appear in a site list page,
>> even though all lists are in the same site/domain.
>
>
> By default, only lists that you are owner, moderator or subscriber for
> are shown. What if you click Filter by Role and select All?
Same result. In this case, the ID of the admin and list owner are the same.
>
>
>> Finally, how to make these exports permanent? I did not see this
>> covered in the migration doc above. This is on a Debian system where
>> the mailman user's shell is bash. Is this simply a matter of adding
>> environment variables in the mailman user's .bashrc file?
>
> You can do that but as I note above, if you run `mailman-web` you
> shouldn't need to. You can add a `source /opt/mailman/venv/bin/activate`
> command as mentioned at
> https://docs.mailman3.org/en/latest/install/virtualenv.html#activate-virtua….
Yes, this is what I have in mailman's .bashrc file. I'd followed that
venv doc for initial installation, and it activates the virtualenv
whenever launching a shell for mailman.
dn
3 years, 7 months

[MM3-users] Re: External MTA incoming mail: configuration
by Roland Giesler
On 2024/08/02 19:02, Mark Sapiro wrote:
> On 8/2/24 09:43, Roland Giesler via Mailman-users wrote:
>
>> Ah, so I just have to figure out why the LMTP runner is not running.
>
> Stop Mailman core and then start it. You must stop and then start as
> opposed to restart.
>
> If lmtp runner is not running after that check
> /var/log/mailman3/mailman.log for possible reasons. You can also check
> that log for reasons why it isn't currently running.
>
> You can also check /var/log/syslog* for events like out_of_memory that
> might have killed it.
I do now have the lmtp runner on port 8024.
# netstat -tunap | grep 8024
tcp 0 0 192.168.161.103:8024 0.0.0.0:*
LISTEN 46730/python3
In mailman.cfg I set it to listen on the LAN address instead of
172.0.0.1, since I'm expecting mails from my external MTA server.
In the logs of the MTA I see this however: warning: do not list domain
fast.za.net in BOTH virtual_mailbox_domains and relay_domains
Mailman creates these entries, but postfix doesn't like it. I don't see
any mail delivered to the mailman yet. Is this the problem?
In the MTA postfix main.cf:
relay_domains = hash:/etc/mailman3/data/postfix_domains
cat /etc/mailman3/data/postfix_domains
# AUTOMATICALLY GENERATED BY MAILMAN ON 2024-08-05 07:20:17
#
# This file is generated by Mailman, and is kept in sync with the binary
hash
# file. YOU SHOULD NOT MANUALLY EDIT THIS FILE unless you know what you're
# doing, and can keep the two files properly in sync. If you screw it up,
# you're on your own.
fast.za.net fast.za.net
and also
local_recipient_maps=$virtual_mailbox_maps,
hash:/etc/mailman3/data/postfix_lmtp
cat /etc/mailman3/data/postfix_lmtp
# AUTOMATICALLY GENERATED BY MAILMAN ON 2024-08-05 07:20:17
#
# This file is generated by Mailman, and is kept in sync with the binary
hash
# file. YOU SHOULD NOT MANUALLY EDIT THIS FILE unless you know what you're
# doing, and can keep the two files properly in sync. If you screw it up,
# you're on your own.
# Aliases which are visible only in the @fast.za.net domain.
test(a)fast.za.net lmtp:[192.168.161.103]:8024
test-bounces(a)fast.za.net lmtp:[192.168.161.103]:8024
test-confirm(a)fast.za.net lmtp:[192.168.161.103]:8024
test-join(a)fast.za.net lmtp:[192.168.161.103]:8024
test-leave(a)fast.za.net lmtp:[192.168.161.103]:8024
test-owner(a)fast.za.net lmtp:[192.168.161.103]:8024
test-request(a)fast.za.net lmtp:[192.168.161.103]:8024
test-subscribe(a)fast.za.net lmtp:[192.168.161.103]:8024
test-unsubscribe(a)fast.za.net lmtp:[192.168.161.103]:8024
Then there's:
virtual_mailbox_domains=sqlite:/etc/postfix/virtual-mailbox-domains.cf
cat /etc/postfix/virtual-mailbox-domains.cf
dbpath=/home/user-data/mail/users.sqlite
query = SELECT 1 FROM users WHERE email LIKE '%%@%s' UNION SELECT 1 FROM
aliases WHERE source LIKE '%%@%s' UNION SELECT 1 FROM auto_aliases WHERE
source LIKE '%%@%s'
When I run that query in sqlite3, it returns no records, so I'm not sure
how this is supposed to work. %s to me means that first argument, so is
this used in python and then %s is the argument sent to this query?
The bottom line of this all is that a new signup message that I reply to
is being received by box2.gtahardware,co.za, but not by mailman3 and I
cannot find the point where it fails in the logs.
10 months, 3 weeks

[MM3-users] Re: National language messages in mm3 notifications
by Ivan Kuznetsov
Hello
All works fine if all the site, mailing list and user languages are
equal. But I found at least two corner cases if languages are not same:
1) Site language is Russian. User default language is US English. User
subscribes to mailing list with non-English preferred language (Russian)
User greeting message have correct body encoding but garbled Subject:
header:
=================
Return-Path: <test-bounces(a)solvo.ru>
[...]
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: ????? ?????????? ? ?????? ???????? "Test"
From: test-request(a)solvo.ru
To: =?utf-8?b?0JjQstCw0L0g0JrRg9C30L3QtdGG0L7QsiAo0YLQtdGB0YIp?=
<ikuznetsov(a)solvo.ru>
X-No-Archive: yes
Message-ID:
<164370087756.3121264.15600221365450238466(a)mail-g3-vlan10.solvo.ru>
Date: Tue, 01 Feb 2022 10:34:37 +0300
Precedence: bulk
X-Mailman-Version: 3.3.5
List-Id: =?utf-8?b?0KLQtdGB0YLQvtCy0YvQuSDRgdC/0LjRgdC+0Lo=?=
<test.solvo.ru>
List-Help: <mailto:test-request@solvo.ru?subject=help>
List-Owner: <mailto:test-owner@solvo.ru>
List-Subscribe: <mailto:test-join@solvo.ru>
List-Unsubscribe: <mailto:test-leave@solvo.ru>
Welcome to the "Test" mailing list!
To post to this list, send your message to:
test(a)solvo.ru
[...]
=================
2) Site language is Russian. User default language is US English. User
subscribes to mailing list with preferred US English language.
Moderator notify message has Subject: garbled
=================
Return-Path: <test-bounces+kia=solvo.ru(a)solvo.ru>
[...]
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: ????? ?????? ?? ???????? ?? ?????? ???????? Test ??
ikuznetsov(a)solvo.ru
From: test-owner(a)solvo.ru
To: =?utf-8?b?0JjQstCw0L0g0JrRg9C30L3QtdGG0L7Qsg==?= <kia(a)solvo.ru>
Message-ID:
<164370607233.3121263.10615836031266859672(a)mail-g3-vlan10.solvo.ru>
Date: Tue, 01 Feb 2022 12:01:12 +0300
Precedence: bulk
X-Mailman-Version: 3.3.5
List-Id: =?utf-8?b?0KLQtdGB0YLQvtCy0YvQuSDRgdC/0LjRgdC+0Lo=?=
<test.solvo.ru>
List-Help: <mailto:test-request@solvo.ru?subject=help>
List-Owner: <mailto:test-owner@solvo.ru>
List-Subscribe: <mailto:test-join@solvo.ru>
List-Unsubscribe: <mailto:test-leave@solvo.ru>
X-DrWeb-SpamScore: 315
X-DrWeb-SpamState: spam
X-DrWeb-SpamDetail:
gggruggvucftvghtrhhoucdtuddrgedvvddrgedvgdduvdeiucetufdoteggodetrfcurfhrohhfihhlvgemucfftfghgfeunecuuegrihhlohhuthemuceftddtnecuogetfedtuddqtdduucdludehmdenogfogedtledqfeefucdlfedttddmnecujfgurhepgggtgffuhffvkfffphejfedvtdfjsehtjeertddttddvnecuhfhrohhmpehtvghsthdqohifnhgvrhesshholhhvohdrrhhunecuggftrfgrthhtvghrnheptedvledvheefueekieektdeuueeiheekffehleeuffeiteeuteelheeggfeftdfg
X-DrWeb-SpamVersion: Vade Retro 01.422.42#126 AS+AV+AP Profile: DRWEB;
Bailout: 300
X-AntiVirus: Checked by Dr.Web [MailD: 11.1.12.2108031732, SE:
11.1.7.2106242330, Core engine: 7.00.52.08270, Virus records: 10792308,
Updated: 2022-Feb-01 07:11:29 UTC]
Message-ID-Hash: KFWOCUEE7SSJMLW222QGFECTNTBXYDEG
X-Message-ID-Hash: KFWOCUEE7SSJMLW222QGFECTNTBXYDEG
X-MailFrom: test-bounces(a)solvo.ru
X-DrWeb-SpamScore: 300
X-DrWeb-SpamState: spam
X-DrWeb-SpamDetail:
gggruggvucftvghtrhhoucdtuddrgedvvddrgedvgdduvdeiucetufdoteggodetrfcurfhrohhfihhlvgemucfftfghgfeunecuuegrihhlohhuthemuceftddtnecuogfogedtledqfeefucdlfedttddmnecujfgurhepgggtgffuhffvkfffphejfedvtdfjsehtjeertddttddvnecuhfhrohhmpehtvghsthdqohifnhgvrhesshholhhvohdrrhhunecuggftrfgrthhtvghrnheptedvledvheefueekieektdeuueeiheekffehleeuffeiteeuteelheeggfeftdfg
X-DrWeb-SpamVersion: Vade Retro 01.422.42#126 AS+AV+AP Profile: DRWEB;
Bailout: 300
X-AntiVirus: Checked by Dr.Web [MailD: 11.1.12.2108031732, SE:
11.1.7.2106242330, Core engine: 7.00.52.08270, Virus records: 10792308,
Updated: 2022-Feb-01 07:11:29 UTC]
Your authorization is required for a mailing list subscription request
approval:
For: =?utf-8?b?0JjQstCw0L0g0JrRg9C30L3QtdGG0L7QsiAo0YLQtdGB0YIp?=
<ikuznetsov(a)solvo.ru>
List: test(a)solvo.ru
=================
User greeting message has correct English body and garbled Subject as in
case 1
It seems that notifications Subject encoding is selected based on list
or user preferred language, but Subject text come from site-wide global
strings, translated to site language.
18.01.2022 20:08, Mark Sapiro wrote:
> On 1/18/22 5:31 AM, Ivan Kuznetsov wrote:
>> Hello
>>
>> There is a problem with moderator/administrator notifications used
>> national (non-acsii) characters in templates. Messages came with all
>> non-ascii chars changed to '?'
> ...
>> What am I missing in setup?
>
> Set the list's preferred language to Russian and possibly set
>
> default_language: ru
>
> in the [mailman] section of mailman.cfg.
>
--
С уважением, Иван Кузнецов
Руководитель технического отдела
Группа компаний "СОЛВО"
+7(812)60-60-555
+7(495)66-83-003
+7(921)740-72-61
http://www.solvo.ru
СОЛВО - Эталон Автоматизации Логистики
3 years, 5 months

[MM3-users] Re: Creating superuser - problem with documentation or it's just me?
by Odhiambo Washington
On Mon, 27 Jul 2020 at 02:01, Mark Sapiro <mark(a)msapiro.net> wrote:
> On 7/26/20 9:39 AM, Odhiambo Washington wrote:
> > Hi,
> >
> > In my quest to create a superuser, I followed another HOWTO -
> > https://docs.mailman3.org/en/latest/devsetup.html
> >
> > (venv) [root@gw /opt/mailman/git/mailman-suite/mailman-suite_project]#
> > python manage.py migrate
> > Traceback (most recent call last):
>
> manage.py migrate (or django-admin migrate) is part if the
> mailman-post-update script. It doesn't work here because when you run it
> this way, it doesn't get your settings.py.
>
I have taken note of that. Thank you.
> ModuleNotFoundError: No module named '_sqlite3'
>
> And it's looking for sqlite3 because that's the default database.
> > *<==============================================================*
> > (venv) [root@gw /opt/mailman/git/mailman-suite/mailman-suite_project]#
> pip
> > install pysqlite3
>
> You don't need this. You need to run django-admin with the correct
> settings.
>
Thanks for clarifying.
> So I figured out that I need to put my own settings_local.py into the
> > directory and let the command rely on MySQL as the database backend since
> > by default, it uses sqlite3 backend.
> >
> > But the question then is WHY is this not documented on the above page???
>
>
> Because that's not relevant to what you are doing. You are trying to
> install Mailman for production, not development.
>
Okay. That is true.
> > How can I delete the superuser after creating it??
>
>
> The only django-admin or manage.py you should run is
> /opt/mailman/mm/bin/djhango-admin. You can run `django-admin
> createsuperuser` to create a superuser. If you want to delete one, you
> need to go to the Django admin web UI - should be
> http://your.server/admin - login as a superuser and go to the Users page
> and delete it. You should probably do this as a different superuser
>
The reason I asked for how to delete superuser came from the fact that from
the above confusion,
I needed to create a superuser.
So now I have tried to see if there is such option from django-admin, but:
(venv) [root@gw /opt/mailman/mm]# django-admin --help
Type 'django-admin help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
*Note that only Django core commands are listed as settings are not
properly configured (error: Requested setting INSTALLED_APPS, but settings
are not configured. You must either define the environment variable
DJANGO_SETTINGS_MODULE or call settings.configure() before accessing
settings.).*
(venv) [root@gw /opt/mailman/mm]#
So is something wrong with my settings????
I do not see the command to create the superuser listed.
My settings_local.py has got only the bits from settings.py that I have
customized.
Thank you for your patience.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", grep ^[^#] :-)
4 years, 11 months

[MM3-users] Re: Mailman3 without Hyperkitty in docker
by Abhilash Raj
Test email to check something, please ignore.
Abhilash
On Fri, Mar 1, 2019, at 5:19 PM, Abhilash Raj wrote:
>
>
> 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)
>
>
--
thanks,
Abhilash Raj (maxking)
6 years, 3 months

[MM3-users] Re: hyperkitty failed to create a thread
by tlhackque
On 11-Feb-19 17:08, Marvin Gülker wrote:
> Hi,
>
> Am 11. Februar 2019 um 13:20 Uhr -0800 schrieb Mark Sapiro:
>> I downloaded the February mbox from
>> <https://wlug.mailman3.com/hyperkitty/list/wlug@lists.wlug.org/export/wlug@l…>
>> and imported it to a test list with 'django-admin hyperkitty_import and
>> see the same issue.
> Here's the Hyperkitty Mbox for my affected mailinglist:
> <https://lists.secretchronicles.org/hyperkitty/list/tsc-devel@lists.secretch…>
>
> Maildir from my local machine as received from Mailman via e-mail:
> <https://files.guelker.eu/misc/tsc-devel.tar.gz>
>
>> Examination of the mbox shows for the first message [...]
>> Note the folding of the header and the double angle brackets.
> I can confirm that I see this behaviour for my affected mailinglist as
> well. The Message-ID header is broken over two lines with double angle
> brackets in the Hyperkitty MBox linked above:
>
> Message-ID: <
> <153582973006.27514.7508703206376217479(a)alexandria.secretchronicles.org>>
>
> However, the original message as it was delivered by Mailman to me does
> not have such a weird message-id header:
>
> Message-ID:
> <153582973006.27514.7508703206376217479(a)alexandria.secretchronicles.org>
>
> In this message, the header is broken exactly as shown above after the
> colon of "Message-ID:". Maybe some problem with parsing long Message-ID
> headers, or ones folded over multiple lines?
>
> With regard to bug reporting on gitlab.com: I already have accounts on a
> ton of sites, and at some point I'd actually like to stop creating new
> ones all the time...
>
> Marvin
>
The double angle brackets are a problem.
The folding is legal. Any whitespace in a header (not inside tokens,
such as quoted strings, of course) can be replaced by a <CR><LF><one
whitespace character> So
Message-ID: <glorp>
is identical to
Message-ID:
<glorp>
(See RFC2822 3.2.3 for a more precise explanation)
A message-ID within <<>> is not valid; whatever generated it has a bug.
RFC2822 grammar
message-id = "Message-ID:" msg-id CRLF
in-reply-to = "In-Reply-To:" 1*msg-id CRLF
references = "References:" 1*msg-id CRLF
msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS]
id-left = dot-atom-text / no-fold-quote / obs-id-left
id-right = dot-atom-text / no-fold-literal / obs-id-right
no-fold-quote = DQUOTE *(qtext / quoted-pair) DQUOTE
no-fold-literal = "[" *(dtext / quoted-pair) "]"
specials = "(" / ")" / ; Special characters used in
"<" / ">" / ; other parts of the syntax
"[" / "]" /
":" / ";" /
"@" / "\" /
"," / "." /
DQUOTE
atext = ALPHA / DIGIT / ; Any character except controls,
"!" / "#" / ; SP, and specials.
"$" / "%" / ; Used for atoms
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
atom = [CFWS] 1*atext [CFWS]
dot-atom = [CFWS] dot-atom-text [CFWS]
dot-atom-text = 1*atext *("." 1*atext)
6 years, 4 months

[MM3-users] Re: FYI: Django security releases issued: 4.0.6 and 3.2.14
by David Newman
On 7/7/22 3:35 PM, Mark Sapiro wrote:
> On 7/7/22 3:09 PM, David Newman wrote:
>>
>> I *think* the command runs if I escape the hyphen:
>>
>> root@somehost:/opt/mailman/venv/lib/python3.9/site-packages# grep -r
>> '\-jango' /opt/mailman/venv/lib/python3.9/site-packages/
>>
>> But then that doesn't return anything.
>
> Yes, escaping the hyphen is the correct thing to do. You could also try
> something like
> ```
> grep -r '.-jango' /opt/mailman/venv/lib/python3.9/site-packages/
> ```
> but that will also return nothing.
>
> See
> https://stackoverflow.com/questions/67613777/pip-ignoring-invalid-distribut…
> https://stackoverflow.com/questions/68880743/why-do-i-get-this-when-using-p…
> and perhaps other hits from
> https://www.google.com/search?q=pip+warning+ignoring+invalid+distribution
>
> Look for
> ```
> ls -la /opt/mailman/venv/lib/python3.9/site-packages/~jango*
> ```
> i.e. `~jango` rather than `-jango`
Interesting -- that does produce two directories with names starting
with a tilde:
/opt/mailman/venv/lib/python3.9/site-packages/~jango:
total 100
drwxr-xr-x 19 root root 4096 Jul 7 10:56 .
drwxr-xr-x 188 mailman mailman 12288 Jul 7 12:38 ..
drwxr-xr-x 3 root root 4096 Jul 7 10:56 apps
drwxr-xr-x 3 root root 4096 Jul 7 10:56 bin
drwxr-xr-x 7 root root 4096 Jul 7 10:56 conf
drwxr-xr-x 18 root root 4096 Jul 7 10:56 contrib
drwxr-xr-x 11 root root 4096 Jul 7 10:56 core
drwxr-xr-x 6 root root 4096 Jul 7 10:56 db
drwxr-xr-x 3 root root 4096 Jul 7 10:56 dispatch
drwxr-xr-x 5 root root 4096 Jul 7 10:56 forms
drwxr-xr-x 3 root root 4096 Jul 7 10:56 http
-rw-r--r-- 1 root root 800 Jul 7 10:56 __init__.py
-rw-r--r-- 1 root root 211 Jul 7 10:56 __main__.py
drwxr-xr-x 3 root root 4096 Jul 7 10:56 middleware
drwxr-xr-x 2 root root 4096 Jul 7 10:56 __pycache__
-rw-r--r-- 1 root root 4896 Jul 7 10:56 shortcuts.py
drwxr-xr-x 5 root root 4096 Jul 7 10:56 template
drwxr-xr-x 3 root root 4096 Jul 7 10:56 templatetags
drwxr-xr-x 3 root root 4096 Jul 7 10:56 test
drwxr-xr-x 3 root root 4096 Jul 7 10:56 urls
drwxr-xr-x 4 root root 4096 Jul 7 10:56 utils
drwxr-xr-x 6 root root 4096 Jul 7 10:56 views
/opt/mailman/venv/lib/python3.9/site-packages/~jango-3.0.14.dist-info:
total 500
drwxr-xr-x 2 root root 4096 Jul 7 10:56 .
drwxr-xr-x 188 mailman mailman 12288 Jul 7 12:38 ..
-rw-r--r-- 1 root root 36843 Jul 7 10:56 AUTHORS
-rw-r--r-- 1 root root 83 Jul 7 10:56 entry_points.txt
-rw-r--r-- 1 root root 4 Jul 7 10:56 INSTALLER
-rw-r--r-- 1 root root 1552 Jul 7 10:56 LICENSE
-rw-r--r-- 1 root root 13231 Jul 7 10:56 LICENSE.python
-rw-r--r-- 1 root root 3625 Jul 7 10:56 METADATA
-rw-r--r-- 1 root root 415583 Jul 7 10:56 RECORD
-rw-r--r-- 1 root root 7 Jul 7 10:56 top_level.txt
-rw-r--r-- 1 root root 92 Jul 7 10:56 WHEEL
Going back to the original warning:
(venv) mailman@somehost:/home/dnewman$ pip show mailman-web
WARNING: Ignoring invalid distribution -jango
(/opt/mailman/venv/lib/python3.9/site-packages)
Name: mailman-web
..
The warning goes away after moving those two tilde directories out of
the way. Is it safe to delete them?
Thanks again.
dn
2 years, 11 months

[MM3-users] Re: spanish localization
by Victoriano Giralt
On Thu, 2021-02-11 at 11:15 -0800, Mark Sapiro wrote:
> For Mailman core you need to run
>
> ```
> cd mailman/messages/es/LC_MESSAGES
> msgfmt -o mailman.mo mailman.po
>
> ```
> to compile the mailman.po file for gettext.
Mark, I'd say the Mailman core message files taht get installed by pip
are "a bit outdated" (source files dates point to a nightly build) ...
proof here:
[root@isoc-es messages]# pwd
/usr/local/lib/python3.6/site-packages/mailman/messages
[root@isoc-es messages]# ll */LC*/
ca/LC_MESSAGES/:
total 164
-rw-r--r-- 1 root root 66479 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 95099 Oct 30 17:30 mailman.po
de/LC_MESSAGES/:
total 184
-rw-r--r-- 1 root root 81693 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 104049 Jan 17 20:41 mailman.po
en/LC_MESSAGES/:
total 172
-rw-r--r-- 1 root root 74350 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 97233 Oct 30 17:30 mailman.po
eo/LC_MESSAGES/:
total 60
-rw-r--r-- 1 root root 321 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 55254 Oct 30 17:30 mailman.po
es/LC_MESSAGES/:
total 184
-rw-r--r-- 1 root root 80741 Feb 12 09:18 mailman.mo
-rw-r--r-- 1 root root 102963 Nov 7 01:50 mailman.po
fr/LC_MESSAGES/:
total 124
-rw-r--r-- 1 root root 42261 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 81452 Jan 17 20:41 mailman.po
he/LC_MESSAGES/:
total 180
-rw-r--r-- 1 root root 79940 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 101264 Jan 17 19:20 mailman.po
hu/LC_MESSAGES/:
total 72
-rw-r--r-- 1 root root 9500 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 59290 Feb 3 02:44 mailman.po
it/LC_MESSAGES/:
total 180
-rw-r--r-- 1 root root 78543 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 100864 Jan 17 20:41 mailman.po
ja/LC_MESSAGES/:
total 60
-rw-r--r-- 1 root root 1296 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 55755 Oct 30 17:30 mailman.po
ko/LC_MESSAGES/:
total 164
-rw-r--r-- 1 root root 66668 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 94598 Oct 30 17:30 mailman.po
nb_NO/LC_MESSAGES/:
total 68
-rw-r--r-- 1 root root 6263 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 57744 Jan 17 19:20 mailman.po
pl/LC_MESSAGES/:
total 60
-rw-r--r-- 1 root root 1933 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 56068 Oct 30 17:30 mailman.po
pt/LC_MESSAGES/:
total 60
-rw-r--r-- 1 root root 1734 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 55963 Oct 30 17:30 mailman.po
ru/LC_MESSAGES/:
total 80
-rw-r--r-- 1 root root 12651 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 62127 Oct 30 17:30 mailman.po
sq/LC_MESSAGES/:
total 60
-rw-r--r-- 1 root root 321 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 55227 Oct 30 17:30 mailman.po
tr/LC_MESSAGES/:
total 168
-rw-r--r-- 1 root root 73537 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 96452 Jan 17 20:41 mailman.po
zh_Hans/LC_MESSAGES/:
total 64
-rw-r--r-- 1 root root 4945 Feb 3 02:47 mailman.mo
-rw-r--r-- 1 root root 57269 Jan 17 19:20 mailman.po
--
Victoriano Giralt Innovation Director
Digital Transformation Vicerectorate University of Malaga
+34952131415 SPAIN
==================================================================
Note: signature.asc is the electronic signature of present message
A: Yes.
> Q: Are you sure ?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email ?
4 years, 4 months

[MM3-users] Re: OS upgrade - anything to take care of?
by Ruth Ivimey-Cook
On 13/05/2021 20:06, Mark Sapiro wrote:
> On 5/13/21 11:28 AM, Ruth Ivimey-Cook wrote:
> Yes, I overlooked some aspects of virtualenv. Actually, the Python in
> the virtualenv is mostly symlinks to the Python it was built with, so
> whether it continues to work after a Python upgrade depends on what the
> symlinks are and how the Python upgrade installs.
Correct.
>
>> I would therefore appreciate some guidance on performing the upgrade
>> from 3.6 to 3.8 with the minimum of fuss.
>>
>> [I am not sure, but it could be possible to install python3.8 while
>> using Ubuntu 18, so that the dist upgrade never breaks anything. Worth
>> exploring.]
> I haven't tested any of this, but I suspect if Python is for example,
> /usr/bin/python3.6 and /usr/lib/python3.6 the upgrade removes those and
> installs /usr/bin/python3.8 and /usr/lib/python3.8, that you could just
> create symlinks from /usr/bin/python3.6 and /usr/lib/python3.6 to
> /usr/bin/python3.8 and /usr/lib/python3.8 respectively and it would work.
It would be nice if that worked, and I tried it, but it doesn't work
because the python system and site directories under ./lib are also
versioned (eg ./lib/python3.6/site-packages), so you would have to
additionally create symlinks for those and/or rebuild those.
> On the other hand, if the symlinks in the venv are to things like
> /usr/bin/python3 and /usr/lib/python3 which used to point to 3.6
> versions and after upgrade point to 3.8 versions, it should just work.
Sadly they aren't - they link to python3.6 or whatever... and even if
not, the /lib/ naming gets you as well.
And even if that can be worked around (eg by renaming the mailman
/lib/python3.6 folder to /lib/python3.8), the python .pyc files are
/also/ versioned, so you then have to find & delete them all to force
the new interpreter to rebuild them or python falls down in a heap.
> As far as installing Python3.8 on Ubuntu 18.04 goes, the machine I'm
> typing this on is Ubuntu 18.04 and has 6 different Python3 versions
>
> mark@msapiro:~$ /usr/bin/python3.5 --version
> Python 3.5.2
> mark@msapiro:~$ /usr/bin/python3.6 --version
> Python 3.6.9
> mark@msapiro:~$ /usr/local/bin/python3.6 --version
> Python 3.6.12
> mark@msapiro:~$ /usr/local/bin/python3.7 --version
> Python 3.7.9
> mark@msapiro:~$ /usr/local/bin/python3.8 --version
> Python 3.8.7
> mark@msapiro:~$ /usr/local/bin/python3.9 --version
> Python 3.9.1
>
> and /usr/bin/python3 is a symlink to /usr/bin/python3.6 and
> /usr/local/bin/python3 is a symlink to /usr/local/bin/python3.9, so take
> your pick...
Indeed... and it would be lovely if it was that simple, but my
experience was that even if you got a good python executable running,
the other versioned elements of a python install caused it to mess up.
What worked for me in the end was a combination of forcing a complete
rebuild/reinstall with the mailman3 python3.8 install, followed by a bit
of rejigging of file permissions and settings (probably because I'd
messed something up, but maybe not).
Regards
Ruth
--
Software Manager & Engineer
Tel: 01223 414180
Blog: http://www.ivimey.org/blog
LinkedIn: http://uk.linkedin.com/in/ruthivimeycook/
4 years, 1 month

[MM3-users] Re: configuring postfix local recipient table
by Stephen J. Turnbull
Alexander Inzinger-Zrock writes:
> It seems i set both *facepalm* while doing [1] and then adding
> changes according to [2]:
It's OK to set both. But you need to coordinate "layout: LAYOUT" and
"[paths.LAYOUT]" if you are going to set any paths such as var_dir.
> so i have empty logs at /opt/mailman/mm/var/logs
> and populated log files under /var/tmp/mailman/logs
"var_dir: /var/tmp/mailman" is a good setting for experimenting with
Mailman 3 before you're ready for production. But you don't want
/var/tmp for production. Your logs and any queued messages will get
deleted when the system reboots (for most system configurations).
> Now - before changing the /etc/postfix/main.cfg - there is the
> question that brings us almost back to the start:
For the production system you want main.cf as it is, but change
mailman.cfg to
[mailman]
layout: local
[paths.local]
var_dir: /opt/mailman/mm/var
For an experimental system where you don't care if stuff disappears on
reboot, you can comment out the two lines for [paths.local], and
change the prefix in the *_maps variables in main.cf from
/opt/mailman/mm/var/ to /var/tmp/mailman/.
> **what is the recommended place to put the files to?**
Wherever is convenient for you! There are four predefined "selectable
layouts", paths.local, paths.dev, paths.here, and paths.fhs based on
paths.master. paths.master defines the configurable names, and some
more or less convenient defaults. In particular, it chooses a
non-destructive (because temporary) var_dir: /var/tmp/mailman, and
puts all of Mailman's data in a flat structure underneath.
paths.local is just an alias for paths.master (defined in schema.cfg).
paths.dev and paths.here are aliases for paths.master with var_dir set
relative to mailman.cfg and the current directory respectively (two
configurations some developers find convenient). paths.fhs pretty
much ignores paths.master (except that it must use the same directory
names) to put the various components in places that conform to the
Filesystem Hierarchy Standard (FHS), which makes Debian and Ubuntu
packagers happy.
You can select any of those by using the "[mailman] layout" setting
(I'm not sure if you can use "layout: master", but you're not supposed
to). You can further modify them by using the "[paths.LAYOUT]
SOME_dir" settings. In production, you almost certainly want either
paths.fhs (as is) or paths.local with a var_dir setting either in /opt
or in /var.
> and that the above specific /opt/mailman -part is just a leftover
"/opt" is not a "leftover", it's a convention where the whole package,
including programs and resources, is placed in its own hierarchy (like
a macOS application). The "var_dir: /opt/mailman/mm/var" setup is a
configuration that Mark Sapiro found convenient and continues to use.
I prefer a different layout, but if I were you I'd stick with layout:
local, var_dir: /opt/mailman/mm/var because everybody who answers
questions is familiar with it.
> If my assumption is correct i would create an issue + merge-request
> for the docs.
No, the docs are generally fine. I'll check some details later.
--
GNU Mailman consultant (installation, migration, customization)
Sirius Open Source https://www.siriusopensource.com/
Software systems consulting in Europe, North America, and Japan
2 months