Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
b035d936 by Mark Sapiro at 2022-09-17T17:44:44+00:00
Don't remove non X- headers regardless of anonymous_list_keep_headers.
Closes #1031
- - - - -
2f090dff by Mark Sapiro at 2022-09-17T17:44:44+00:00
Merge branch 'anon' into 'master'
Don't remove non X- headers regardless of anonymous_list_keep_headers.
Closes #1031
See merge request mailman/mailman!1038
- - - - -
5 changed files:
- src/mailman/config/schema.cfg
- src/mailman/docs/NEWS.rst
- src/mailman/handlers/cleanse.py
- src/mailman/rest/docs/systemconf.rst
- src/mailman/rest/tests/test_systemconf.py
Changes:
=====================================
src/mailman/config/schema.cfg
=====================================
@@ -47,11 +47,13 @@ sender_headers: from from_ reply-to sender
# This is a space separated list of regexps which match headers to be kept
# in messages to anonymous lists. Many headers are removed from posts to
# anonymous lists before this is consulted, but of the remaining headers,
-# any that don't match one of these patterns are also removed. The headers
-# kept by default are non X- headers, those X- headers added by Mailman
-# and any X-Spam- headers. The match is case-insensitive.
-anonymous_list_keep_headers: ^(?!x-) ^x-mailman- ^x-content-filtered-by:
- ^x-topics: ^x-ack: ^x-beenthere: ^x-list-administrivia: ^x-spam-
+# any X-* headers that don't match one of these patterns are also removed.
+# The X-* headers kept by default are those X-* headers added by Mailman
+# and any X-Spam- headers. The match is case-insensitive. This does not
+# affect non X-* headers, those of which might identify senders or their
+# domains are deleted or replaced.
+anonymous_list_keep_headers: ^x-mailman- ^x-content-filtered-by: ^x-topics:
+ ^x-ack: ^x-beenthere: ^x-list-administrivia: ^x-spam-
# Mail command processor will ignore mail command lines after designated max.
email_commands_max_lines: 10
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -69,6 +69,8 @@ Bugs fixed
parts of folded subject headers. (Closes #1021)
* The ``verp_confirmations`` setting has now been implemented with default
of ``yes``. (Closes #1023)
+* The ``anonymous_list_keep_headers`` setting now only applies to X-* headers
+ and will not cause non X-* headers to be removed. (Closes #1031)
REST
====
=====================================
src/mailman/handlers/cleanse.py
=====================================
@@ -53,6 +53,9 @@ class Cleanse:
'Ignored bad anonymous_list_keep_headers regexp %s: %s',
regexp, e)
for hdr in msg.keys():
+ # Only remove X- headers here.
+ if not hdr.lower().startswith('x-'):
+ continue
keep = False
for cre in cres:
if cre.search(hdr):
=====================================
src/mailman/rest/docs/systemconf.rst
=====================================
@@ -15,8 +15,8 @@ You can also get all the values for a particular section,
such as the
``[mailman]`` section...
>>> dump_json('http://localhost:9001/3.0/system/configuration/mailman')
- anonymous_list_keep_headers: ^(?!x-) ^x-mailman- ^x-content-filtered-by:
- ^x-topics: ^x-ack: ^x-beenthere: ^x-list-administrivia: ^x-spam-
+ anonymous_list_keep_headers: ^x-mailman- ^x-content-filtered-by: ^x-topics:
+ ^x-ack: ^x-beenthere: ^x-list-administrivia: ^x-spam-
cache_life: 7d
check_max_size_on_filtered_message: no
default_language: en
=====================================
src/mailman/rest/tests/test_systemconf.py
=====================================
@@ -37,9 +37,8 @@ class TestSystemConfiguration(unittest.TestCase):
self.assertIn('http_etag', json)
del json['http_etag']
self.assertEqual(json, dict(
- anonymous_list_keep_headers='^(?!x-) ^x-mailman- '
- '^x-content-filtered-by:\n'
- '^x-topics: ^x-ack: ^x-beenthere: '
+ anonymous_list_keep_headers='^x-mailman- ^x-content-filtered-by: '
+ '^x-topics:\n^x-ack: ^x-beenthere: '
'^x-list-administrivia: ^x-spam-',
cache_life='7d',
check_max_size_on_filtered_message='no',
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/49a6bd67980e84a15db369d10f20ac39c4c1f3b7...2f090dff28dae382ce502a11a92e1751c3ca3d93
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/49a6bd67980e84a15db369d10f20ac39c4c1f3b7...2f090dff28dae382ce502a11a92e1751c3ca3d93
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/mailman-checkins.python.org/
Member address: [email protected]