schleuder 4.0.2 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -9
  3. data/db/migrate/20180110203100_add_sig_enc_to_headers_to_meta_defaults.rb +1 -1
  4. data/db/migrate/20211106112020_change_boolean_values_to_integers.rb +46 -0
  5. data/db/migrate/20211107151309_add_limits_to_string_columns.rb +28 -0
  6. data/db/migrate/20220910170110_add_key_auto_import_from_email.rb +11 -0
  7. data/db/schema.rb +16 -16
  8. data/etc/list-defaults.yml +16 -0
  9. data/etc/schleuder.yml +29 -11
  10. data/lib/schleuder/cli.rb +15 -2
  11. data/lib/schleuder/conf.rb +23 -3
  12. data/lib/schleuder/email_key_importer.rb +91 -0
  13. data/lib/schleuder/filters/post_decryption/35_key_auto_import_from_attachments.rb +21 -0
  14. data/lib/schleuder/filters/post_decryption/80_receive_from_subscribed_emailaddresses_only.rb +1 -1
  15. data/lib/schleuder/filters/post_decryption/90_strip_html_from_alternative_if_keywords_present.rb +36 -4
  16. data/lib/schleuder/filters/pre_decryption/60_key_auto_import_from_autocrypt_header.rb +9 -0
  17. data/lib/schleuder/filters_runner.rb +1 -30
  18. data/lib/schleuder/gpgme/ctx.rb +34 -93
  19. data/lib/schleuder/gpgme/key.rb +1 -1
  20. data/lib/schleuder/gpgme/key_extractor.rb +30 -0
  21. data/lib/schleuder/http.rb +56 -0
  22. data/lib/schleuder/key_fetcher.rb +89 -0
  23. data/lib/schleuder/keyword_handlers/key_management.rb +2 -2
  24. data/lib/schleuder/keyword_handlers/subscription_management.rb +19 -3
  25. data/lib/schleuder/list.rb +26 -10
  26. data/lib/schleuder/list_builder.rb +1 -1
  27. data/lib/schleuder/logger.rb +1 -1
  28. data/lib/schleuder/mail/gpg/decrypted_part.rb +20 -0
  29. data/lib/schleuder/mail/gpg/delivery_handler.rb +38 -0
  30. data/lib/schleuder/mail/gpg/encrypted_part.rb +29 -5
  31. data/lib/schleuder/mail/gpg/gpgme_ext.rb +8 -0
  32. data/lib/schleuder/mail/gpg/gpgme_helper.rb +155 -0
  33. data/lib/schleuder/mail/gpg/inline_decrypted_message.rb +82 -0
  34. data/lib/schleuder/mail/gpg/inline_signed_message.rb +73 -0
  35. data/lib/schleuder/mail/gpg/mime_signed_message.rb +28 -0
  36. data/lib/schleuder/mail/gpg/missing_keys_error.rb +6 -0
  37. data/lib/schleuder/mail/gpg/sign_part.rb +19 -9
  38. data/lib/schleuder/mail/gpg/signed_part.rb +37 -0
  39. data/lib/schleuder/mail/gpg/verified_part.rb +10 -0
  40. data/lib/schleuder/mail/gpg/verify_result_attribute.rb +32 -0
  41. data/lib/schleuder/mail/gpg/version_part.rb +22 -0
  42. data/lib/schleuder/mail/gpg.rb +236 -7
  43. data/lib/schleuder/mail/message.rb +98 -14
  44. data/lib/schleuder/runner.rb +40 -10
  45. data/lib/schleuder/sks_client.rb +18 -0
  46. data/lib/schleuder/version.rb +1 -1
  47. data/lib/schleuder/vks_client.rb +24 -0
  48. data/lib/schleuder-api-daemon/routes/key.rb +22 -1
  49. data/lib/schleuder.rb +11 -7
  50. data/locales/de.yml +38 -19
  51. data/locales/en.yml +22 -3
  52. metadata +58 -21
data/locales/de.yml CHANGED
@@ -11,12 +11,12 @@ de:
11
11
  invalid: "enthält nicht druckbare Zeichen"
12
12
  public_footer:
13
13
  invalid: "enthält nicht druckbare Zeichen"
14
- invalid_email: "ist keine valide E-Mail-Adresse"
15
- invalid_fingerprint: "ist kein valider OpenPGP-Fingerabdruck"
16
- list_fingerprint_missing: "Fingerabdruck der Liste ist nicht gesetzt, kann nicht arbeiten! (In `%{listdir}`.)"
17
- list_key_missing: "Schlüssel der Liste nicht im Schlüsselring gefunden, kann nicht arbeiten! (In `%{listdir}`.)"
18
- list_secret_key_missing: "Geheimer Schlüssel der Liste nicht im Schlüsselring gefunden, kann nicht arbeiten! (In `%{listdir}`.)"
19
- list_admins_missing: "List hat keine Admins konfiguriert, kann nicht arbeiten! (In `%{listdir}`.)"
14
+ invalid_email: "ist keine gültige E-Mail-Adresse"
15
+ invalid_fingerprint: "ist kein gültiger OpenPGP-Fingerabdruck"
16
+ list_fingerprint_missing: "Fingerabdruck der Liste ist nicht gesetzt, kann nicht verarbeiten! (In `%{listdir}`.)"
17
+ list_key_missing: "Schlüssel der Liste nicht im Schlüsselring gefunden, kann nicht verarbeiten! (In `%{listdir}`.)"
18
+ list_secret_key_missing: "Geheimer Schlüssel der Liste nicht im Schlüsselring gefunden, kann nicht verarbeiten! (In `%{listdir}`.)"
19
+ list_admins_missing: "List hat keine Admins konfiguriert, kann nicht verarbeiten! (In `%{listdir}`.)"
20
20
  fatalerror: |
21
21
  Es ist ein schwerwiegender Fehler aufgetreten. Administratoren wurden benachrichtigt.
22
22
  Bitte versuche es später noch ein Mal.
@@ -25,6 +25,9 @@ de:
25
25
 
26
26
  Freundliche Grüße,
27
27
  Dein Schleuder-System.
28
+
29
+ (Wenn du Hilfe brauchst lies bitte die Dokumentation <https://schleuder.org/schleuder/docs/>
30
+ (auf englisch) oder frage deine Listen- oder System-Admins.)
28
31
  decryption_failed: |
29
32
  Deine Email konnnte nicht entschlüsselt werden.
30
33
  Emails an diese Adresse müssen mit diesem Schlüssel verschlüsselt werden:
@@ -37,7 +40,7 @@ de:
37
40
  message_signature_unknown: |
38
41
  Emails an diese Adresse müssen mit dem OpenPGP-Schlüssel signiert sein, der
39
42
  deiner Mitgliedschaft zugewiesen ist. Wenn du nicht weisst, welcher Schlüssel das ist, frage
40
- die Administrator/innen. Die erreichst du per Email an
43
+ die Administrator/innen. Diese erreichst du per Email an
41
44
  <%{owner_email}>.
42
45
  (Vorzugsweise verschlüssele die Email mit dem Schlüssel dieser Adresse:
43
46
  %{list_fingerprint}).
@@ -147,7 +150,7 @@ de:
147
150
  Mitgliedschaft von %{email} nicht gelöscht:
148
151
  %{errors}
149
152
  cannot_unsubscribe_last_admin: |
150
- %{email} ist die einzige admin-Mitgliedschaft für diese Liste, daher darf sie nicht gelöscht werden.
153
+ %{email} ist die einzige Admin-Mitgliedschaft für diese Liste, daher darf sie nicht gelöscht werden.
151
154
  subscribed: |
152
155
  Mitgliedschaft von %{email} mit diesen Werten eingetragen:
153
156
 
@@ -159,7 +162,7 @@ de:
159
162
 
160
163
  %{errors}.
161
164
  list_of_subscriptions: "Mitgliedschaften:\n"
162
- set_fingerprint_only_self: Nur admins dürfen den Fingerabdruck für andere Mitgliedschaften festlegen.
165
+ set_fingerprint_only_self: Nur Admins dürfen den Fingerabdruck für andere Mitgliedschaften festlegen.
163
166
  fingerprint_set: Fingerabdruck für %{email} auf %{fingerprint} gesetzt.
164
167
  setting_fingerprint_failed: |
165
168
  Fingerabdruck für %{email} konnte nicht auf %{fingerprint} gesetzt werden:
@@ -172,7 +175,7 @@ de:
172
175
  Benötigt werden ein oder zwei Werte, bspw.:
173
176
  X-SET-FINGERPRINT: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
174
177
 
175
- oder (als admin):
178
+ oder (als Admin):
176
179
  X-SET-FINGERPRINT: subscription2@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
177
180
 
178
181
  Wobei der Fingerprint in der gesamten Länge (40 Zeichen) angegeben werden muss. Optional mit 0x als Präfix.
@@ -184,11 +187,11 @@ de:
184
187
  Benötigt werden ein oder zwei Werte, bspw.:
185
188
  X-SET-FINGERPRINT: 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
186
189
 
187
- oder (als admin):
190
+ oder (als Admin):
188
191
  X-SET-FINGERPRINT: subscription2@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
189
192
 
190
193
  Um einen Fingerprint zu entfernen kannst du das Schlüsselwort 'UNSET-FINGERPRINT' verwenden.
191
- unset_fingerprint_only_self: Nur admins dürfen den Fingerabdruck für andere Mitgliedschaften löschen.
194
+ unset_fingerprint_only_self: Nur Admins dürfen den Fingerabdruck für andere Mitgliedschaften löschen.
192
195
  fingerprint_unset: Fingerabdruck für %{email} wurde entfernt.
193
196
  unsetting_fingerprint_failed: |
194
197
  Fingerabdruck für %{email} konnte nicht entfernt werden:
@@ -199,10 +202,10 @@ de:
199
202
  Benötigt werden ein Wert, bspw.:
200
203
  X-UNSET-FINGERPRINT: subscription2@hostname
201
204
 
202
- Als admin musst du um deinen eigenen Fingerabdruck zu entfernen, noch zusätzlich das Argument force mitgeben. bspw.:
205
+ Als Admin musst du um deinen eigenen Fingerabdruck zu entfernen, noch zusätzlich das Argument force mitgeben. bspw.:
203
206
  X-UNSET-FINGERPRINT: adminsubscription2@hostname force
204
207
  subscribe_requires_arguments: |
205
- Fehler: Du hast zu dem Schlüsselwort 'SUBSCRIBE' keinen Wert angegeben.
208
+ Fehler: Du hast zu dem Schlüsselwort 'SUBSCRIBE' keine passenden Werte angegeben.
206
209
 
207
210
  Mindestens ein Wert ist nötig, drei weitere sind optional. Bspw.:
208
211
  X-SUBSCRIBE: new-subscription@hostname
@@ -210,13 +213,13 @@ de:
210
213
  Oder, um den Schlüssel der neuen Mitgliedschaft zuzuweisen:
211
214
  X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
212
215
 
213
- Oder, um den Schlüssel zuzuweisen, und die Mitgliedschaft als admin einzutragen:
216
+ Oder, um den Schlüssel zuzuweisen, und die Mitgliedschaft als Admin einzutragen:
214
217
  X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 true
215
218
 
216
- Oder, um den Schlüssel zuzuweisen, die Mitgliedschaft als admin einzutragen, und die Zustellung von Listen-Emails für diese Mitgliedschaft abzuschalten:
219
+ Oder, um den Schlüssel zuzuweisen, die Mitgliedschaft als Admin einzutragen, und die Zustellung von Listen-Emails für diese Mitgliedschaft abzuschalten:
217
220
  X-SUBSCRIBE: new-subscription@hostname 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3 true false
218
221
 
219
- Wenn du die optionalen Werte weglässt hat die Mitgliedschaft keinen Schlüssel zugewiesen, ist nicht admin, und hat die Zustellung von Listen-Email aktiviert.
222
+ Wenn du die optionalen Werte weglässt hat die Mitgliedschaft keinen Schlüssel zugewiesen, ist nicht Admin, und hat die Zustellung von Listen-Email aktiviert.
220
223
  sign_this:
221
224
  signatures_attached: Die Signaturen hängen an.
222
225
  no_content_found: Deine Email enthielt keine Anhänge und keinen Text-Inhalt, daher konnte nichts signiert werden.
@@ -246,7 +249,12 @@ de:
246
249
  key_unusable: |
247
250
  Dieser Schlüssel ist %{usability_issue}:
248
251
  %{key_summary}
249
- missed_message_due_to_unusable_key: "Du hast eine Email von %{list_email} verpasst weil deiner Mitgliedschaft kein (benutzbarer) OpenPGP-Schlüssel zugewiesen ist. Bitte kümmere dich darum."
252
+ missed_message_due_to_unusable_key: |
253
+ Du hast eine Email von %{list_email} verpasst weil deiner Mitgliedschaft kein (benutzbarer) OpenPGP-Schlüssel zugewiesen ist. Bitte kümmere dich darum.
254
+
255
+ Das kannst du mit dem Schlüsselwort X-SET-FINGERPRINT tun. Siehe <https://schleuder.org/schleuder/docs/subscribers.html#special-keywords> (englisch) für Details.
256
+
257
+ Falls "schleuder-web" für dieses Schleuder-System eingerichtet wurde kannst du es auch über den Browser lösen (das wissen deine Listen- oder System-Admins).
250
258
  refresh_keys: Schlüsselaktualisierung
251
259
  refresh_keys_intro: "Die Aktualisierung aller Schlüssel des Schlüsselrings für Liste %{email} ergab dies:"
252
260
  key_updated: |
@@ -261,8 +269,19 @@ de:
261
269
  new_uids: neue User-IDs
262
270
  new_subkeys: neue Unterschlüssel
263
271
  new_signatures: neue Signaturen
264
- fetch_key:
272
+ key_fetcher:
265
273
  invalid_input: "Ungültige Angabe. Gültig sind: URLs, OpenPGP-Fingerabdrücke, oder Emailadressen."
274
+ not_found: "Fehler: Keinen Schlüssel für '%{input}' gefunden."
275
+ url_not_found: "Fehler: Unter <%{url}> wurde nichts gefunden (404 Not Found)."
276
+ general_error: "Fehler beim Holen der Daten aus dem Netz: %{error}"
277
+ import_error: "Fehler beim Importieren der geholten Daten: %{error}"
278
+ email_key_importer:
279
+ key_already_present: "Für die Absenderadresse dieser Email hat diese Liste schon einen anderen Schlüssel, daher wurde der Schlüssel aus dieser Email nicht hinzugefügt."
280
+ import_error: "Fehler beim Import von Schlüssel %{fingerprint} aus dieser Email: %{import_states}."
281
+ technical_error: "Beim Schlüsselimport aus dieser Email ist ein unerwarteter Fehler aufgetreten."
282
+ key_added: "Dieser Schlüssel wurde aus dieser Email neu hinzugefügt: %{key_summary}"
283
+ key_unchanged: "Dieser Schlüssel wurde aus dieser Email nicht verändert: %{key_summary}."
284
+ key_updated: "Dieser Schlüssel wurde aus dieser Email aktualisiert: %{key_summary}."
266
285
  pseudoheaders:
267
286
  scrubbed_message: Diese Email enthielt ungültige Zeichen, die aus Verarbeitungsgründen möglicherweise entfernt wurden.
268
287
  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.
data/locales/en.yml CHANGED
@@ -25,6 +25,9 @@ en:
25
25
 
26
26
  Kind regards,
27
27
  Your Schleuder system.
28
+
29
+ (If you need help please read the documentation <https://schleuder.org/schleuder/docs/>
30
+ or ask your list- or server-admins.)
28
31
  decryption_failed: |
29
32
  Decrypting your message failed.
30
33
  Messages to this address must be encrypted with the following key:
@@ -206,7 +209,7 @@ en:
206
209
  As an admin to unset your own fingerprint you must additionally pass the argument force. E.g.:
207
210
  X-UNSET-FINGERPRINT: adminsubscription2@hostname force
208
211
  subscribe_requires_arguments: |
209
- Error: You did not send any arguments for the keyword 'SUBSCRIBE'.
212
+ Error: You did not send proper arguments for the keyword 'SUBSCRIBE'.
210
213
 
211
214
  At least one argument is required, three more are optional. E.g.:
212
215
  X-SUBSCRIBE: new-subscription@hostname
@@ -250,7 +253,12 @@ en:
250
253
  key_unusable: |
251
254
  This key is %{usability_issue}:
252
255
  %{key_summary}
253
- missed_message_due_to_unusable_key: "You missed an email from %{list_email} because your subscription isn't associated with a (usable) OpenPGP key. Please fix this."
256
+ missed_message_due_to_unusable_key: |
257
+ You missed an email from %{list_email} because your subscription isn't associated with a (usable) OpenPGP key. Please fix this.
258
+
259
+ To do that you can use the keyword X-SET-FINGERPRINT, see <https://schleuder.org/schleuder/docs/subscribers.html#special-keywords> for further explanation.
260
+
261
+ If "schleuder-web" has been setup for this host you might also use your browser (your list- or system-admins can tell you that).
254
262
  refresh_keys: Keys update
255
263
  refresh_keys_intro: "Refreshing all keys from the keyring of list %{email} resulted in this:"
256
264
  key_updated: |
@@ -265,8 +273,19 @@ en:
265
273
  new_uids: new user-IDs
266
274
  new_subkeys: new subkeys
267
275
  new_signatures: new signatures
268
- fetch_key:
276
+ key_fetcher:
269
277
  invalid_input: "Invalid input. Allowed are: URLs, OpenPGP-fingerprints, or email-addresses."
278
+ not_found: "Error: No key could be found for '%{input}'."
279
+ url_not_found: "Error: There's nothing at <%{url}> (404 Not Found)."
280
+ general_error: "Error while fetching data from the internet: %{error}"
281
+ import_error: "Error while importing the fetched data: %{error}"
282
+ email_key_importer:
283
+ key_already_present: "The list already knows a different key for this email's sender address, therefore the key from this email was not added."
284
+ import_error: "Error while importing key %{fingerprint} from this email: %{import_states}."
285
+ technical_error: "Unexpected technical error while importing key from this email."
286
+ key_added: "This key was newly added from this email: %{key_summary}."
287
+ key_unchanged: "This key was unchanged from this email: %{key_summary}."
288
+ key_updated: "This key was updated from this email: %{key_summary}."
270
289
  pseudoheaders:
271
290
  scrubbed_message: This message included invalid characters, which might have been removed to be able to process the message properly.
272
291
  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.
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: 4.0.2
4
+ version: 5.0.0
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: 2021-07-31 00:00:00.000000000 Z
11
+ date: 2024-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.3
19
+ version: '7.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 6.1.3
26
+ version: '7.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bcrypt
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -78,28 +78,28 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 2.7.1
81
+ version: 2.8.1
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: 2.7.1
88
+ version: 2.8.1
89
89
  - !ruby/object:Gem::Dependency
90
- name: mail-gpg
90
+ name: net-smtp
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '0.3'
95
+ version: 0.3.1
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '0.3'
102
+ version: 0.3.1
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rake
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -120,42 +120,42 @@ dependencies:
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '2'
123
+ version: 3.1.0
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '2'
130
+ version: 3.1.0
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: sinatra-contrib
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '2'
137
+ version: 3.1.0
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '2'
144
+ version: 3.1.0
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: sqlite3
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: 1.4.2
151
+ version: 1.6.0
152
152
  type: :runtime
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: 1.4.2
158
+ version: 1.6.0
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: thin
161
161
  requirement: !ruby/object:Gem::Requirement
@@ -176,28 +176,42 @@ dependencies:
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '0'
179
+ version: '1.3'
180
180
  type: :runtime
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '0'
186
+ version: '1.3'
187
+ - !ruby/object:Gem::Dependency
188
+ name: typhoeus
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '1.4'
194
+ type: :runtime
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '1.4'
187
201
  - !ruby/object:Gem::Dependency
188
202
  name: byebug
189
203
  requirement: !ruby/object:Gem::Requirement
190
204
  requirements:
191
205
  - - "~>"
192
206
  - !ruby/object:Gem::Version
193
- version: '10'
207
+ version: '11'
194
208
  type: :development
195
209
  prerelease: false
196
210
  version_requirements: !ruby/object:Gem::Requirement
197
211
  requirements:
198
212
  - - "~>"
199
213
  - !ruby/object:Gem::Version
200
- version: '10'
214
+ version: '11'
201
215
  - !ruby/object:Gem::Dependency
202
216
  name: database_cleaner
203
217
  requirement: !ruby/object:Gem::Requirement
@@ -341,6 +355,9 @@ files:
341
355
  - db/migrate/20180723173900_add_deliver_selfsent_to_list.rb
342
356
  - db/migrate/20190906194820_add_autocrypt_header_to_list.rb
343
357
  - db/migrate/20200118170110_add_set_reply_to_to_sender_and_munge_from.rb
358
+ - db/migrate/20211106112020_change_boolean_values_to_integers.rb
359
+ - db/migrate/20211107151309_add_limits_to_string_columns.rb
360
+ - db/migrate/20220910170110_add_key_auto_import_from_email.rb
344
361
  - db/schema.rb
345
362
  - etc/init.d/schleuder-api-daemon
346
363
  - etc/list-defaults.yml
@@ -364,6 +381,7 @@ files:
364
381
  - lib/schleuder/cli/schleuder_cert_manager.rb
365
382
  - lib/schleuder/cli/subcommand_fix.rb
366
383
  - lib/schleuder/conf.rb
384
+ - lib/schleuder/email_key_importer.rb
367
385
  - lib/schleuder/errors/active_model_error.rb
368
386
  - lib/schleuder/errors/base.rb
369
387
  - lib/schleuder/errors/decryption_failed.rb
@@ -387,6 +405,7 @@ files:
387
405
  - lib/schleuder/filters/post_decryption/10_request.rb
388
406
  - lib/schleuder/filters/post_decryption/20_max_message_size.rb
389
407
  - lib/schleuder/filters/post_decryption/30_forward_to_owner.rb
408
+ - lib/schleuder/filters/post_decryption/35_key_auto_import_from_attachments.rb
390
409
  - lib/schleuder/filters/post_decryption/40_receive_admin_only.rb
391
410
  - lib/schleuder/filters/post_decryption/50_receive_authenticated_only.rb
392
411
  - lib/schleuder/filters/post_decryption/60_receive_signed_only.rb
@@ -398,12 +417,16 @@ files:
398
417
  - lib/schleuder/filters/pre_decryption/30_send_key.rb
399
418
  - lib/schleuder/filters/pre_decryption/40_fix_exchange_messages.rb
400
419
  - lib/schleuder/filters/pre_decryption/50_strip_html_from_alternative.rb
420
+ - lib/schleuder/filters/pre_decryption/60_key_auto_import_from_autocrypt_header.rb
401
421
  - lib/schleuder/filters_runner.rb
402
422
  - lib/schleuder/gpgme/ctx.rb
403
423
  - lib/schleuder/gpgme/import_status.rb
404
424
  - lib/schleuder/gpgme/key.rb
425
+ - lib/schleuder/gpgme/key_extractor.rb
405
426
  - lib/schleuder/gpgme/sub_key.rb
406
427
  - lib/schleuder/gpgme/user_id.rb
428
+ - lib/schleuder/http.rb
429
+ - lib/schleuder/key_fetcher.rb
407
430
  - lib/schleuder/keyword_handlers/attach_list_key.rb
408
431
  - lib/schleuder/keyword_handlers/base.rb
409
432
  - lib/schleuder/keyword_handlers/get_version.rb
@@ -419,11 +442,24 @@ files:
419
442
  - lib/schleuder/logger.rb
420
443
  - lib/schleuder/logger_notifications.rb
421
444
  - lib/schleuder/mail/gpg.rb
445
+ - lib/schleuder/mail/gpg/decrypted_part.rb
446
+ - lib/schleuder/mail/gpg/delivery_handler.rb
422
447
  - lib/schleuder/mail/gpg/encrypted_part.rb
448
+ - lib/schleuder/mail/gpg/gpgme_ext.rb
449
+ - lib/schleuder/mail/gpg/gpgme_helper.rb
450
+ - lib/schleuder/mail/gpg/inline_decrypted_message.rb
451
+ - lib/schleuder/mail/gpg/inline_signed_message.rb
452
+ - lib/schleuder/mail/gpg/mime_signed_message.rb
453
+ - lib/schleuder/mail/gpg/missing_keys_error.rb
423
454
  - lib/schleuder/mail/gpg/sign_part.rb
455
+ - lib/schleuder/mail/gpg/signed_part.rb
456
+ - lib/schleuder/mail/gpg/verified_part.rb
457
+ - lib/schleuder/mail/gpg/verify_result_attribute.rb
458
+ - lib/schleuder/mail/gpg/version_part.rb
424
459
  - lib/schleuder/mail/message.rb
425
460
  - lib/schleuder/mail/parts_list.rb
426
461
  - lib/schleuder/runner.rb
462
+ - lib/schleuder/sks_client.rb
427
463
  - lib/schleuder/subscription.rb
428
464
  - lib/schleuder/validators/boolean_validator.rb
429
465
  - lib/schleuder/validators/email_validator.rb
@@ -431,6 +467,7 @@ files:
431
467
  - lib/schleuder/validators/greater_than_zero_validator.rb
432
468
  - lib/schleuder/validators/no_line_breaks_validator.rb
433
469
  - lib/schleuder/version.rb
470
+ - lib/schleuder/vks_client.rb
434
471
  - locales/de.yml
435
472
  - locales/en.yml
436
473
  homepage: https://schleuder.org/
@@ -453,14 +490,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
453
490
  requirements:
454
491
  - - ">="
455
492
  - !ruby/object:Gem::Version
456
- version: 2.5.0
493
+ version: 3.1.0
457
494
  required_rubygems_version: !ruby/object:Gem::Requirement
458
495
  requirements:
459
496
  - - ">="
460
497
  - !ruby/object:Gem::Version
461
498
  version: '0'
462
499
  requirements: []
463
- rubygems_version: 3.2.21
500
+ rubygems_version: 3.5.14
464
501
  signing_key:
465
502
  specification_version: 4
466
503
  summary: Schleuder is an encrypting mailing list manager with remailing-capabilities.