I recently rebuilt my server (Ubuntu 20.04) and rebuilt mailman 2 - upgrading to the latest version 2.1.34. The mail server is postfix
I run three mailing lists, including "TESTmail". The same issue below affects all three lists.
On the General Page, I have filled in an administrator and a owner. The list options are set up that emails from non-members are held and the moderator should be notified.
* The poster of the email receives a notification that the email is being held
* The …
[View More]moderator does not receive any messages
* But looking at the postfix logs, it appears to me that mailman does try to send a message to the moderator
Apr 5 22:12:05 ip-xxx-xxx-xxx-xxx postfix/smtp[9473]: 6D0973EB91: to=<testmail-owner(a)lists.xxx.org.uk>,
But, the email message is being sent to the generic owner, rather than the specific names filled into either the moderator or administrator boxes on the general tab.
Also, I note that the footer of the mailing list has:
TESTmail list run by testmail-owner at lists.XXX.org.uk
rather than the specific owner.
Any clues as to what is not quite correct in the mailman setup?
[View Less]
Python 3.9.3 was released two days ago on Friday, April 2nd. It contains important security content listed below for reference. Unfortunately, it also introduced an unintentional ABI incompatibility, making some C extensions built with Python 3.9.0 - 3.9.2 crash with Python 3.9.3 on 32-bit systems. To minimize disruption, I decided to recall 3.9.3 and introduce this hotfix release: 3.9.4.
We highly recommend upgrading your Python 3.9 installations to 3.9.4 at your earliest convenience.
Get …
[View More]it here:
https://www.python.org/downloads/release/python-394/ <https://www.python.org/downloads/release/python-394/>
What is “ABI compatibility”?
Python guarantees that within a given language series (like the current 3.9) binary extensions written in C or C++ and compiled against headers of one release (like 3.9.0) will be importable from other versions in the same series (like 3.9.3). If this weren’t the case, library authors would have to ship separate binary wheels on PyPI for every single bugfix release of Python. That would be very inconvenient.
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#what…>What broke in Python 3.9.3?
In a fix for a corner-case crash around recursion limits and exceptions, the PyThreadState struct needed to change. While PyThreadState’s only documented public member is the *interp field <https://docs.python.org/3.9/c-api/init.html#c.PyThreadState>, it’s not uncommon for C extensions to access other fields in this struct as well.
When I approved the backport of this fix, I missed the fact that the variable size change would change the memory layout of said struct on 32-bit systems (on 64-bit systems alignment rules made the size change backwards compatible). Merging the backport was a mistake, and so 3.9.4 reverts it to restore compatibility with binary extensions built against Python 3.9.0 - 3.9.2. Details in bpo-43710 <https://bugs.python.org/issue43710>.
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#secu…>Security Content in Python 3.9.3
bpo-43631 <https://bugs.python.org/issue43631>: high-severity CVE-2021-3449 and CVE-2021-3450 were published for OpenSSL, it’s been upgraded to 1.1.1k in CI, and macOS and Windows installers.
bpo-42988 <https://bugs.python.org/issue42988>: CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer.
bpo-43285 <https://bugs.python.org/issue43285>: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it.
bpo-43439 <https://bugs.python.org/issue43439>: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo.
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#rele…>Release Calendar
Maintenance releases for the 3.9 series will continue at regular bi-monthly intervals, with 3.9.5 planned for May 3rd 2021 as well.
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#what…>What’s new?
The Python 3.9 series contains many new features and optimizations over 3.8. See the “What’s New in Python 3.9 <https://docs.python.org/3.9/whatsnew/3.9.html>” document for more information about features included in the 3.9 series. We also have a detailed change log for 3.9.3 <https://docs.python.org/release/3.9.3/whatsnew/changelog.html> specifically.
Detailed information about all changes made in version 3.8.9 can be found in its respective changelog <https://docs.python.org/release/3.8.9/whatsnew/changelog.html>.
<https://discuss.python.org/t/python-3-9-4-hotfix-is-now-available/8056#we-h…>We hope you enjoy those new releases!
Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.
Your friendly release team,
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
[View Less]
Hi,
The io module provides an open() function. It also provides an
OpenWrapper which only exists to be able to store open as a method
(class or instance method). In the _pyio module, pure Python
implementation of the io module, OpenWrapper is implemented as:
class OpenWrapper:
"""Wrapper for builtins.open
Trick so that open won't become a bound method when stored
as a class variable (as dbm.dumb does).
See initstdio() in Python/pylifecycle.c.
"""
def __new__(cls, *…
[View More]args, **kwargs):
return open(*args, **kwargs)
I would like to remove this class which is causing troubles in the PEP
597 implementation, but I don't know how. Simplified problem:
---
def func():
print("my func")
class MyClass:
method = func
func() # A
MyClass.method() # B
obj = MyClass()
obj.method() # C
---
With this syntax, A and B work, but C fails with TypeError: func()
takes 0 positional arguments but 1 was given.
If I decorate func() with @staticmethod, B and C work, but A fails
with TypeError: 'staticmethod' object is not callable.
Is OpenWrapper the only way to have a callable object which works in
the 3 variants A, B and C?
A, B and C work if MyClass is modified to use staticmethod:
class MyClass:
method = staticmethod(func)
Victor
--
Night gathers, and now my watch begins. It shall not end until my death.
[View Less]