schleuder 2.2.1 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/bin/schleuder-fix-gem-dependencies +9 -2
- data/bin/schleuder-newlist +23 -10
- data/contrib/check-expired-keys.rb +1 -0
- data/ext/schleuder.conf +0 -4
- data/lib/schleuder/crypt.rb +58 -36
- data/lib/schleuder/list.rb +5 -6
- data/lib/schleuder/list_config.rb +4 -4
- data/lib/schleuder/mail.rb +36 -33
- data/lib/schleuder/member.rb +2 -2
- data/lib/schleuder/processor.rb +1 -1
- data/lib/schleuder/schleuder_config.rb +7 -7
- data/lib/schleuder/storage.rb +19 -19
- data/lib/schleuder/version.rb +1 -1
- data/man/schleuder-newlist.8 +66 -90
- data/man/schleuder.8 +195 -179
- metadata +7 -12
- metadata.gz.sig +0 -0
data/lib/schleuder/processor.rb
CHANGED
@@ -123,7 +123,7 @@ module Schleuder
|
|
123
123
|
end
|
124
124
|
|
125
125
|
if Schleuder.list.config.receive_encrypted_only && !mail.in_encrypted
|
126
|
-
self.bounce_or_drop 'not encrypted', "This address accepts only messages encrypted with this key:\n#{Schleuder.list.key}", mail
|
126
|
+
self.bounce_or_drop 'not encrypted', "This address accepts only messages encrypted with this key:\n#{Schleuder.list.key}", mail
|
127
127
|
end
|
128
128
|
|
129
129
|
if Schleuder.list.config.receive_authenticated_only && !(mail.from_member || mail.from_admin)
|
@@ -57,16 +57,16 @@ module Schleuder
|
|
57
57
|
|
58
58
|
### END OF CONFIG OPTIONS
|
59
59
|
|
60
|
-
def initialize(
|
61
|
-
if
|
62
|
-
@conf_dir = File.dirname(
|
63
|
-
elsif
|
60
|
+
def initialize(config=nil)
|
61
|
+
if config && config.is_a?(String)
|
62
|
+
@conf_dir = File.dirname(config)
|
63
|
+
elsif config.nil?
|
64
64
|
@conf_dir = '/etc/schleuder'
|
65
|
-
|
65
|
+
config = File.join(@conf_dir,'schleuder.conf')
|
66
66
|
end
|
67
67
|
|
68
|
-
# overload with
|
69
|
-
super(
|
68
|
+
# overload with config
|
69
|
+
super(config)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
data/lib/schleuder/storage.rb
CHANGED
@@ -33,18 +33,32 @@ module Schleuder
|
|
33
33
|
@schleuder_attributes ||= {}
|
34
34
|
end
|
35
35
|
|
36
|
-
# If +input+ is String
|
37
|
-
#
|
38
|
-
def initialize(input=nil
|
36
|
+
# If +input+ is String, we read the file at the given path.
|
37
|
+
# If +input+ is Hash, it will be used to fill instance variables.
|
38
|
+
def initialize(input=nil)
|
39
39
|
if input.kind_of?(Hash)
|
40
40
|
overload_from_hash!(input)
|
41
|
-
elsif input.kind_of?(String)
|
41
|
+
elsif input.kind_of?(String)
|
42
42
|
overload_from_file!(input)
|
43
|
-
|
43
|
+
elsif !input.nil?
|
44
44
|
raise "Unknown input: #{input.class}"
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
def to_hash
|
49
|
+
self.class.default_schleuder_attributes.keys.inject({}) do |res, key|
|
50
|
+
val = send(key)
|
51
|
+
res[key] = if val.is_a?(Array)
|
52
|
+
val.collect { |e| e.respond_to?(:to_hash) ? e.to_hash : e }
|
53
|
+
elsif val.respond_to?(:to_hash)
|
54
|
+
val.to_hash
|
55
|
+
else
|
56
|
+
val
|
57
|
+
end
|
58
|
+
res
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
48
62
|
private
|
49
63
|
|
50
64
|
# Load content from +filename+ and overwrite existing instance variables of
|
@@ -66,19 +80,5 @@ module Schleuder
|
|
66
80
|
end
|
67
81
|
end
|
68
82
|
end
|
69
|
-
|
70
|
-
def to_hash
|
71
|
-
self.class.default_schleuder_attributes.keys.inject({}) do |res, key|
|
72
|
-
val = send(key)
|
73
|
-
res[key] = if val.is_a?(Array)
|
74
|
-
val.collect { |e| e.respond_to?(:to_hash) ? e.to_hash : e }
|
75
|
-
elsif val.respond_to?(:to_hash)
|
76
|
-
val.to_hash
|
77
|
-
else
|
78
|
-
val
|
79
|
-
end
|
80
|
-
res
|
81
|
-
end
|
82
|
-
end
|
83
83
|
end
|
84
84
|
end
|
data/lib/schleuder/version.rb
CHANGED
data/man/schleuder-newlist.8
CHANGED
@@ -7,31 +7,34 @@
|
|
7
7
|
\fBschleuder\-newlist\fR \- create new Schleuder mailing list
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
|
10
|
+
\fBschleuder\-newlist\fR [\-c \fIbaseconfig\fR] \fInewlist@example\.net\fR
|
11
11
|
.
|
12
12
|
.br
|
13
|
-
|
13
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~[\-realname "\fIFoo List\fR"]
|
14
14
|
.
|
15
15
|
.br
|
16
|
-
|
16
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~[\-adminaddress \fIlistadmin@example\.net\fR]
|
17
17
|
.
|
18
18
|
.br
|
19
|
-
|
19
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~[\-initmember \fImember1@example\.net\fR
|
20
20
|
.
|
21
21
|
.br
|
22
|
-
\
|
22
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\-initmemberkey \fIpath\-to\-initmember\-publickey\fR]
|
23
23
|
.
|
24
24
|
.br
|
25
|
-
|
25
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~[\-privatekeyfile \fIpath\-to\-privatekey\fR
|
26
26
|
.
|
27
27
|
.br
|
28
|
-
|
28
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\-publickeyfile \fIpath\-to\-publickey\fR
|
29
29
|
.
|
30
30
|
.br
|
31
|
-
\
|
31
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\-passphrase "\fIkey passphrase\fR"]
|
32
32
|
.
|
33
33
|
.br
|
34
|
-
|
34
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~[\-mailuser \fIschleuder\fR]
|
35
|
+
.
|
36
|
+
.br
|
37
|
+
\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~[\-nointeractive]
|
35
38
|
.
|
36
39
|
.SH "DESCRIPTION"
|
37
40
|
\fBschleuder\-newlist\fR automates the creation of new Schleuder mailing lists\. For more information on Schleuder, please look at \fBschleuder\fR(8)\.
|
@@ -47,34 +50,47 @@ If no \fB\-privatekeyfile\fR, \fB\-publickeyfile\fR and \fB\-passphrase\fR are p
|
|
47
50
|
.
|
48
51
|
.SH "OPTIONS"
|
49
52
|
.
|
50
|
-
.
|
51
|
-
\fB\-
|
53
|
+
.TP
|
54
|
+
\fB\-c\fR \fIpath\-to\-schleuder\-configuration\fR:
|
52
55
|
.
|
53
|
-
.IP
|
54
|
-
|
56
|
+
.IP
|
57
|
+
Specify an alternate configuration directory than the default \fB/etc/schleuder\fR\.
|
55
58
|
.
|
56
|
-
.
|
57
|
-
\fB\-
|
59
|
+
.TP
|
60
|
+
\fB\-realname\fR "\fIFoo List\fR"
|
61
|
+
Specify the name of the mailing list\.
|
58
62
|
.
|
59
|
-
.
|
60
|
-
\fB\-
|
63
|
+
.TP
|
64
|
+
\fB\-adminaddress\fR \fIlistadmin@example\.net\fR
|
65
|
+
Specify the email address of a list administrator\. This address will be notified of errors, and depending on configuration may also be allowed to send restricted email commands\.
|
61
66
|
.
|
62
|
-
.
|
63
|
-
\fB\-
|
67
|
+
.TP
|
68
|
+
\fB\-initmember\fR \fImember1@example\.net\fR
|
69
|
+
Specify the first subscribed list member address\. Can be the same as the administrator address\. This option must be accompanied by \fB\-initmemberkey\fR\.
|
64
70
|
.
|
65
|
-
.
|
66
|
-
\fB\-
|
71
|
+
.TP
|
72
|
+
\fB\-initmemberkey\fR \fIpath\-to\-initmember\-publickey\fR
|
73
|
+
Specify the path to first subscribed list member public key\. \fB\-initmember\fR must also be specified\.
|
67
74
|
.
|
68
|
-
.
|
69
|
-
\fB\-
|
75
|
+
.TP
|
76
|
+
\fB\-privatekeyfile\fR \fIpath\-to\-privatekey\fR
|
77
|
+
Specify the path to a previously\-generated private key for the list\. This option must be accompanied by \fB\-publickeyfile\fR and \fB\-passphrase\fR\.
|
70
78
|
.
|
71
|
-
.
|
72
|
-
\fB\-
|
79
|
+
.TP
|
80
|
+
\fB\-publickeyfile\fR \fIpath\-to\-publickey\fR
|
81
|
+
Specify the path to a previously\-generated public key for the list\. This option must be accompanied by \fB\-privatekeyfile\fR and \fB\-passphrase\fR\.
|
73
82
|
.
|
74
|
-
.
|
75
|
-
\fB\-
|
83
|
+
.TP
|
84
|
+
\fB\-passphrase\fR "\fIkey passphrase\fR"
|
85
|
+
Specify the passphrase needed to access the private key specified in \fB\-privatekeyfile\fR\. This option must be accompanied by \fB\-publickeyfile\fR as well\.
|
76
86
|
.
|
77
|
-
.
|
87
|
+
.TP
|
88
|
+
\fB\-mailuser\fR \fIschleuder\fR
|
89
|
+
Specify the system user account under which \fBschleuder\fR(8) will be executed (when run as root, this defaults to \fBschleuder\fR)\.
|
90
|
+
.
|
91
|
+
.TP
|
92
|
+
\fB\-nointeractive\fR
|
93
|
+
When specified, no questions will be asked to complete missing information\.
|
78
94
|
.
|
79
95
|
.SH "EXAMPLES"
|
80
96
|
This creates a new list called \fBtest1\fR with the initial member \fBfoo@bar\.ch\fR\. A new keypair will be generated for the list\.
|
@@ -111,69 +127,26 @@ The list test2 will be created, a keypair from the following files with the pass
|
|
111
127
|
.IP "" 0
|
112
128
|
.
|
113
129
|
.SH "FILES"
|
114
|
-
/etc/schleuder/schleuder\.conf
|
115
|
-
.
|
116
|
-
.IP "" 4
|
117
|
-
.
|
118
|
-
.nf
|
119
|
-
|
120
|
-
Global Schleuder configuration
|
121
|
-
.
|
122
|
-
.fi
|
123
130
|
.
|
124
|
-
.
|
125
|
-
|
126
|
-
|
127
|
-
/etc/schleuder/default\-list\.conf
|
131
|
+
.TP
|
132
|
+
\fB/etc/schleuder/schleuder\.conf\fR
|
133
|
+
global Schleuder configuration
|
128
134
|
.
|
129
|
-
.
|
135
|
+
.TP
|
136
|
+
\fB/etc/schleuder/default\-list\.conf\fR
|
137
|
+
default list settings
|
130
138
|
.
|
131
|
-
.
|
132
|
-
|
133
|
-
|
139
|
+
.TP
|
140
|
+
\fB/var/schleuderlists/\fR\fIHOSTNAME\fR\fB/\fR\fILISTNAME\fR
|
141
|
+
list internal data
|
134
142
|
.
|
135
|
-
.
|
143
|
+
.TP
|
144
|
+
\fB/var/schleuderlists/\fR\fIHOSTNAME\fR\fB/\fR\fILISTNAME\fR\fB/list\.conf\fR
|
145
|
+
list settings
|
136
146
|
.
|
137
|
-
.
|
138
|
-
|
139
|
-
|
140
|
-
/var/schleuderlists/HOSTNAME/LISTNAME
|
141
|
-
.
|
142
|
-
.IP "" 4
|
143
|
-
.
|
144
|
-
.nf
|
145
|
-
|
146
|
-
List internal data
|
147
|
-
.
|
148
|
-
.fi
|
149
|
-
.
|
150
|
-
.IP "" 0
|
151
|
-
.
|
152
|
-
.P
|
153
|
-
/var/schleuderlists/HOSTNAME/LISTNAME/list\.conf
|
154
|
-
.
|
155
|
-
.IP "" 4
|
156
|
-
.
|
157
|
-
.nf
|
158
|
-
|
159
|
-
List settings
|
160
|
-
.
|
161
|
-
.fi
|
162
|
-
.
|
163
|
-
.IP "" 0
|
164
|
-
.
|
165
|
-
.P
|
166
|
-
/var/schleuderlists/HOSTNAME/LISTNAME/members\.conf
|
167
|
-
.
|
168
|
-
.IP "" 4
|
169
|
-
.
|
170
|
-
.nf
|
171
|
-
|
172
|
-
List susbcribers\.
|
173
|
-
.
|
174
|
-
.fi
|
175
|
-
.
|
176
|
-
.IP "" 0
|
147
|
+
.TP
|
148
|
+
\fB/var/schleuderlists/\fR\fIHOSTNAME\fR\fB/\fR\fILISTNAME\fR\fB/members\.conf\fR
|
149
|
+
list susbcribers
|
177
150
|
.
|
178
151
|
.P
|
179
152
|
All configuration files are formatted as YAML\. See \fIhttp://www\.yaml\.org/\fR for more details\.
|
@@ -184,8 +157,11 @@ Known bugs are listed on the Schleuder website\.
|
|
184
157
|
.SH "SEE ALSO"
|
185
158
|
\fBschleuder\fR(8), \fBaliases\fR(5), \fBgnupg\fR(7)\.
|
186
159
|
.
|
187
|
-
.
|
188
|
-
Schleuder website
|
160
|
+
.TP
|
161
|
+
Schleuder website
|
162
|
+
\fIhttp://schleuder\.nadir\.org/\fR
|
189
163
|
.
|
190
|
-
.
|
191
|
-
YAML website
|
164
|
+
.TP
|
165
|
+
YAML website
|
166
|
+
\fIhttp://www\.yaml\.org/\fR
|
167
|
+
|
data/man/schleuder.8
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
.TH "SCHLEUDER" "8" "June 2012" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
|
-
\
|
7
|
+
\fBschleuder\fR \- a groups email gateway
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
|
10
|
+
\fBschleuder\fR [\-c \fIbaseconfig\fR] \fIlistaddress\fR < \fIemail\fR
|
11
11
|
.
|
12
|
-
.
|
13
|
-
|
12
|
+
.br
|
13
|
+
\fBschleuder\fR [\-c \fIbaseconfig\fR] \-test [\fIlistaddress\fR]
|
14
14
|
.
|
15
15
|
.SH "DESCRIPTION"
|
16
16
|
Schleuder is a groups email gateway: subscribers can communicate encrypted (and pseudonymously) among themselves, receive emails from non\-subscribers and send emails to non\-subscribers via the list\.
|
@@ -22,22 +22,19 @@ Schleuder takes care of all decryption and encryption, stripping of headers, for
|
|
22
22
|
Email cryptography is handled by using GnuPG\. Schleuder understands all common encapsulation formats: \fBinline\fR, \fBmultipart/encrypted\fR and \fBmultipart/signed\fR\.
|
23
23
|
.
|
24
24
|
.P
|
25
|
-
|
26
|
-
.
|
27
|
-
.P
|
28
|
-
If run with the \fB\-test\fR option Schleuder checks that the setup and basic settings are in a workable state\.
|
25
|
+
schleuder(8) is usually called in delivery mode by a \fIMail Transport Agent\fR with an incoming email piped to its standard input\. For more informations on how to integrate Schleuder with your existing mail setup, please look at the Schleuder website: \fIhttp://schleuder\.nadir\.org/\fR
|
29
26
|
.
|
30
27
|
.P
|
31
|
-
|
28
|
+
schleuder\-newlist(8) automates the creation of new mailing lists\.
|
32
29
|
.
|
33
30
|
.SH "AUTOMATIC SENDING OF LIST PUBLIC KEY"
|
34
|
-
To receive the public key of the mailing list anybody can send an email to the special list address which includes \-sendkey as a postfix
|
31
|
+
To receive the public key of the mailing list anybody can send an email to the special list address which includes \fB\-sendkey\fR as a postfix:
|
35
32
|
.
|
36
33
|
.IP "" 4
|
37
34
|
.
|
38
35
|
.nf
|
39
36
|
|
40
|
-
listname\-sendkey@example\.
|
37
|
+
listname\-sendkey@example\.org
|
41
38
|
.
|
42
39
|
.fi
|
43
40
|
.
|
@@ -47,354 +44,373 @@ listname\-sendkey@example\.com
|
|
47
44
|
Schleuder will reply with the public key of the list without forwarding the request to the list\-members\.
|
48
45
|
.
|
49
46
|
.SH "EMAIL COMMANDS"
|
50
|
-
Schleuder provides some special commands for advanced features to be used by list\-members\. Generally they are called by keywords written into the first non\-blank line of an email\. Schleuder scans for those keywords in every incoming email that is encrypted and validly signed by a list\-admin or
|
51
|
-
.
|
52
|
-
.P
|
53
|
-
Administrative commands (membership and key management) must be sent to the request\-address or the list, which includes \-request as a postfix: listname\-request@example\.org
|
47
|
+
Schleuder provides some special commands for advanced features to be used by list\-members\. Generally they are called by keywords written into the first non\-blank line of an email\. Schleuder scans for those keywords in every incoming email that is encrypted and validly signed by a list\-admin or \(em if allowed by the list\'s configuration \(em a list\-member\.
|
54
48
|
.
|
55
49
|
.P
|
56
|
-
|
57
|
-
.
|
58
|
-
.P
|
59
|
-
To receive the list of members send:
|
50
|
+
Administrative commands (membership and key management) must be sent to the request\-address or the list, which includes \fB\-request\fR as a postfix:
|
60
51
|
.
|
61
52
|
.IP "" 4
|
62
53
|
.
|
63
54
|
.nf
|
64
55
|
|
65
|
-
|
66
|
-
|
67
|
-
You will receive a list of list\-admins and list\-members, and their public
|
68
|
-
keys (or the lack thereof)\.
|
56
|
+
listname\-request@example\.org
|
69
57
|
.
|
70
58
|
.fi
|
71
59
|
.
|
72
60
|
.IP "" 0
|
73
61
|
.
|
74
62
|
.P
|
75
|
-
|
63
|
+
Communicative commands (resending) must be sent to the normal list\-address\.
|
76
64
|
.
|
77
|
-
.
|
78
|
-
|
65
|
+
.SS "Membership management"
|
66
|
+
Resending is a list\-command, that means it is only allowed in emails sent over the mailing list\.
|
79
67
|
.
|
80
|
-
.
|
81
|
-
To
|
68
|
+
.TP
|
69
|
+
To receive the list of members send:
|
82
70
|
.
|
83
71
|
.IP "" 4
|
84
72
|
.
|
85
73
|
.nf
|
86
74
|
|
87
|
-
|
88
|
-
\-\-\-\-\-BEGIN PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
89
|
-
Version: GnuPG v1\.4\.9 (GNU/Linux)
|
90
|
-
|
91
|
-
mQGiBEjVO7oRBADQvT6wtD2IzzIiK0NbrcilCKCp4MWb8cYXTXguwPQI6y0Nerz4
|
92
|
-
dsK6J0X1Vgeo02tqA4xd3EDK8rdqL2yZfl/2egH8+85R3gDk+kqkfEp4pwCgp6VO
|
93
|
-
[\.\.\.]
|
94
|
-
pNlF/qkaWwRb048h+iMrW21EkouLKTDPFkdFbapV2X5KJZIcfhO1zEbwc1ZKF3Ju
|
95
|
-
Q9X5GRmY62hz9SCZnsC0jeYAni8OUQV9NXfXlS/vePBUnOL08NQB
|
96
|
-
=xTv3
|
97
|
-
\-\-\-\-\-END PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
98
|
-
|
99
|
-
`mime` could also be `plain` (for receiving `inline`\-encapsulated messages)
|
100
|
-
or be skipped (then the list\'s default setting is used)\.
|
101
|
-
|
102
|
-
The public key block is also optional\.
|
75
|
+
X\-LIST\-MEMBERS
|
103
76
|
.
|
104
77
|
.fi
|
105
78
|
.
|
106
79
|
.IP "" 0
|
107
80
|
.
|
108
|
-
.
|
109
|
-
|
81
|
+
.IP
|
82
|
+
You will receive a list of list\-admins and list\-members, and their public keys (or the lack thereof)\.
|
83
|
+
.
|
84
|
+
.TP
|
85
|
+
To see details on one list\-member, including his/her public key:
|
110
86
|
.
|
111
87
|
.IP "" 4
|
112
88
|
.
|
113
89
|
.nf
|
114
90
|
|
115
|
-
|
116
|
-
|
117
|
-
Please note that this doesn\'t delete any public keys\.
|
91
|
+
X\-GET\-MEMBER: you@example\.net
|
118
92
|
.
|
119
93
|
.fi
|
120
94
|
.
|
121
95
|
.IP "" 0
|
122
|
-
|
96
|
+
|
97
|
+
.
|
98
|
+
.TP
|
99
|
+
To unsubscribe from the mailing\-list:
|
123
100
|
.
|
124
101
|
.IP "" 4
|
125
102
|
.
|
126
103
|
.nf
|
127
104
|
|
128
|
-
|
105
|
+
X\-UNSUBSCRIBE
|
129
106
|
.
|
130
107
|
.fi
|
131
108
|
.
|
132
109
|
.IP "" 0
|
133
110
|
.
|
134
|
-
.
|
135
|
-
|
111
|
+
.IP
|
112
|
+
This will remove the member associated with the sender\'s signing key\.
|
113
|
+
.
|
114
|
+
.TP
|
115
|
+
To add a member:
|
136
116
|
.
|
137
117
|
.IP "" 4
|
138
118
|
.
|
139
119
|
.nf
|
140
120
|
|
141
|
-
|
121
|
+
X\-ADD\-MEMBER: you@example\.net mime
|
122
|
+
\-\-\-\-\-BEGIN PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
123
|
+
Version: GnuPG v1\.4\.9 (GNU/Linux)
|
142
124
|
|
143
|
-
|
144
|
-
|
125
|
+
mQGiBEjVO7oRBADQvT6wtD2IzzIiK0NbrcilCKCp4MWb8cYXTXguwPQI6y0Nerz4
|
126
|
+
dsK6J0X1Vgeo02tqA4xd3EDK8rdqL2yZfl/2egH8+85R3gDk+kqkfEp4pwCgp6VO
|
127
|
+
[\.\.\.]
|
128
|
+
pNlF/qkaWwRb048h+iMrW21EkouLKTDPFkdFbapV2X5KJZIcfhO1zEbwc1ZKF3Ju
|
129
|
+
Q9X5GRmY62hz9SCZnsC0jeYAni8OUQV9NXfXlS/vePBUnOL08NQB
|
130
|
+
=xTv3
|
131
|
+
\-\-\-\-\-END PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
145
132
|
.
|
146
133
|
.fi
|
147
134
|
.
|
148
135
|
.IP "" 0
|
149
136
|
.
|
150
|
-
.
|
151
|
-
|
137
|
+
.IP
|
138
|
+
\fBmime\fR could also be \fBplain\fR (for receiving \fBinline\fR\-encapsulated messages) or be skipped (then the list\'s default setting is used)\.
|
139
|
+
.
|
140
|
+
.IP
|
141
|
+
The public key block is also optional\.
|
142
|
+
.
|
143
|
+
.TP
|
144
|
+
To delete a member from the list:
|
152
145
|
.
|
153
146
|
.IP "" 4
|
154
147
|
.
|
155
148
|
.nf
|
156
149
|
|
157
|
-
|
158
|
-
\-\-\-\-\-BEGIN PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
159
|
-
Version: GnuPG v1\.4\.9 (GNU/Linux)
|
160
|
-
|
161
|
-
mQGiBEjVO7oRBADQvT6wtD2IzzIiK0NbrcilCKCp4MWb8cYXTXguwPQI6y0Nerz4
|
162
|
-
dsK6J0X1Vgeo02tqA4xd3EDK8rdqL2yZfl/2egH8+85R3gDk+kqkfEp4pwCgp6VO
|
163
|
-
[\.\.\.]
|
164
|
-
pNlF/qkaWwRb048h+iMrW21EkouLKTDPFkdFbapV2X5KJZIcfhO1zEbwc1ZKF3Ju
|
165
|
-
Q9X5GRmY62hz9SCZnsC0jeYAni8OUQV9NXfXlS/vePBUnOL08NQB
|
166
|
-
=xTv3
|
167
|
-
\-\-\-\-\-END PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
150
|
+
X\-DELETE\-MEMBER: you@example\.net
|
168
151
|
.
|
169
152
|
.fi
|
170
153
|
.
|
171
154
|
.IP "" 0
|
172
155
|
.
|
173
|
-
.
|
174
|
-
|
156
|
+
.IP
|
157
|
+
Please note that this doesn\'t delete any public keys\.
|
158
|
+
.
|
159
|
+
.SS "Key management"
|
160
|
+
.
|
161
|
+
.TP
|
162
|
+
To receive the list of public keys known to the list:
|
175
163
|
.
|
176
164
|
.IP "" 4
|
177
165
|
.
|
178
166
|
.nf
|
179
167
|
|
180
|
-
|
181
|
-
|
182
|
-
You can also specify an email address, as long as it identifies the key
|
183
|
-
distinctly\.
|
168
|
+
X\-LIST\-KEYS
|
184
169
|
.
|
185
170
|
.fi
|
186
171
|
.
|
187
172
|
.IP "" 0
|
188
|
-
|
173
|
+
|
189
174
|
.
|
190
|
-
.
|
191
|
-
To
|
175
|
+
.TP
|
176
|
+
To receive a certain public key known to the list:
|
192
177
|
.
|
193
178
|
.IP "" 4
|
194
179
|
.
|
195
180
|
.nf
|
196
181
|
|
197
|
-
|
182
|
+
X\-GET\-KEY: foobar@example\.com
|
198
183
|
.
|
199
184
|
.fi
|
200
185
|
.
|
201
186
|
.IP "" 0
|
202
187
|
.
|
203
|
-
.
|
204
|
-
|
188
|
+
.IP
|
189
|
+
You can also specify a KeyID, or parts of it, as long as it identifies the key distinctly\.
|
190
|
+
.
|
191
|
+
.TP
|
192
|
+
To add a public key to the list:
|
205
193
|
.
|
206
194
|
.IP "" 4
|
207
195
|
.
|
208
196
|
.nf
|
209
197
|
|
210
|
-
|
198
|
+
X\-ADD\-KEY:
|
199
|
+
\-\-\-\-\-BEGIN PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
200
|
+
Version: GnuPG v1\.4\.9 (GNU/Linux)
|
201
|
+
|
202
|
+
mQGiBEjVO7oRBADQvT6wtD2IzzIiK0NbrcilCKCp4MWb8cYXTXguwPQI6y0Nerz4
|
203
|
+
dsK6J0X1Vgeo02tqA4xd3EDK8rdqL2yZfl/2egH8+85R3gDk+kqkfEp4pwCgp6VO
|
204
|
+
[\.\.\.]
|
205
|
+
pNlF/qkaWwRb048h+iMrW21EkouLKTDPFkdFbapV2X5KJZIcfhO1zEbwc1ZKF3Ju
|
206
|
+
Q9X5GRmY62hz9SCZnsC0jeYAni8OUQV9NXfXlS/vePBUnOL08NQB
|
207
|
+
=xTv3
|
208
|
+
\-\-\-\-\-END PGP PUBLIC KEY BLOCK\-\-\-\-\-
|
211
209
|
.
|
212
210
|
.fi
|
213
211
|
.
|
214
212
|
.IP "" 0
|
213
|
+
|
215
214
|
.
|
216
|
-
.
|
217
|
-
To
|
215
|
+
.TP
|
216
|
+
To delete a key from the list\'s keyring:
|
218
217
|
.
|
219
218
|
.IP "" 4
|
220
219
|
.
|
221
220
|
.nf
|
222
221
|
|
223
|
-
|
224
|
-
or
|
225
|
-
|
226
|
-
X\-RESEND: you@example\.net
|
227
|
-
X\-RESEND: me@example\.net
|
228
|
-
|
229
|
-
With the first format don\'t let your Mail User Agent break long lines!
|
222
|
+
X\-DELETE\-KEY: 0xDEADBEEF
|
230
223
|
.
|
231
224
|
.fi
|
232
225
|
.
|
233
226
|
.IP "" 0
|
234
227
|
.
|
235
|
-
.
|
236
|
-
|
228
|
+
.IP
|
229
|
+
You can also specify an email address, as long as it identifies the key distinctly\.
|
230
|
+
.
|
231
|
+
.SS "Resending"
|
232
|
+
Resending is a list\-command, that means it is only allowed in emails sent over the mailing list\.
|
233
|
+
.
|
234
|
+
.TP
|
235
|
+
To send out an email to an external recipient (encrypted if possible, otherwise in the clear):
|
237
236
|
.
|
238
237
|
.IP "" 4
|
239
238
|
.
|
240
239
|
.nf
|
241
240
|
|
242
|
-
|
243
|
-
|
244
|
-
Configuration is correct in test mode\.
|
241
|
+
X\-RESEND: emailaddress@example\.net
|
245
242
|
.
|
246
243
|
.fi
|
247
244
|
.
|
248
245
|
.IP "" 0
|
246
|
+
|
249
247
|
.
|
250
|
-
.
|
251
|
-
|
248
|
+
.TP
|
249
|
+
Or to send it only if encryption is available:
|
252
250
|
.
|
253
251
|
.IP "" 4
|
254
252
|
.
|
255
253
|
.nf
|
256
254
|
|
257
|
-
|
258
|
-
|
259
|
-
Bad configuration in test mode\.
|
255
|
+
X\-RESEND\-ENCRYPTED\-ONLY: emailaddress@example\.net
|
260
256
|
.
|
261
257
|
.fi
|
262
258
|
.
|
263
259
|
.IP "" 0
|
260
|
+
|
264
261
|
.
|
265
|
-
.
|
266
|
-
|
262
|
+
.TP
|
263
|
+
To specify multiple recipients separate the addresses with spaces or specify the command multiple times:
|
267
264
|
.
|
268
265
|
.IP "" 4
|
269
266
|
.
|
270
267
|
.nf
|
271
268
|
|
272
|
-
|
273
|
-
|
274
|
-
Unable to verify the signature when configured to only accept signed
|
275
|
-
messages\.
|
276
|
-
|
277
|
-
Message is cleartext when only encrypted messages are allowed\.
|
278
|
-
|
279
|
-
Message is not authenticated as coming from a list\-member when
|
280
|
-
authentication is required\.
|
269
|
+
X\-RESEND: you@example\.net me@example\.net
|
281
270
|
.
|
282
271
|
.fi
|
283
272
|
.
|
284
273
|
.IP "" 0
|
285
274
|
.
|
286
|
-
.
|
287
|
-
|
275
|
+
.IP
|
276
|
+
or
|
288
277
|
.
|
289
278
|
.IP "" 4
|
290
279
|
.
|
291
280
|
.nf
|
292
281
|
|
293
|
-
|
282
|
+
X\-RESEND: you@example\.net
|
283
|
+
X\-RESEND: me@example\.net
|
294
284
|
.
|
295
285
|
.fi
|
296
286
|
.
|
297
287
|
.IP "" 0
|
298
288
|
.
|
299
|
-
.
|
300
|
-
|
289
|
+
.IP
|
290
|
+
With the first format don\'t let your Mail User Agent break long lines!
|
301
291
|
.
|
302
|
-
.
|
292
|
+
.SS "Misc\."
|
303
293
|
.
|
304
|
-
.
|
305
|
-
|
306
|
-
Default list settings
|
307
|
-
.
|
308
|
-
.fi
|
294
|
+
.IP "\(bu" 4
|
295
|
+
To know which version of Schleuder is installed: X\-GET\-VERSION
|
309
296
|
.
|
310
297
|
.IP "" 0
|
311
298
|
.
|
312
|
-
.
|
313
|
-
/var/schleuderlists/LISTNAME/list\.conf
|
299
|
+
.SH "OPTIONS"
|
314
300
|
.
|
315
|
-
.
|
301
|
+
.TP
|
302
|
+
\fB\-c\fR \fIpath\-to\-schleuder\-configuration\fR
|
303
|
+
Specify an alternate configuration directory than the default \fB/etc/schleuder\fR\.
|
316
304
|
.
|
317
|
-
.
|
318
|
-
|
319
|
-
|
305
|
+
.TP
|
306
|
+
\fB\-test\fR
|
307
|
+
Instead of processing an incoming email, specifying this flag will make Schleuder verify that the setup and basic settings are in a workable state\.
|
320
308
|
.
|
321
|
-
.
|
309
|
+
.TP
|
310
|
+
\fB\-h\fR
|
311
|
+
Display usage and exit\.
|
322
312
|
.
|
323
|
-
.
|
313
|
+
.SH "EXIT STATUS"
|
324
314
|
.
|
325
|
-
.
|
326
|
-
|
315
|
+
.TP
|
316
|
+
0
|
317
|
+
Incoming email was processed without errors\.
|
327
318
|
.
|
328
|
-
.IP
|
319
|
+
.IP
|
320
|
+
Configuration is correct in test mode\.
|
329
321
|
.
|
330
|
-
.
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
Each member must have the email\-attribute set\. All other attributes are
|
335
|
-
optional\.
|
336
|
-
|
337
|
-
The following attributes are available:
|
338
|
-
|
339
|
-
* mime: defines the \'pgp\-variant\' to send to the member, possible values are
|
340
|
-
`MIME` (for pgp/mime\-formatted mail according to RFC 3156), and `PLAIN` (for
|
341
|
-
inline\-pgp)\. The fallback\-default for this is defined in the
|
342
|
-
list\.conf\.
|
343
|
-
* encrypted_only: schleuder tries to encrypt every outgoing email\. If
|
344
|
-
that is not possible under some conditions it sends the email
|
345
|
-
unecrypted\. If this attribute is set the member will never receive
|
346
|
-
unencrypted emails; the member will be skipped if encrypting is not
|
347
|
-
possible\.
|
348
|
-
|
349
|
-
Example:
|
350
|
-
|
351
|
-
\- email: you@example\.net
|
352
|
-
\- email: me@example\.org
|
353
|
-
mime: PLAIN
|
354
|
-
\- email: them@example\.com
|
355
|
-
encrypted_only: true
|
322
|
+
.TP
|
323
|
+
1
|
324
|
+
Internal failure in incoming email processing\.
|
356
325
|
.
|
357
|
-
.
|
326
|
+
.IP
|
327
|
+
Bad configuration in test mode\.
|
358
328
|
.
|
359
|
-
.
|
329
|
+
.TP
|
330
|
+
100
|
331
|
+
Unable to decrypt the received message\.
|
360
332
|
.
|
361
|
-
.
|
362
|
-
|
333
|
+
.IP
|
334
|
+
Unable to verify the signature when configured to only accept signed messages\.
|
363
335
|
.
|
364
|
-
.IP
|
336
|
+
.IP
|
337
|
+
Message is cleartext when only encrypted messages are allowed\.
|
365
338
|
.
|
366
|
-
.
|
367
|
-
|
368
|
-
List internal data
|
339
|
+
.IP
|
340
|
+
Message is not authenticated as coming from a list\-member when authentication is required\.
|
369
341
|
.
|
370
|
-
.
|
342
|
+
.SH "FILES"
|
343
|
+
.
|
344
|
+
.IP "\(bu" 4
|
345
|
+
\fB/etc/schleuder/schleuder\.conf\fR: global Schleuder configuration
|
346
|
+
.
|
347
|
+
.IP "\(bu" 4
|
348
|
+
\fB/etc/schleuder/default\-list\.conf\fR: default list settings
|
349
|
+
.
|
350
|
+
.IP "\(bu" 4
|
351
|
+
\fB/var/schleuderlists/\fR\fILISTNAME\fR\fB/list\.conf\fR: list settings
|
352
|
+
.
|
353
|
+
.IP "\(bu" 4
|
354
|
+
\fB/var/schleuderlists/\fR\fILISTNAME\fR\fB/members\.conf\fR: list susbcribers\.
|
355
|
+
.
|
356
|
+
.IP
|
357
|
+
Each member must have the email\-attribute set\. All other attributes are optional\.
|
358
|
+
.
|
359
|
+
.IP
|
360
|
+
The following attributes are available:
|
361
|
+
.
|
362
|
+
.IP "\(bu" 4
|
363
|
+
\fBmime\fR: defines the \'pgp\-variant\' to send to the member, possible values are \fBMIME\fR (for pgp/mime\-formatted mail according to RFC 3156), and \fBPLAIN\fR (for inline\-pgp)\. The fallback\-default for this is defined in the \fBlist\.conf\fR\.
|
364
|
+
.
|
365
|
+
.IP "\(bu" 4
|
366
|
+
\fBencrypted_only\fR: schleuder tries to encrypt every outgoing email\. If that is not possible under some conditions it sends the email unecrypted\. If this attribute is set the member will never receive unencrypted emails; the member will be skipped if encrypting is not possible\.
|
371
367
|
.
|
372
368
|
.IP "" 0
|
373
369
|
.
|
374
|
-
.
|
375
|
-
|
370
|
+
.IP
|
371
|
+
Example:
|
376
372
|
.
|
377
373
|
.IP "" 4
|
378
374
|
.
|
379
375
|
.nf
|
380
376
|
|
381
|
-
|
377
|
+
\- email: you@example\.net
|
378
|
+
\- email: me@example\.org
|
379
|
+
mime: PLAIN
|
380
|
+
\- email: them@example\.com
|
381
|
+
encrypted_only: true
|
382
382
|
.
|
383
383
|
.fi
|
384
384
|
.
|
385
385
|
.IP "" 0
|
386
|
+
|
387
|
+
.
|
388
|
+
.IP "\(bu" 4
|
389
|
+
\fB/var/schleuderlists/\fR\fIHOSTNAME\fR\fB/\fR\fILISTNAME\fR: list internal data
|
390
|
+
.
|
391
|
+
.IP "\(bu" 4
|
392
|
+
\fB/var/log/schleuder\fR: Schleuder logs directory
|
393
|
+
.
|
394
|
+
.IP "" 0
|
386
395
|
.
|
387
396
|
.P
|
388
397
|
All configuration files are formatted as YAML\. See \fIhttp://www\.yaml\.org/\fR for more details\.
|
389
398
|
.
|
390
399
|
.SH "BUGS"
|
391
|
-
Known bugs are listed on the Schleuder bugtracker at
|
400
|
+
Known bugs are listed on the Schleuder bugtracker at \fIhttps://git\.codecoop\.org/projects/schleuder\fR
|
392
401
|
.
|
393
|
-
.
|
394
|
-
|
402
|
+
.SH "SEE ALSO"
|
403
|
+
\fBschleuder\-newlist\fR(8), \fBgnupg\fR(7)\.
|
395
404
|
.
|
396
|
-
.
|
397
|
-
|
405
|
+
.TP
|
406
|
+
Schleuder website
|
407
|
+
\fIhttp://schleuder\.nadir\.org/\fR
|
398
408
|
.
|
399
|
-
.
|
400
|
-
|
409
|
+
.TP
|
410
|
+
Webschleuder website
|
411
|
+
\fIhttp://webschleuder\.nadir\.org/\fR (web interface to schleuder)
|
412
|
+
.
|
413
|
+
.TP
|
414
|
+
YAML website
|
415
|
+
\fIhttp://www\.yaml\.org/\fR
|
416
|
+
|