aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 7369cf0fcdc6c6cdec6ce05fcc1afa16409a65e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# mailman-pgp
[![build status](https://gitlab.com/J08nY/mailman-pgp/badges/master/build.svg)](https://gitlab.com/J08nY/mailman-pgp/commits/master) [![coverage report](https://gitlab.com/J08nY/mailman-pgp/badges/master/coverage.svg)](https://gitlab.com/J08nY/mailman-pgp/commits/master)

A plugin for GNU Mailman that adds encrypted mailing lists via PGP/MIME.

## Installation

Simply install into the same environment as Mailman Core and follow configuration steps to enable. For example using:
```
pip install mailman-pgp
```

## Configuration

See [mailman.cfg](src/mailman_pgp/config/mailman.cfg) for example configuration which enables the mailman-pgp plugin in Mailman Core and sets up the plugin configuration to the example [mailman_pgp.cfg](src/mailman_pgp/config/mailman_pgp.cfg).

```ini
[db]
# db path the PGP plugin will use to store list/user configuration (not keys!).
url = sqlite:////$DATA_DIR/pgp.db


[keydirs]
# Key directory used to store user public keys.
user_keydir = $DATA_DIR/pgp/user_keydir/

# Key directory used to store list keypairs.
list_keydir = $DATA_DIR/pgp/list_keydir/

# Key directory used to store archive public keys.
archive_keydir = $DATA_DIR/pgp/archive_keydir/


[keypairs]
# Whether to autogenerate the list key on list creation.
autogenerate = yes

# Type of primary list key and its size.
# Format: type:size
# type is one of:
#     RSA, DSA, ECDSA.
# size is the key size or curve name for ECDSA, which can be one of:
#     nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1,
#     brainpoolP512r1, secp256k1
primary_key = RSA:4096

# Type of list encryption subkey and its size.
# Format: type:size
# type is one of:
#     RSA, ECDH
# size is the key size or curve name for ECDH, which can be one of:
#     nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1,
#     brainpoolP512r1, secp256k1
sub_key = RSA:4096


[queues]
# The queue to which processed incoming messages are passed.
in = in_default
```

## License
    
    Copyright (C) 2017 Jan Jancar
    This program is free software; you can redistribute it and/or modify it under
    the terms of the GNU General Public License as published by the Free
    Software Foundation, either version 3 of the License, or (at your option)
    any later version.
    
    This program is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
    more details.
    
    You should have received a copy of the GNU General Public License along with
    this program.  If not, see <http://www.gnu.org/licenses/>.