OpenPGP email encryption integration
There has been numerous efforts to integrate OpenPGP email encryption in mailing lists in the past. The state of the art right now is an encrypted-only mailing list software called Schleuder but it reimplements the entire stack.
A more modern approach is the one taken by Mailman-PGP, a Mailman "plugin" that allows any Mailman 3 mailing list to be turned into an encrypted mailing list. This was done as part of a Google SoC by Ján Jančár (@J08nY here). Their final report details the current state of affairs, but I figured I would create a meta-issue here to regroup all relevant and pending patches spread across the different mailman project, in the hope they will eventually resolve and Mailman 3 gets proper PGP support.
Core, branch maintained in https://gitlab.com/J08nY/mailman/tree/plugin
- pluggable components (mailman!288 (closed), superseded by mailman!308 (merged))
- list style descriptors (mailman!289 (closed), superseded by mailman!371 (merged))
- pluggable workflows (mailman!299)
- pipelines dynamical instanciation (mailman!287 (merged))
- REST events (mailman!264 (closed), alternative implementation of mailman-rest-events)
Django-pgp-mailman https://gitlab.com/J08nY/django-pgpmailman, requires:
Mailman client:
- plugin bindings (mailmanclient!34)
- split-sources (mailmanclient!38 (merged))
Django Mailman 3:
- template chunks (django-mailman3!8)
- fix/middleware-exception (django-mailman3!9 (closed))
Postorious:
- template chunks (postorius!215)
- list style selection (postorius!214 (closed), superseded by postorius!274 (merged))
- fix/middleware-exception (postorius!218 (merged))
- fix/mailmanclient-split (postorius!219 (closed), superseded by postorius!222 (merged))
Hyperkitty:
- template chunks (hyperkitty!65)
PGPy (unrelated to Mailman):
@J08nY's summary of the project was, in 2017:
I think I met almost all goals that the project idea required and my original proposal stated, with the noteworthy exception of remote archiving to HyperKitty which I just couldn’t find a way to integrate.