aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJ08nY2017-06-17 16:16:42 +0200
committerJ08nY2017-06-17 16:16:42 +0200
commit7ed01d423e68f6acdc1b516c27aec6ef4b1d59d7 (patch)
tree597cfd98bd7a3b2334d9c5c0ce1937441ee9c2ca /src
parentc866eed9c4084eebcfa0cbbb092fc56e63f12d05 (diff)
downloadmailman-pgp-7ed01d423e68f6acdc1b516c27aec6ef4b1d59d7.tar.gz
mailman-pgp-7ed01d423e68f6acdc1b516c27aec6ef4b1d59d7.tar.zst
mailman-pgp-7ed01d423e68f6acdc1b516c27aec6ef4b1d59d7.zip
Diffstat (limited to 'src')
-rw-r--r--src/mailman_pgp/pgp/__init__.py22
-rw-r--r--src/mailman_pgp/pgp/keyrings.py3
-rw-r--r--src/mailman_pgp/plugin.py3
3 files changed, 25 insertions, 3 deletions
diff --git a/src/mailman_pgp/pgp/__init__.py b/src/mailman_pgp/pgp/__init__.py
index e69de29..c96d1b0 100644
--- a/src/mailman_pgp/pgp/__init__.py
+++ b/src/mailman_pgp/pgp/__init__.py
@@ -0,0 +1,22 @@
+""""""
+
+import gpgmime
+from mailman.config import config as mailman_config
+from mailman.utilities.string import expand
+from public import public
+
+from mailman_pgp.config import config
+
+GPG_CONFIG_PATHS = ['homedir', 'keyring', 'secring', 'binary']
+
+
+@public
+class GPG(gpgmime.GPG):
+ def __init__(self):
+ self.list_key_size = config.getint('keypairs', 'size')
+ self.list_key_type = config.get('keypairs', 'type')
+
+ gpg_config = dict(
+ (k, expand(config.get('gpg', k), None, mailman_config.paths))
+ for k in GPG_CONFIG_PATHS)
+ super().__init__(**gpg_config)
diff --git a/src/mailman_pgp/pgp/keyrings.py b/src/mailman_pgp/pgp/keyrings.py
deleted file mode 100644
index d4fd4b4..0000000
--- a/src/mailman_pgp/pgp/keyrings.py
+++ /dev/null
@@ -1,3 +0,0 @@
-
-from public import public
-
diff --git a/src/mailman_pgp/plugin.py b/src/mailman_pgp/plugin.py
index eceff75..6921095 100644
--- a/src/mailman_pgp/plugin.py
+++ b/src/mailman_pgp/plugin.py
@@ -8,6 +8,7 @@ from zope.interface import implementer
from mailman_pgp.config import config
from mailman_pgp.database import Database, transaction
from mailman_pgp.model.list import EncryptedMailingList
+from mailman_pgp.pgp import GPG
from mailman_pgp.rest.root import RESTRoot
@@ -18,6 +19,7 @@ class PGPMailman:
"""See `IPlugin`."""
config.load(self.name)
config.db = Database()
+ config.gpg = GPG()
def post_hook(self):
"""See `IPlugin`."""
@@ -35,3 +37,4 @@ def on_delete(mlist):
if encrypted_list:
with transaction():
config.db.session.delete(encrypted_list)
+ # delete the keypairs here