schleuder 3.2.2 → 3.5.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.
- checksums.yaml +4 -4
- data/README.md +21 -11
- data/Rakefile +18 -10
- data/bin/schleuder +2 -1
- data/bin/schleuder-api-daemon +3 -2
- data/db/migrate/20180110203100_add_sig_enc_to_headers_to_meta_defaults.rb +30 -0
- data/db/migrate/20180723173900_add_deliver_selfsent_to_list.rb +11 -0
- data/db/migrate/20190906194820_add_autocrypt_header_to_list.rb +11 -0
- data/db/schema.rb +4 -2
- data/etc/list-defaults.yml +13 -3
- data/etc/schleuder.yml +11 -0
- data/lib/schleuder-api-daemon.rb +9 -354
- data/lib/schleuder-api-daemon/helpers/schleuder-api-daemon-helper.rb +143 -0
- data/lib/schleuder-api-daemon/routes/key.rb +40 -0
- data/lib/schleuder-api-daemon/routes/list.rb +69 -0
- data/lib/schleuder-api-daemon/routes/status.rb +5 -0
- data/lib/schleuder-api-daemon/routes/subscription.rb +99 -0
- data/lib/schleuder-api-daemon/routes/version.rb +5 -0
- data/lib/schleuder.rb +12 -3
- data/lib/schleuder/cli.rb +33 -3
- data/lib/schleuder/cli/subcommand_fix.rb +1 -1
- data/lib/schleuder/conf.rb +7 -1
- data/lib/schleuder/errors/active_model_error.rb +2 -5
- data/lib/schleuder/errors/decryption_failed.rb +2 -7
- data/lib/schleuder/errors/key_adduid_failed.rb +1 -5
- data/lib/schleuder/errors/key_generation_failed.rb +1 -8
- data/lib/schleuder/errors/keyword_admin_only.rb +1 -5
- data/lib/schleuder/errors/list_not_found.rb +1 -5
- data/lib/schleuder/errors/listdir_problem.rb +2 -7
- data/lib/schleuder/errors/loading_list_settings_failed.rb +2 -5
- data/lib/schleuder/errors/message_empty.rb +1 -5
- data/lib/schleuder/errors/message_not_from_admin.rb +2 -5
- data/lib/schleuder/errors/message_sender_not_subscribed.rb +2 -5
- data/lib/schleuder/errors/message_too_big.rb +2 -5
- data/lib/schleuder/errors/message_unauthenticated.rb +1 -4
- data/lib/schleuder/errors/message_unencrypted.rb +2 -5
- data/lib/schleuder/errors/message_unsigned.rb +2 -5
- data/lib/schleuder/errors/too_many_keys.rb +1 -8
- data/lib/schleuder/filters/{request_filter.rb → post_decryption/10_request.rb} +0 -0
- data/lib/schleuder/filters/{max_message_size.rb → post_decryption/20_max_message_size.rb} +0 -0
- data/lib/schleuder/filters/{forward_filter.rb → post_decryption/30_forward_to_owner.rb} +0 -0
- data/lib/schleuder/filters/post_decryption/40_receive_admin_only.rb +10 -0
- data/lib/schleuder/filters/post_decryption/50_receive_authenticated_only.rb +10 -0
- data/lib/schleuder/filters/post_decryption/60_receive_signed_only.rb +10 -0
- data/lib/schleuder/filters/post_decryption/70_receive_encrypted_only.rb +10 -0
- data/lib/schleuder/filters/post_decryption/80_receive_from_subscribed_emailaddresses_only.rb +10 -0
- data/lib/schleuder/filters/post_decryption/90_strip_html_from_alternative_if_keywords_present.rb +21 -0
- data/lib/schleuder/filters/{bounces_filter.rb → pre_decryption/10_forward_bounce_to_admins.rb} +0 -0
- data/lib/schleuder/filters/{forward_incoming.rb → pre_decryption/20_forward_all_incoming_to_admins.rb} +0 -0
- data/lib/schleuder/filters/{send_key_filter.rb → pre_decryption/30_send_key.rb} +0 -0
- data/lib/schleuder/filters/{hotmail_message_filter.rb → pre_decryption/40_fix_exchange_messages.rb} +5 -3
- data/lib/schleuder/filters/{strip_alternative_filter.rb → pre_decryption/50_strip_html_from_alternative.rb} +1 -1
- data/lib/schleuder/filters_runner.rb +41 -31
- data/lib/schleuder/gpgme/ctx.rb +24 -3
- data/lib/schleuder/gpgme/import_status.rb +13 -7
- data/lib/schleuder/gpgme/key.rb +8 -0
- data/lib/schleuder/list.rb +26 -4
- data/lib/schleuder/logger_notifications.rb +8 -1
- data/lib/schleuder/mail/encrypted_part.rb +14 -0
- data/lib/schleuder/mail/gpg.rb +15 -0
- data/lib/schleuder/mail/message.rb +97 -49
- data/lib/schleuder/plugins/attach_listkey.rb +6 -10
- data/lib/schleuder/plugins/key_management.rb +34 -26
- data/lib/schleuder/plugins/resend.rb +14 -11
- data/lib/schleuder/plugins/subscription_management.rb +70 -3
- data/lib/schleuder/runner.rb +49 -10
- data/lib/schleuder/subscription.rb +5 -9
- data/lib/schleuder/validators/fingerprint_validator.rb +1 -1
- data/lib/schleuder/version.rb +1 -1
- data/locales/de.yml +101 -9
- data/locales/en.yml +107 -11
- metadata +72 -34
- data/lib/schleuder/errors/file_not_found.rb +0 -14
- data/lib/schleuder/errors/invalid_listname.rb +0 -13
- data/lib/schleuder/errors/list_exists.rb +0 -13
- data/lib/schleuder/errors/unknown_list_option.rb +0 -14
- data/lib/schleuder/filters/auth_filter.rb +0 -39
data/lib/schleuder/version.rb
CHANGED
data/locales/de.yml
CHANGED
@@ -52,8 +52,6 @@ de:
|
|
52
52
|
list_not_found: "Fehler: Keine Liste zu dieser Adresse gefunden: '%{email}'."
|
53
53
|
no_linebreaks: "Darf keine Zeilenumbrüche enthalten"
|
54
54
|
invalid_characters: "enthält ungültige Zeichen"
|
55
|
-
invalid_listname: "Fehler: '%{email}' ist kein gültige Listen-Adresse."
|
56
|
-
list_exists: Es existiert bereits eine Liste mit der Adresse '%{email}'.
|
57
55
|
listdir_problem:
|
58
56
|
message: "Problem mit dem Listen-Verzeichnis: '%{dir}' %{problem}."
|
59
57
|
not_existing: existiert nicht
|
@@ -65,12 +63,10 @@ de:
|
|
65
63
|
key_generation_failed: Das Erzeugen des OpenPGP-Schlüsselpaares für %{listname} ist aus unbekannten Gründen fehlgeschlagen. Bitte prüfe das Listen-Verzeichnis ('%{listdir}') und die Log-Dateien.
|
66
64
|
key_adduid_failed: "Das Hinzufügen einer User-ID zum OpenPGP-Schlüssel ist mit folgender Meldung fehlgeschlagen:\n%{errmsg}"
|
67
65
|
too_many_keys: "Fehler: In %{listdir} existieren mehrere OpenPGP-Schlüssel für %{listname}. Bitte lösche alle bis auf einen."
|
68
|
-
unknown_list_option: "Unbekannte Option in %{config_file}: '%{option}'."
|
69
66
|
loading_list_settings_failed: "%{config_file} konnte nicht eingelesen werden, bitte Formatierung auf gültiges YAML prüfen."
|
70
67
|
message_too_big: "Deine Email war zu groß. Erlaubt sind für diese Liste %{allowed_size}KB."
|
71
68
|
must_be_boolean: "muss true oder false sein"
|
72
69
|
must_be_greater_than_zero: "muss größer als null sein"
|
73
|
-
file_not_found: "Die Datei existiert nicht: '%{file}'."
|
74
70
|
not_pgp_mime: "Deine Email war nicht im pgp/mime-Format verschlüsselt."
|
75
71
|
delivery_error: "Beim Versenden einer Email an %{email} ist der folgende Fehler aufgetreten: %{error}"
|
76
72
|
no_match_for: "Keine Treffer für %{input}"
|
@@ -87,14 +83,47 @@ de:
|
|
87
83
|
key_management:
|
88
84
|
deleted: "Gelöscht: %{key_string}"
|
89
85
|
not_deletable: "Darf nicht gelöscht werden: %{key_string}"
|
90
|
-
|
86
|
+
no_imports: In deiner Email konnten keine Schlüssel gefunden werden. :(
|
91
87
|
key_import_status:
|
92
|
-
imported:
|
93
|
-
|
94
|
-
|
88
|
+
imported: |
|
89
|
+
Dieser Schlüssel wurde neu hinzugefügt:
|
90
|
+
%{key_oneline}
|
91
|
+
updated: |
|
92
|
+
Dieser Schlüssel wurde aktualisiert:
|
93
|
+
%{key_oneline}
|
94
|
+
unchanged: |
|
95
|
+
Dieser Schlüssel wurde nicht verändert:
|
96
|
+
%{key_oneline}
|
97
|
+
error: |
|
98
|
+
Der Schlüssel mit diesem Fingerabdruck konnte aus unbekanntem Grund nicht hinzugefügt werden:
|
99
|
+
%{fingerprint}
|
95
100
|
matching_keys_intro: Alle Schlüssel aus dem Schlüsselring der Liste, die '%{input}' enthalten, sind an diese Email angehängt.
|
101
|
+
delete_key_requires_arguments: |
|
102
|
+
Fehler: Du hast zu dem Schlüsselwort 'DELETE-KEY' keinen Wert angegeben.
|
103
|
+
|
104
|
+
Ein Wert ist nötig, weitere sind optional. Bspw.:
|
105
|
+
X-DELETE-KEY: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
106
|
+
|
107
|
+
Oder, um mehrere Schlüssel auf einmal zu löschen:
|
108
|
+
X-DELETE-KEY: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 a-subscription@hostname
|
109
|
+
|
110
|
+
Die Schlüssel werden nur gelöscht, wenn sie der einzige Treffer für den jeweiligen Wert sind.
|
111
|
+
fetch_key_requires_arguments: |
|
112
|
+
Fehler: Du hast zu dem Schlüsselwort 'FETCH-KEY' keinen Wert angegeben.
|
113
|
+
|
114
|
+
Ein Wert ist nötig, weitere sind optional. Jeder Wert kann eine URL sein, die via HTTP geladen wird, oder ein Text, mit dem auf den OpenPGP-Schlüsselserver gesucht wird.
|
115
|
+
Bspw., um einen Schlüssel per fingerprint vom Schlüsselserver zu holen:
|
116
|
+
X-FETCH-KEY: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
117
|
+
|
118
|
+
Oder, um zwei Schlüssel per Email-Adresse vom Schlüsselserver zu holen:
|
119
|
+
X-FETCH-KEY: a-subscription@hostname anotherone@example.org
|
120
|
+
|
121
|
+
Oder, um einen Schlüssel per HTTP von einem Server zu laden:
|
122
|
+
X-FETCH-KEY: https://example.org/keys/mykey.asc
|
96
123
|
resend:
|
97
|
-
not_resent_no_keys: Resending an <%{email}> fehlgeschlagen (%{
|
124
|
+
not_resent_no_keys: Resending an <%{email}> fehlgeschlagen (%{all_keys} Schlüssel gefunden, davon %{usable_keys} nutzbar. Unverschlüsseltes Senden verboten).
|
125
|
+
not_resent_encrypted_no_keys: Verschlüsseltes Resending an <%{email}> fehlgeschlagen (%{all_keys} Schlüssel gefunden, davon %{usable_keys} nutzbar).
|
126
|
+
aborted: Resending an <%{email}> abgebrochen aufgrund anderer Probleme.
|
98
127
|
encrypted_to: Verschlüsselt an
|
99
128
|
unencrypted_to: Unverschlüsselt an
|
100
129
|
invalid_recipient: "Ungültige Emailadresse für resend: %{address}"
|
@@ -105,6 +134,8 @@ de:
|
|
105
134
|
unsubscribing_failed: |
|
106
135
|
Abo für %{email} nicht gelöscht:
|
107
136
|
%{errors}
|
137
|
+
cannot_unsubscribe_last_admin: |
|
138
|
+
%{email} ist das einzige admin-Abo für diese Liste, daher kann es nicht gelöscht werden.
|
108
139
|
subscribed: |
|
109
140
|
Abo für %{email} mit diesen Werten eingetragen:
|
110
141
|
|
@@ -121,6 +152,59 @@ de:
|
|
121
152
|
setting_fingerprint_failed: |
|
122
153
|
Fingerabdruck für %{email} konnte nicht auf %{fingerprint} gesetzt werden:
|
123
154
|
%{errors}.
|
155
|
+
set_fingerprint_requires_valid_fingerprint: |
|
156
|
+
Du hast zu dem Schlüsselwort 'SET-FINGERPRINT' keinen gültigen Wert angegeben.
|
157
|
+
|
158
|
+
Es wurde der folgende Wert erkannt: %{fingerprint}
|
159
|
+
|
160
|
+
Benötigt werden ein oder zwei Werte, bspw.:
|
161
|
+
X-SET-FINGERPRINT: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
162
|
+
|
163
|
+
oder (als admin):
|
164
|
+
X-SET-FINGERPRINT: subscription2@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
165
|
+
|
166
|
+
Wobei der Fingerprint in der gesamten Länge (40 Zeichen) angegeben werden muss. Optional mit 0x als Präfix.
|
167
|
+
|
168
|
+
Um einen Fingerprint zu entfernen kannst du das Schlüsselwort 'UNSET-FINGERPRINT' verwenden.
|
169
|
+
set_fingerprint_requires_arguments: |
|
170
|
+
Du hast zu dem Schlüsselwort 'SET-FINGERPRINT' keinen Wert angegeben.
|
171
|
+
|
172
|
+
Benötigt werden ein oder zwei Werte, bspw.:
|
173
|
+
X-SET-FINGERPRINT: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
174
|
+
|
175
|
+
oder (als admin):
|
176
|
+
X-SET-FINGERPRINT: subscription2@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
177
|
+
|
178
|
+
Um einen Fingerprint zu entfernen kannst du das Schlüsselwort 'UNSET-FINGERPRINT' verwenden.
|
179
|
+
unset_fingerprint_only_self: Nur admins dürfen den Fingerabdruck für andere Abos festlegen.
|
180
|
+
fingerprint_unset: Fingerabdruck für %{email} wurde entfernt.
|
181
|
+
unsetting_fingerprint_failed: |
|
182
|
+
Fingerabdruck für %{email} konnte nicht entfernt werden:
|
183
|
+
%{errors}.
|
184
|
+
unset_fingerprint_requires_arguments: |
|
185
|
+
Du hast zu dem Schlüsselwort 'UNSET-FINGERPRINT' keinen Wert angegeben.
|
186
|
+
|
187
|
+
Benötigt werden ein Wert, bspw.:
|
188
|
+
X-UNSET-FINGERPRINT: subscription2@hostname
|
189
|
+
|
190
|
+
Als admin musst du um deinen eigenen Fingerabdruck zu entfernen, noch zusätzlich das Argument force mitgeben. bspw.:
|
191
|
+
X-UNSET-FINGERPRINT: adminsubscription2@hostname force
|
192
|
+
subscribe_requires_arguments: |
|
193
|
+
Fehler: Du hast zu dem Schlüsselwort 'SUBSCRIBE' keinen Wert angegeben.
|
194
|
+
|
195
|
+
Mindestens ein Wert ist nötig, drei weitere sind optional. Bspw.:
|
196
|
+
X-SUBSCRIBE: new-subscription@hostname
|
197
|
+
|
198
|
+
Oder, um den Schlüssel für das neue Abo zuzuweisen:
|
199
|
+
X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
200
|
+
|
201
|
+
Oder, um den Schlüssel zuzuweisen, und das Abo zum admin zu machen:
|
202
|
+
X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 true
|
203
|
+
|
204
|
+
Oder, um den Schlüssel zuzuweisen, das Abo zum admin zu machen, und die Zustellung von Listen-Emails für dieses Abo abzuschalten:
|
205
|
+
X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 true false
|
206
|
+
|
207
|
+
Wenn du die optionalen Werte weglässt hat das Abo keinen Schlüssel zugewiesen, ist nicht admin, und hat die Zustellung von Listen-Email aktiviert.
|
124
208
|
signatures_attached: Die Signaturen hängen an.
|
125
209
|
list_management:
|
126
210
|
no_logfile: Keine Log-Datei für %{listname} gefunden. (Das kann an einem hohem Log-Level und der Abwesenheit von Fehlern liegen.)
|
@@ -168,7 +252,15 @@ de:
|
|
168
252
|
fetch_key:
|
169
253
|
invalid_input: "Ungültige Angabe. Gültig sind: URLs, OpenPGP-Fingerabdrücke, oder Emailadressen."
|
170
254
|
pseudoheaders:
|
255
|
+
scrubbed_message: Diese Email enthielt ungültige Zeichen, die aus Verarbeitungsgründen möglicherweise entfernt wurden.
|
171
256
|
stripped_html_from_multialt: Diese Email enthielt einen alternativen HTML-Teil, der PGP-Daten beinhaltete. Der HTML-Teil wurde entfernt, um die Email sauberer analysieren zu können.
|
257
|
+
stripped_html_from_multialt_with_keywords: Diese Email enthielt Schlüsselwörter und einen alternativen HTML-Teil. Der HTML-Teil wurde entfernt, um zu verhindern dass diese Schlüsselwörter Aussenstehenden bekannt werden.
|
258
|
+
signature_states:
|
259
|
+
unknown: "Unbekannte Signatur von unbekanntem Schlüssel 0x%{fingerprint}"
|
260
|
+
unsigned: "Unsigniert"
|
261
|
+
encryption_states:
|
262
|
+
encrypted: "Verschlüsselt"
|
263
|
+
unencrypted: "Unverschlüsselt"
|
172
264
|
|
173
265
|
activerecord:
|
174
266
|
errors:
|
data/locales/en.yml
CHANGED
@@ -51,9 +51,7 @@ en:
|
|
51
51
|
In case you only sent keywords please note that administrative keywords must be sent to the "request"-address (<%{request_address}>) in order to be respected.
|
52
52
|
no_linebreaks: "must not include line-breaks"
|
53
53
|
list_not_found: "Error: No list found with this address: '%{email}'."
|
54
|
-
invalid_listname: "Error: '%{email}' is not a valid address."
|
55
54
|
invalid_characters: "contains invalid characters"
|
56
|
-
list_exists: A list with address '%{email}' is already present.
|
57
55
|
listdir_problem:
|
58
56
|
message: "There's a problem with the list-directory: '%{dir}' %{problem}."
|
59
57
|
not_existing: does not exist
|
@@ -65,12 +63,10 @@ en:
|
|
65
63
|
key_generation_failed: Generating the OpenPGP key pair for %{listname} failed for unknown reasons. Please check the list-directory ('%{listdir}') and the log-files.
|
66
64
|
key_adduid_failed: "Adding a user-ID to the OpenPGP key failed with this message:\n%{errmsg}"
|
67
65
|
too_many_keys: "Error: In %{listdir} there's more than one matching OpenPGP-key for %{listname}. Please delete all but one."
|
68
|
-
unknown_list_option: "Unknown option in %{config_file}: '%{option}'."
|
69
66
|
loading_list_settings_failed: "%{config_file} could not be parsed, please check its formatting to be valid YAML."
|
70
67
|
message_too_big: "Your message was too big. Allowed are up to %{allowed_size}KB."
|
71
68
|
must_be_boolean: "must be true or false"
|
72
69
|
must_be_greater_than_zero: "must be a number greater than zero"
|
73
|
-
file_not_found: "File not found: '%{file}'."
|
74
70
|
not_pgp_mime: "Message was not encrypted in the pgp/mime-format."
|
75
71
|
delivery_error: "The following error occurred while sending a message to %{email}: %{error}"
|
76
72
|
no_match_for: "No match found for %{input}"
|
@@ -85,16 +81,53 @@ en:
|
|
85
81
|
keyword_admin_notify_lists: "%{signer} used the keyword '%{keyword}' with the values '%{arguments}' in a message sent to the list."
|
86
82
|
keyword_admin_notify_lists_without_arguments: "%{signer} used the keyword '%{keyword}' in a message sent to the list."
|
87
83
|
key_management:
|
88
|
-
deleted:
|
89
|
-
|
90
|
-
|
84
|
+
deleted: |
|
85
|
+
This key was deleted:
|
86
|
+
%{key_string}
|
87
|
+
not_deletable: |
|
88
|
+
This key may not be deleted:
|
89
|
+
%{key_string}
|
90
|
+
no_imports: In the message you sent us, no keys could be found. :(
|
91
91
|
key_import_status:
|
92
|
-
imported:
|
93
|
-
|
94
|
-
|
92
|
+
imported: |
|
93
|
+
This key was newly added:
|
94
|
+
%{key_oneline}
|
95
|
+
updated: |
|
96
|
+
This key was updated:
|
97
|
+
%{key_oneline}
|
98
|
+
unchanged: |
|
99
|
+
This key was not changed:
|
100
|
+
%{key_oneline}
|
101
|
+
error: |
|
102
|
+
The key with this fingerprint could not be added due to an unknown error:
|
103
|
+
%{fingerprint}
|
95
104
|
matching_keys_intro: All keys from the list's keyring matching '%{input}' are attached to this message.
|
105
|
+
delete_key_requires_arguments: |
|
106
|
+
Error: You did not send any arguments for the keyword 'DELETE-KEY'.
|
107
|
+
|
108
|
+
One is required, more are optional, e.g.:
|
109
|
+
X-DELETE-KEY: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
110
|
+
|
111
|
+
Or, to delete multiple keys at once:
|
112
|
+
X-DELETE-KEY: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 a-subscription@hostname
|
113
|
+
|
114
|
+
The matching keys will be deleted only if the argument matches them distinctly.
|
115
|
+
fetch_key_requires_arguments: |
|
116
|
+
Error: You did not send any arguments for the keyword 'FETCH-KEY'.
|
117
|
+
|
118
|
+
One is required, more are optional. Each argument can be an URL to fetch via HTTP, or a string to look up at the OpenPGP-keyservers.
|
119
|
+
E.g., to fetch a key by fingerprint from the keyserver:
|
120
|
+
X-FETCH-KEY: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
121
|
+
|
122
|
+
Or, to fetch two keys by email-address from the keyserver:
|
123
|
+
X-FETCH-KEY: a-subscription@hostname anotherone@example.org
|
124
|
+
|
125
|
+
Or, to fetch a key keys by URL:
|
126
|
+
X-FETCH-KEY: https://example.org/keys/mykey.asc
|
96
127
|
resend:
|
97
|
-
not_resent_no_keys: Resending to <%{email}> failed (%{
|
128
|
+
not_resent_no_keys: Resending to <%{email}> failed (%{all_keys} keys found, of which %{usable_keys} can be used. Unencrypted sending not allowed).
|
129
|
+
not_resent_encrypted_no_keys: Resending as encrypted email to <%{email}> failed (%{all_keys} keys found, of which %{usable_keys} can be used).
|
130
|
+
aborted: Resending to <%{email}> aborted due to other errors.
|
98
131
|
encrypted_to: Encrypted to
|
99
132
|
unencrypted_to: Unencrypted to
|
100
133
|
invalid_recipient: "Invalid email-address for resending: %{address}"
|
@@ -105,6 +138,8 @@ en:
|
|
105
138
|
unsubscribing_failed: |
|
106
139
|
Unsubscribing %{email} failed:
|
107
140
|
%{errors}
|
141
|
+
cannot_unsubscribe_last_admin: |
|
142
|
+
%{email} is the only admin for this list, thus it can not be unsubscribed.
|
108
143
|
subscribed: |
|
109
144
|
%{email} has been subscribed with these attributes:
|
110
145
|
|
@@ -121,6 +156,59 @@ en:
|
|
121
156
|
setting_fingerprint_failed: |
|
122
157
|
Setting fingerprint for %{email} to %{fingerprint} failed:
|
123
158
|
%{errors}.
|
159
|
+
set_fingerprint_requires_valid_fingerprint: |
|
160
|
+
You did not send a valid fingerprint for the keyword 'SET-FINGERPRINT'
|
161
|
+
|
162
|
+
The following value was detected: %{fingerprint}
|
163
|
+
|
164
|
+
One or two are required, e.g.:
|
165
|
+
X-SET-FINGERPRINT: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
166
|
+
|
167
|
+
or (as an admin):
|
168
|
+
X-SET-FINGERPRINT: subscription2@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
169
|
+
|
170
|
+
While the fingerprint must be passed in the full length (40 characters). Optionally prefixed with 0x.
|
171
|
+
|
172
|
+
To remove a fingerprint you can use the keyword 'UNSET-FINGERPRINT'
|
173
|
+
set_fingerprint_requires_arguments: |
|
174
|
+
Error: You did not send any arguments for the keyword 'SET-FINGERPRINT'.
|
175
|
+
|
176
|
+
One or two are required, e.g.:
|
177
|
+
X-SET-FINGERPRINT: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
178
|
+
|
179
|
+
or (as an admin):
|
180
|
+
X-SET-FINGERPRINT: subscription2@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
181
|
+
|
182
|
+
To remove a fingerprint you can use the keyword 'UNSET-FINGERPRINT'
|
183
|
+
unset_fingerprint_only_self: Only admins may remove fingerprints of subscriptions other than their own.
|
184
|
+
unset_fingerprint_requires_arguments: |
|
185
|
+
Error: You did not send any arguments for the keyword 'UNSET-FINGERPRINT'
|
186
|
+
|
187
|
+
One value is required, e.g.:
|
188
|
+
X-UNSET-FINGERPRINT: subscription2@hostname
|
189
|
+
|
190
|
+
As an admin to unset your own fingerprint you must additionally pass the argument force. E.g.:
|
191
|
+
X-UNSET-FINGERPRINT: adminsubscription2@hostname force
|
192
|
+
fingerprint_unset: Fingerprint for %{email} removed.
|
193
|
+
unsetting_fingerprint_failed: |
|
194
|
+
Removing fingerprint for %{email} failed:
|
195
|
+
%{errors}.
|
196
|
+
subscribe_requires_arguments: |
|
197
|
+
Error: You did not send any arguments for the keyword 'SUBSCRIBE'.
|
198
|
+
|
199
|
+
At least one argument is required, three more are optional. E.g.:
|
200
|
+
X-SUBSCRIBE: new-subscription@hostname
|
201
|
+
|
202
|
+
Or, defining the key to use for the new subscription:
|
203
|
+
X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
|
204
|
+
|
205
|
+
Or, defining the key to use, and setting this subscription to be an admin:
|
206
|
+
X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 true
|
207
|
+
|
208
|
+
Or, defining the key to use, setting this subscription as admin, and disabling the delivery of list-emails to this subscription:
|
209
|
+
X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 true false
|
210
|
+
|
211
|
+
If you omit the optional arguments, the subscription has no key assigned, is not an admin, and has the delivery of list-emails enabled.
|
124
212
|
signatures_attached: Find the signatures attached.
|
125
213
|
list_management:
|
126
214
|
no_logfile: No logfile could be found for %{listname}. (This might be caused by a high log-level and the absence of errors.)
|
@@ -168,7 +256,15 @@ en:
|
|
168
256
|
fetch_key:
|
169
257
|
invalid_input: "Invalid input. Allowed are: URLs, OpenPGP-fingerprints, or email-addresses."
|
170
258
|
pseudoheaders:
|
259
|
+
scrubbed_message: This message included invalid characters, which might have been removed to be able to process the message properly.
|
171
260
|
stripped_html_from_multialt: This message included an alternating HTML-part that contained PGP-data. The HTML-part was removed to enable parsing the message more properly.
|
261
|
+
stripped_html_from_multialt_with_keywords: This message included keywords and an alternating HTML-part. The HTML-part was removed to prevent the disclosure of these keywords to third parties.
|
262
|
+
signature_states:
|
263
|
+
unknown: "Unknown signature by unknown key 0x%{fingerprint}"
|
264
|
+
unsigned: "Unsigned"
|
265
|
+
encryption_states:
|
266
|
+
encrypted: "Encrypted"
|
267
|
+
unencrypted: "Unencrypted"
|
172
268
|
|
173
269
|
activerecord:
|
174
270
|
errors:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schleuder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- schleuder dev team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gpgme
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '2.0'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.0.
|
22
|
+
version: 2.0.19
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,49 +29,55 @@ dependencies:
|
|
29
29
|
version: '2.0'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 2.0.
|
32
|
+
version: 2.0.19
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: mail
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 2.
|
39
|
+
version: 2.7.1
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.
|
46
|
+
version: 2.7.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mail-gpg
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.3
|
53
|
+
version: '0.3'
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.4.3
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
61
|
- - "~>"
|
59
62
|
- !ruby/object:Gem::Version
|
60
|
-
version: 0.3
|
63
|
+
version: '0.3'
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 0.4.3
|
61
67
|
- !ruby/object:Gem::Dependency
|
62
68
|
name: activerecord
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
64
70
|
requirements:
|
65
71
|
- - "~>"
|
66
72
|
- !ruby/object:Gem::Version
|
67
|
-
version: '4.
|
73
|
+
version: '4.2'
|
68
74
|
type: :runtime
|
69
75
|
prerelease: false
|
70
76
|
version_requirements: !ruby/object:Gem::Requirement
|
71
77
|
requirements:
|
72
78
|
- - "~>"
|
73
79
|
- !ruby/object:Gem::Version
|
74
|
-
version: '4.
|
80
|
+
version: '4.2'
|
75
81
|
- !ruby/object:Gem::Dependency
|
76
82
|
name: rack-test
|
77
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,14 +112,14 @@ dependencies:
|
|
106
112
|
requirements:
|
107
113
|
- - "~>"
|
108
114
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
115
|
+
version: 1.3.6
|
110
116
|
type: :runtime
|
111
117
|
prerelease: false
|
112
118
|
version_requirements: !ruby/object:Gem::Requirement
|
113
119
|
requirements:
|
114
120
|
- - "~>"
|
115
121
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
122
|
+
version: 1.3.6
|
117
123
|
- !ruby/object:Gem::Dependency
|
118
124
|
name: sinatra
|
119
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,6 +176,20 @@ dependencies:
|
|
170
176
|
- - "~>"
|
171
177
|
- !ruby/object:Gem::Version
|
172
178
|
version: '1'
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: charlock_holmes
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - "~>"
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: 0.7.6
|
186
|
+
type: :runtime
|
187
|
+
prerelease: false
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - "~>"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: 0.7.6
|
173
193
|
- !ruby/object:Gem::Dependency
|
174
194
|
name: rspec
|
175
195
|
requirement: !ruby/object:Gem::Requirement
|
@@ -199,7 +219,7 @@ dependencies:
|
|
199
219
|
- !ruby/object:Gem::Version
|
200
220
|
version: '0'
|
201
221
|
- !ruby/object:Gem::Dependency
|
202
|
-
name:
|
222
|
+
name: factory_bot
|
203
223
|
requirement: !ruby/object:Gem::Requirement
|
204
224
|
requirements:
|
205
225
|
- - ">="
|
@@ -243,8 +263,8 @@ dependencies:
|
|
243
263
|
description: |-
|
244
264
|
Schleuder is a group's email-gateway: subscribers can exchange encrypted emails among themselves, receive emails from non-subscribers and send emails to non-subscribers via the list.
|
245
265
|
|
246
|
-
(Please note: For some platforms there's a better way of installing Schleuder than `gem install`. See <https://schleuder.
|
247
|
-
email: schleuder
|
266
|
+
(Please note: For some platforms there's a better way of installing Schleuder than `gem install`. See <https://schleuder.org/schleuder/docs/server-admins.html#installation> for details.)
|
267
|
+
email: team@schleuder.org
|
248
268
|
executables:
|
249
269
|
- schleuder
|
250
270
|
- schleuder-api-daemon
|
@@ -268,6 +288,9 @@ files:
|
|
268
288
|
- db/migrate/201508261827_remove_default_mime.rb
|
269
289
|
- db/migrate/20160501172700_fix_headers_to_meta_defaults.rb
|
270
290
|
- db/migrate/20170713215059_add_internal_footer_to_list.rb
|
291
|
+
- db/migrate/20180110203100_add_sig_enc_to_headers_to_meta_defaults.rb
|
292
|
+
- db/migrate/20180723173900_add_deliver_selfsent_to_list.rb
|
293
|
+
- db/migrate/20190906194820_add_autocrypt_header_to_list.rb
|
271
294
|
- db/schema.rb
|
272
295
|
- etc/init.d/schleuder-api-daemon
|
273
296
|
- etc/list-defaults.yml
|
@@ -276,6 +299,12 @@ files:
|
|
276
299
|
- etc/schleuder.cron.weekly
|
277
300
|
- etc/schleuder.yml
|
278
301
|
- lib/schleuder-api-daemon.rb
|
302
|
+
- lib/schleuder-api-daemon/helpers/schleuder-api-daemon-helper.rb
|
303
|
+
- lib/schleuder-api-daemon/routes/key.rb
|
304
|
+
- lib/schleuder-api-daemon/routes/list.rb
|
305
|
+
- lib/schleuder-api-daemon/routes/status.rb
|
306
|
+
- lib/schleuder-api-daemon/routes/subscription.rb
|
307
|
+
- lib/schleuder-api-daemon/routes/version.rb
|
279
308
|
- lib/schleuder.rb
|
280
309
|
- lib/schleuder/cli.rb
|
281
310
|
- lib/schleuder/cli/cert.rb
|
@@ -286,12 +315,9 @@ files:
|
|
286
315
|
- lib/schleuder/errors/base.rb
|
287
316
|
- lib/schleuder/errors/decryption_failed.rb
|
288
317
|
- lib/schleuder/errors/fatal_error.rb
|
289
|
-
- lib/schleuder/errors/file_not_found.rb
|
290
|
-
- lib/schleuder/errors/invalid_listname.rb
|
291
318
|
- lib/schleuder/errors/key_adduid_failed.rb
|
292
319
|
- lib/schleuder/errors/key_generation_failed.rb
|
293
320
|
- lib/schleuder/errors/keyword_admin_only.rb
|
294
|
-
- lib/schleuder/errors/list_exists.rb
|
295
321
|
- lib/schleuder/errors/list_not_found.rb
|
296
322
|
- lib/schleuder/errors/list_property_missing.rb
|
297
323
|
- lib/schleuder/errors/listdir_problem.rb
|
@@ -305,16 +331,20 @@ files:
|
|
305
331
|
- lib/schleuder/errors/message_unsigned.rb
|
306
332
|
- lib/schleuder/errors/standard_error.rb
|
307
333
|
- lib/schleuder/errors/too_many_keys.rb
|
308
|
-
- lib/schleuder/
|
309
|
-
- lib/schleuder/filters/
|
310
|
-
- lib/schleuder/filters/
|
311
|
-
- lib/schleuder/filters/
|
312
|
-
- lib/schleuder/filters/
|
313
|
-
- lib/schleuder/filters/
|
314
|
-
- lib/schleuder/filters/
|
315
|
-
- lib/schleuder/filters/
|
316
|
-
- lib/schleuder/filters/
|
317
|
-
- lib/schleuder/filters/
|
334
|
+
- lib/schleuder/filters/post_decryption/10_request.rb
|
335
|
+
- lib/schleuder/filters/post_decryption/20_max_message_size.rb
|
336
|
+
- lib/schleuder/filters/post_decryption/30_forward_to_owner.rb
|
337
|
+
- lib/schleuder/filters/post_decryption/40_receive_admin_only.rb
|
338
|
+
- lib/schleuder/filters/post_decryption/50_receive_authenticated_only.rb
|
339
|
+
- lib/schleuder/filters/post_decryption/60_receive_signed_only.rb
|
340
|
+
- lib/schleuder/filters/post_decryption/70_receive_encrypted_only.rb
|
341
|
+
- lib/schleuder/filters/post_decryption/80_receive_from_subscribed_emailaddresses_only.rb
|
342
|
+
- lib/schleuder/filters/post_decryption/90_strip_html_from_alternative_if_keywords_present.rb
|
343
|
+
- lib/schleuder/filters/pre_decryption/10_forward_bounce_to_admins.rb
|
344
|
+
- lib/schleuder/filters/pre_decryption/20_forward_all_incoming_to_admins.rb
|
345
|
+
- lib/schleuder/filters/pre_decryption/30_send_key.rb
|
346
|
+
- lib/schleuder/filters/pre_decryption/40_fix_exchange_messages.rb
|
347
|
+
- lib/schleuder/filters/pre_decryption/50_strip_html_from_alternative.rb
|
318
348
|
- lib/schleuder/filters_runner.rb
|
319
349
|
- lib/schleuder/gpgme/ctx.rb
|
320
350
|
- lib/schleuder/gpgme/import_status.rb
|
@@ -326,6 +356,8 @@ files:
|
|
326
356
|
- lib/schleuder/listlogger.rb
|
327
357
|
- lib/schleuder/logger.rb
|
328
358
|
- lib/schleuder/logger_notifications.rb
|
359
|
+
- lib/schleuder/mail/encrypted_part.rb
|
360
|
+
- lib/schleuder/mail/gpg.rb
|
329
361
|
- lib/schleuder/mail/message.rb
|
330
362
|
- lib/schleuder/mail/parts_list.rb
|
331
363
|
- lib/schleuder/plugin_runners/base.rb
|
@@ -348,10 +380,16 @@ files:
|
|
348
380
|
- lib/schleuder/version.rb
|
349
381
|
- locales/de.yml
|
350
382
|
- locales/en.yml
|
351
|
-
homepage: https://schleuder.
|
383
|
+
homepage: https://schleuder.org/
|
352
384
|
licenses:
|
353
385
|
- GPL-3.0
|
354
|
-
metadata:
|
386
|
+
metadata:
|
387
|
+
homepage_uri: https://schleuder.org/
|
388
|
+
documentation_uri: https://schleuder.org/docs/
|
389
|
+
changelog_uri: https://0xacab.org/schleuder/schleuder/blob/master/CHANGELOG.md
|
390
|
+
source_code_uri: https://0xacab.org/schleuder/schleuder/
|
391
|
+
bug_tracker_uri: https://0xacab.org/schleuder/schleuder/issues
|
392
|
+
mailing_list_uri: https://lists.nadir.org/mailman/listinfo/schleuder-announce/
|
355
393
|
post_install_message: "\n\n Please consider additionally installing schleuder-cli
|
356
394
|
(allows to\n configure lists from the command line).\n\n To set up Schleuder
|
357
395
|
on this system please run `schleuder install`.\n\n "
|
@@ -362,16 +400,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
362
400
|
requirements:
|
363
401
|
- - ">="
|
364
402
|
- !ruby/object:Gem::Version
|
365
|
-
version:
|
403
|
+
version: 2.1.0
|
366
404
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
367
405
|
requirements:
|
368
406
|
- - ">="
|
369
407
|
- !ruby/object:Gem::Version
|
370
408
|
version: '0'
|
371
409
|
requirements: []
|
372
|
-
rubyforge_project:
|
373
|
-
rubygems_version: 2.7.
|
410
|
+
rubyforge_project:
|
411
|
+
rubygems_version: 2.7.6.2
|
374
412
|
signing_key:
|
375
413
|
specification_version: 4
|
376
|
-
summary: Schleuder is a gpg-enabled
|
414
|
+
summary: Schleuder is a gpg-enabled mailing list manager with remailing-capabilities.
|
377
415
|
test_files: []
|