schleuder issueshttps://0xacab.org/schleuder/schleuder/-/issues2018-04-30T08:56:53Zhttps://0xacab.org/schleuder/schleuder/-/issues/287Broken character set for QP UTF-8 emails2018-04-30T08:56:53ZngBroken character set for QP UTF-8 emailsAt the moment some emails containing Umlaute are displayed broken on the receiver side:
```
----==_mimepart_5a1d7b7f642c3_79ec11a1c3c315a
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
From: xy@example.org
To:...At the moment some emails containing Umlaute are displayed broken on the receiver side:
```
----==_mimepart_5a1d7b7f642c3_79ec11a1c3c315a
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
From: xy@example.org
To: someine@example.com
Cc:
Date: Tue, 28 Nov 2017 17:27:25 +0100
Sig: Unsigned
Enc: Encrypted
----==_mimepart_5a1d7b7f642c3_79ec11a1c3c315a
Content-Type: text/plain;
DelSp=Yes;
charset=US-ASCII;
format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Content-Description: =?UTF-8?Q?PGP-verschl=C3=BCsselte_Daten?=
Content-ID: <foobar@somehost.mail>
Hello
K=C3=B6nntet
liebe Gr=C3=BCsse
----==_mimepart_5a1d7b7f642c3_79ec11a1c3c315a--
```
This is because the mime part has charset US-ASCII, while it should be UTF-8. Originally, it was UTF-8.
The fix for it is b9e0ab35ca13c0c2466195878dfc710a63ee81b8
Still requires tests to test for future regressionshttps://0xacab.org/schleuder/schleuder/-/issues/258Add x-resend-force-plain(-cc) keywords2017-09-20T22:30:07ZngAdd x-resend-force-plain(-cc) keywordsAs discussed in #54 we should add a `X-RESEND-FORCE-PLAIN` keyword. For the fun, we can can also add a `X-RESEND-FORCE-PLAIN-CC` variant.As discussed in #54 we should add a `X-RESEND-FORCE-PLAIN` keyword. For the fun, we can can also add a `X-RESEND-FORCE-PLAIN-CC` variant.3.2ngnghttps://0xacab.org/schleuder/schleuder/-/issues/247Make LoggerNotification#notify_admin respect send_encrypted_only2020-01-04T19:41:22ZpazMake LoggerNotification#notify_admin respect send_encrypted_onlyCurrently it sends out messages in the clear if no usable key is found for the respective admin, regardless of the list's setting of `send_encrypted_only`.Currently it sends out messages in the clear if no usable key is found for the respective admin, regardless of the list's setting of `send_encrypted_only`.Futurehttps://0xacab.org/schleuder/schleuder/-/issues/236allow memory hole headers as anti-replay mechanism if user omits x-listname2024-03-11T18:25:43Zdkgallow memory hole headers as anti-replay mechanism if user omits x-listnamememory hole provides signatures over relevant headers. if a cryptographically-signed To: header includes foo-request@example.org, then there is no need to require the message to contain x-listname to defend against replay attack (as not...memory hole provides signatures over relevant headers. if a cryptographically-signed To: header includes foo-request@example.org, then there is no need to require the message to contain x-listname to defend against replay attack (as noted in #158). memory hole is more convenient (for MUAs that already implement it), so it would be a usability improvement to accept it as a legit anti-replay mechanism.Future2020-12-01https://0xacab.org/schleuder/schleuder/-/issues/223Do not try to subscribe an email twice2020-01-03T00:11:35ZngDo not try to subscribe an email twiceAt the moment we do not check, whether an email is already subscribed to a list.
We should look up whether there is an existing subscription and then ignore the subscription request.
However, this means that the only way you can ch...At the moment we do not check, whether an email is already subscribed to a list.
We should look up whether there is an existing subscription and then ignore the subscription request.
However, this means that the only way you can change a subscription is to unsubscribe it and readd it. Or we think how we can be clever about passed arguments.https://0xacab.org/schleuder/schleuder/-/issues/220Notify admins on missing keys for subscriptions2020-01-04T12:27:49ZngNotify admins on missing keys for subscriptionsIf a list is configured to send out only encrypted emails, but a subscription doesn't have a key selected, schleuder will notify the subscription about that problem. However, admins - who are usually aware of what to do - are not notifie...If a list is configured to send out only encrypted emails, but a subscription doesn't have a key selected, schleuder will notify the subscription about that problem. However, admins - who are usually aware of what to do - are not notified.
=> Admins should be notified as well about missing keys.Futurehttps://0xacab.org/schleuder/schleuder/-/issues/186Strip empty lines from output of `keys update`2017-05-12T08:35:40ZpazStrip empty lines from output of `keys update`Somehow the last fix made it so the output now contains a lot of empty
lines (probably one per handled key). It looks e.g. like this:
```
Refreshing all keys from the keyring of list listname@hostname resulted in this:
...Somehow the last fix made it so the output now contains a lot of empty
lines (probably one per handled key). It looks e.g. like this:
```
Refreshing all keys from the keyring of list listname@hostname resulted in this:
Key 0123456789DEADBEEF0123456789DEADBEEF0123 was updated (new signatures, new subkeys).
```3.1pazpazhttps://0xacab.org/schleuder/schleuder/-/issues/427Implement WKD as another method to search for and receive keys2019-12-08T13:52:39ZgeorgImplement WKD as another method to search for and receive keysA "Web Key Directory" allows to store public keys and makes them accessible. Just noting this here as a placeholder, to keep track of it, and possibly discuss in the future if we want to implement this.
Any opinions and input highly app...A "Web Key Directory" allows to store public keys and makes them accessible. Just noting this here as a placeholder, to keep track of it, and possibly discuss in the future if we want to implement this.
Any opinions and input highly appreciated!
Relates #361https://0xacab.org/schleuder/schleuder/-/issues/389Introduce tokens2021-06-06T14:48:16ZpazIntroduce tokensWe need tokens to verify control over email addresses (see #388).
They should
* be tied to an email-address (or account?),
* be hard to guess,
* have a lifetime,
* have a date (in order to prevent too many repeated requests per time sl...We need tokens to verify control over email addresses (see #388).
They should
* be tied to an email-address (or account?),
* be hard to guess,
* have a lifetime,
* have a date (in order to prevent too many repeated requests per time slot).
Open questions:
* Do we need a keyword to request tokens?
* Do we need the possibility to generate tokens for email addresses that are not subscribed at all? (Could make sense if we would also provide the option to upload a key to an account, so admins can "pluck" a key from the account if they subscribed the email address.)Next Big Thingpazpazhttps://0xacab.org/schleuder/schleuder/-/issues/388API: Provide endpoint(s) to request password-token2021-06-06T14:48:09ZpazAPI: Provide endpoint(s) to request password-tokenHTTP-Clients (schleuder-cli, schleuder-web) must be able to request a token for setting a new password. The API must provide an endpoint to do that.
The workflow shall be this:
1. A person that wants an account enters their email-addre...HTTP-Clients (schleuder-cli, schleuder-web) must be able to request a token for setting a new password. The API must provide an endpoint to do that.
The workflow shall be this:
1. A person that wants an account enters their email-address in a form and clicks a button.
2. The web-interface sends the request unauthenticated (because there's no account yet) to the API.
3. The API uses the sent email-address to look up a subscription with a usable key.
4. *If* it finds a key, it generates a token (or a link?) and sends that in an encrypted email to the email-address. It returns an positive response to the web interface.
4. *If* it doesn't find a subscription for the email-address at all it returns an error to the web interface.
5. *If* it finds a subscription but none with a usable key it returns a different error to the web interface (so the web interface can display a helpful message).
5. The person receives and decrypts the email, copies the token into the web interface (or clicks the link).
6. The web interfaces validates the token at the API.
7. *If* that is successful, it presents the person a form to enter and save a new password.
7. *Or* should the person receive a second email, which contains the new password as it was set by schleuder?
* The tokens should be valid only for a given time span (15 minutes?).
* Admins must be able to request a token for a different email-address than their own. List-admins must only be allowed to request a token for email-addresses that are subscribed to one of their admin-lists.
* Should admins receive the token (or link) via HTTP instead of via encrypted email? The request from the web interface to the API is authenticated with their admin-credentials, thus we don't need the proof that they can decrypt a message.
* How to protect against SPAM/DOS-attacks through repeated requests for new tokens against the API? We can't authenticate those requests because there's no account yet.Next Big Thingpazpazhttps://0xacab.org/schleuder/schleuder/-/issues/343Misleading error message when resending with X-RESEND and 2 matching keys are...2020-02-09T14:22:38ZngMisleading error message when resending with X-RESEND and 2 matching keys are foundWhen you are resending to an address foo@example.ch using `X-RESEND`, but there are 2 matching keys for this address in the keyring, the following happens:
Email is resent, as expected, but the meta-headers on list contain the following...When you are resending to an address foo@example.ch using `X-RESEND`, but there are 2 matching keys for this address in the keyring, the following happens:
Email is resent, as expected, but the meta-headers on list contain the following 2 lines:
```
Error: Resending to <foo@example.ch> failed (2 keys found and unencrypted sending disallowed).
Resent: Unencrypted to foo@example.ch
```
But the email was sent out.
The behavior is imho as expected, but the error line in the meta-header is misleanding. It should probably be just a `Notice:` and saying that `Resending as encrypted email to <foo@example.ch> failed (2 keys found)`3.5.0ngnghttps://0xacab.org/schleuder/schleuder/-/issues/329feature request: allow schleuder to send a welcome message to new subscribers...2020-01-05T13:09:06Zfleishfeature request: allow schleuder to send a welcome message to new subscribers with the list public key attachedThis idea came up in testing a use case where the list public key wouldn't necessarily be uploaded to the key server. While sending email to listname-sendkey@listhost.domain.com works fine, for less technical users it would be useful to ...This idea came up in testing a use case where the list public key wouldn't necessarily be uploaded to the key server. While sending email to listname-sendkey@listhost.domain.com works fine, for less technical users it would be useful to preempt the need for this step and just have them receive a copy of the public key along with a brief message about the list and maybe even how to interact with the list via email commands. Maybe even an option to include a blurb about the web interface, since not all deployments may have that available. I'm thinking something along the lines of how mailman mailing lists send welcome messages to new subscribers, but also tailored to make getting started with schleuder easier for the masses who may be less technically inclined.https://0xacab.org/schleuder/schleuder/-/issues/328Show name if no email is present in UID and proposal for new "oneline" output...2020-01-02T22:02:43ZpazShow name if no email is present in UID and proposal for new "oneline" output formatIn #227 we chose a "oneline" format to represent a key in a single line. Apparently not including an email address is more common than expected. It doesn't produce actual error if the email misses from the description but it creates conf...In #227 we chose a "oneline" format to represent a key in a single line. Apparently not including an email address is more common than expected. It doesn't produce actual error if the email misses from the description but it creates confusion (see e.g. #325).
Thus I suggest to include the "name"-part of the UID if no "email" is present.Next Big Thinghttps://0xacab.org/schleuder/schleuder/-/issues/308CI: Shared runners are disabled for our repo; makes CI jobs for people forkin...2021-03-18T21:35:44ZgeorgCI: Shared runners are disabled for our repo; makes CI jobs for people forking our repo stuck- The shared runner is disabled for our repo, because it's too slow.
- If people are forking our repo, the CI / CD settings are copied as well.
- Therefore, people are stuck with, by default, a repo configured to run CI jobs, but without...- The shared runner is disabled for our repo, because it's too slow.
- If people are forking our repo, the CI / CD settings are copied as well.
- Therefore, people are stuck with, by default, a repo configured to run CI jobs, but without a runner which runs the jobs.
- Effectively, this means that GitLab will parse the CI config, create jobs and then waits for a runner to pick up the jobs.
- Because there is none, after some time GitLab will run into a timeout, kill the jobs, merging will be blocked.
The related MR tries to improve the situation to at least document it.
The proper way would be to talk to upstream to try to find / develop a more sane solution.georggeorghttps://0xacab.org/schleuder/schleuder/-/issues/307CI: Before building Docker image, check available runner and container registry2018-01-28T10:18:45ZgeorgCI: Before building Docker image, check available runner and container registryCurrently, we don't do any checks if it's possible to build and push the Docker image:
1. The default 0xcab shared runner doesn't run in privileged mode. This is needed to run Docker inside Docker, e.g. to build an Docker image inside ...Currently, we don't do any checks if it's possible to build and push the Docker image:
1. The default 0xcab shared runner doesn't run in privileged mode. This is needed to run Docker inside Docker, e.g. to build an Docker image inside a running Docker container.
2. By default, the container registry (needed to push Docker images) isn't enabled for new projects.
Therefore, if people are forking our repo, this job will fail with the default settings, merging will be blocked, because of this.
Two ideas how to solve this:
1. We could check for the [CI_RUNNER_TAGS](https://docs.gitlab.com/ce/ci/variables/README.html#predefined-variables-environment-variables) env var: It should list `docker-in-docker`.
2. We could check for the [CI_REGISTRY_IMAGE](https://docs.gitlab.com/ce/ci/variables/README.html#predefined-variables-environment-variables) env var: If its unset, the container registry isn't enabled.
Any opinions / feedback?
**Edit 1:** Again, I'm not sure how to implement this. We would need to pass information between different jobs, and that's currently not possible. This issue is similar [to the one described in the past](https://0xacab.org/schleuder/schleuder/issues/273#note_126857).
**Edit 2:** Here is an idea how to implement this:
- Remove the tag `docker-in-docker`, so the job gets picked up by the native 0xacab worker.
- At first, after start, check the current project namespace: Continue with the build if we're inside `schleuder/schleuder`, `exit 0` in all other cases.
This would of course mean that this only "works for us", but, IMHO, this should be sufficient.3.2.2georggeorghttps://0xacab.org/schleuder/schleuder/-/issues/306CI: Build Docker image only for {master branch,git tags} or remove Docker ima...2018-01-28T10:18:45ZgeorgCI: Build Docker image only for {master branch,git tags} or remove Docker images on branch deleteWe've started recently to build Docker images. As of now, we're already using ~ 1.5 gigabyte of storage to store these. Obviously, this doesn't scale.
Two ideas how to solve this:
- We only build the image for the master branch or for ...We've started recently to build Docker images. As of now, we're already using ~ 1.5 gigabyte of storage to store these. Obviously, this doesn't scale.
Two ideas how to solve this:
- We only build the image for the master branch or for git tags, if releasing a new version.
- We remove the Docker image based on a specific branch on branch delete, e.g. if the branch gets merged to master.
I need some input / opinions on this, because I'm currently unsure who is using the Docker images in which way.3.2.2georggeorghttps://0xacab.org/schleuder/schleuder/-/issues/302Broken GnuPG-keys on Ubuntu [was: NULL pointer given by gpgme]2018-12-02T15:32:41ZPauBroken GnuPG-keys on Ubuntu [was: NULL pointer given by gpgme]First time I use schleuder. I've followed all documentation and installed schleuder, schleuder-cli and schleuder-web. I've configured properly postfix as MTA. Everyting works good (client and also WEB), I can create lists, add keys, etc....First time I use schleuder. I've followed all documentation and installed schleuder, schleuder-cli and schleuder-web. I've configured properly postfix as MTA. Everyting works good (client and also WEB), I can create lists, add keys, etc. However when someone of the list send an e-mail, schleuder dies with the following error (MTA pipes the message to schleuder the prints the error).
I'm using Ubuntu 16.04, everything up to date.
Thank you very much. Hope I can use schleuder :)
> Jan 14 21:45:19 whisperlist Schleuder[7076]: NULL pointer given#012/var/lib/gems/2.3.0/gems/gpgme-2.0.16/lib/gpgme/ctx.rb:480:in `gpgme_op_sign_result'#012/var/lib/gems/2.3.0/gems/gpgme-2.0.16/lib/gpgme/ctx.rb:480:in `sign_result'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg/gpgme_helper.rb:38:in `rescue in block in encrypt'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg/gpgme_helper.rb:24:in `block in encrypt'#012/var/lib/gems/2.3.0/gems/gpgme-2.0.16/lib/gpgme/ctx.rb:79:in `new'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg/gpgme_helper.rb:23:in `encrypt'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg/encrypted_part.rb:20:in `initialize'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg.rb:43:in `new'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg.rb:43:in `block in encrypt'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg.rb:113:in `instance_eval'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg.rb:113:in `block in construct_mail'#012/var/lib/gems/2.3.0/gems/mail-2.7.0/lib/mail/message.rb:153:in `instance_eval'#012/var/lib/gems/2.3.0/gems/mail-2.7.0/lib/mail/message.rb:153:in `initialize'#012/var/lib/gems/2.3.0/gems/mail-2.7.0/lib/mail/mail.rb:51:in `new'#012/var/lib/gems/2.3.0/gems/mail-2.7.0/lib/mail/mail.rb:51:in `new'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg.rb:106:in `construct_mail'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg.rb:29:in `encrypt'#012/var/lib/gems/2.3.0/gems/mail-gpg-0.3.1/lib/mail/gpg/delivery_handler.rb:11:in `deliver_mail'#012/var/lib/gems/2.3.0/gems/mail-2.7.0/lib/mail/message.rb:260:in `deliver'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/logger_notifications.rb:41:in `block in notify_admin'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/logger_notifications.rb:24:in `each'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/logger_notifications.rb:24:in `notify_admin'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/logger_notifications.rb:13:in `error'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/list.rb:353:in `rescue in block in send_to_subscriptions'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/list.rb:348:in `block in send_to_subscriptions'#012/var/lib/gems/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/delegation.rb:46:in `each'#012/var/lib/gems/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/delegation.rb:46:in `each'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/list.rb:347:in `send_to_subscriptions'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/runner.rb:49:in `run'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/lib/schleuder/cli.rb:35:in `work'#012/var/lib/gems/2.3.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'#012/var/lib/gems/2.3.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'#012/var/lib/gems/2.3.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'#012/var/lib/gems/2.3.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'#012/var/lib/gems/2.3.0/gems/schleuder-3.2.1/bin/schleuder:12:in `<top (required)>'#012/usr/local/bin/schleuder:23:in `load'#012/usr/local/bin/schleuder:23:in `<main>'#012#012#012Original message:#012#012Return-Path: <paco@drrx.net>#012Delivered-To: test@whisper.me#012Received: from mail.drrx.net (mail.dabax.net [8.19.1.7])#012#011by whisper.me (Postfix) with ESMTP id 605D780ED5#012#011for <test@whisper.me>; Sun, 14 Jan 2018 21:45:17 +0100 (CET)#012DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dabax.net; s=mail;#012#011t=1515962717; bh=ZqZOcsiLievNtZF7OH7duh4QiUDFDXj7Xc8Op25fTjQ=;#012#011h=To:From:Subject:Date:From;#012#011b=kgkWh2zvnsAgDSGtz/TpIfpq0RXGsdghJC7cftOI/PAFLmPeDixN3V6ViLYUIX8+4#012#011 2+IFQMoh9NaymwfBrp/0dJe8meu8uAoC3BUyJ3VTbCTPpNAhIZO4olGJxUq+wcNzXG#012#011 uiNKY5LEXdamRA2GdVk81maaVJ5UR4IUw1jlhG7U=#012To: test@whisper.me#012From: paco <paco@drrx.net>#012Subject: sdf#012Message-ID: <db759e69-71fb-3ac2-618c-e48686fae41b@dabax.net>#012Date: Sun, 14 Jan 2018 21:45:13 +0100#012User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101#012 Thunderbird/52.5.0#012MIME-Version: 1.0#012Content-Type: multipart/encrypted;#012 protocol="application/pgp-encrypted";#012 boundary="A2SQmbEVFVU7N6vcGbLvu2KpdnenPNiY5"#012#012This is an OpenPGP/MIME encrypted message (RFC 4880 and 3156)#012--A2SQmbEVFVU7N6vcGbLvu2KpdnenPNiY5#012Content-Type: application/pgp-encrypted#012Content-Description: PGP/MIME version identification#012#012Version: 1#012#012--A2SQmbEVFVU7N6vcGbLvu2KpdnenPNiY5#012Content-Type: application/octet-stream; name="encrypted.asc"#012Content-Description: OpenPGP encrypted message#012Content-Disposition: inline; filename="encrypted.asc"#012#012-----BEGIN PGP MESSAGE-----#012#012hQIMA8kZwn6vMyXGARAAjPJvfHKa78DZjlO+JD3QC1vW7KIjsQk2aVpDea9E1/E8#012gFDepm2h1H3r3qs9yVzIHM+zoeM/eeRGElpUBLNkfyaS1bx+2UvPmzVjNC5J5owu#0121aKrd67S2YmRzDtI2ucPF7vpSflMhCvyXzU11KrVnZ3i6vILLc6zDNNEFFWL0dN/#012f7EUYBLCnssRqgAkWwqnIX4J6HsjeAspjP7gLEaSiuIa+nVf8bUEgeITlGahRqJJ#012Qe0W0okZs5vje9vA9ApEqLmHx76Z4qKoGYKPhyP8Yol/hj4BknW3S+hsc0ajDEFG#0128SP5sjz16I4AxvYJ0myqxI+bVqa7kGzSK1Ll0loWZdicUgDut1+Y1MmxIzUvhdVO#0124KxnxuMwKPFmrDeGufRhBaRny3nwIqQLoLmgabkbZ4yLKvo1t7tQHNmkhrci9JC8#012ZCtmOmCf8QCV/cCNzg+Z2q/CtoDb2UQ0wuyCkhfxTbEOWba+PjATfvlCJSC1DtWK#012oXJsRilvP92Kn+PUNrLdlcHYyvmqeCSahNAQCtLyBsSe8BdecycbPdp8xHocoKfo#012U0mXizOuwMjWVLI+zEEpnQEZWtxZ3WALiPYd+HKPm+m+2DccplsdTNhS0HvIqv01#012tNeYACO2473UmQs7uXnZwUjR7XRBa+uFSVnBK+XSHqj7klzx4bel6YvmmnKWk5OF#012AQwDW3gjU1IWCjYBB/0bQCtFc4ewQiXUmUnnxsgXuIysxpIUYv7NBkmngBZV2V6X#01270RbC8LNeT8vzqlznhESRxuY1i0bJTENT3uALQQvNYDt2PWTEu4+bO3QWH/K5J+V#012CiDAxCsum3M+irsPe6BOqDbHMMqKKxWQ0sMsiJWAc8TC/p45l/0gU58+OgHmb1Pw#012PcehL5+qWHmNGH1QsfkUotzFCt9cS/gVVKxdspHxNAlhyFPUJsbB0nUKboMdR+FB#0120JP3oSjAB0CNCCevcD/DXBL6ciLbyL91Bi5LeO6jUbflqbBnc3Ro9c5cksgi1nk4#012u1n7BReVru4F90UGV/qf4pNBdWU04oCWusw+lNP70ukBoKDI6oFXTrISV1Vfke3g#012ruvsPOH7Xlk7BBkK9yQZl1hNCyqzAZhjbKUN+0Vd0C3dSfNrCS8CR4wfI1+h2gor#012sgBHl5E6s/qQhnSe7029n+3pQcDD469ksVAnnYZh0TBXrtQIj/Z+RJ0BuJQLndcO#012O2w5m5KGF0KCecmyoN+oZiKCm+W6EC1LE/UMKvKhZFxo0qQYUwEUIoR4Xzyb7821#012uxDvLiM2xDaKx1oWP/OX2OVlBC8cBNjgy2D3XImCpGAbRBUGA2VfaFN25exo957O#012+uIRNffk2/e3QkEacB7himRQ1jA57fVkz1M64IwM8M5XiHZbOKniPTpBdeZQGxn1#012HoD5l3xfg4PhU0K6jNrb6xaNxcZZHGjCIl7mxO5pidDJJUcC7QQILtyC+MI0MrDn#012oJGmIUtUVjnx5XoUNVkG/Lx/mMY/Ww1PY3PNV+dgknPP8RM3AU4fdvmJMPwST6RH#0129A0JHS2B1XEyTmqGMIuZY2VTrsLF1USjIxWmWdbq9vLbzoJJstBmeuJ5h85nsZH1#012P31kc88YvbZ30Jx2xxq/kjXJwEwf/wK16SV9ytBE9zccVIm5yfjSzPsbkR27friH#012AAUJYm+gIrdn6BWtxSTQaAlY1/sXvsyYzp1VriJn9M6N9TWouj/1xspiqP38bfDe#01262JGb4wQdJs7st6SoZ8y+cAsOybF/svYFNZr3qsdFndXHsZh+PumsTRrWCZWmC7E#01226YqvV/1MOus4d1hI+S6bP2hhCd9WGG0wnKEDeQXvZxmwkNC6gCjIM3bUU1iewHL#012faxA2h2LTT//oL7LMLe/cJN+slKaFP6v2g9DjToHuYnr6lrwB3j6Gcv1a4ow7clk#012qhRujMo7sfQU3rpANDwUPAmUeKQLLv0a6YRz0e+Rr+S8gbKc2RssrBmfCynxCKG9#012exMNcGlnKFH9UxBZOegH/SQc6yfBDZuB24CA8rzaZupgYWvt2lJmLJapkZAkM0zv#012GB6rk9BZE+dRpwKpCm4=#012=9Pie#012-----END PGP MESSAGE-----#012#012--A2SQmbEVFVU7N6vcGbLvu2KpdnenPNiY5--https://0xacab.org/schleuder/schleuder/-/issues/298Make From, Reply-To: configurable2021-06-28T11:51:56ZMuri NicanorMake From, Reply-To: configurableit would be great if it was possible to set an reply-to header for mails schleuder sends. a usecase would be a newsletter solution as decribed in #296it would be great if it was possible to set an reply-to header for mails schleuder sends. a usecase would be a newsletter solution as decribed in #2963.6.0https://0xacab.org/schleuder/schleuder/-/issues/286CI: Deprecate ruby{2.1,2.2}, test ruby2.52021-03-04T11:26:57ZgeorgCI: Deprecate ruby{2.1,2.2}, test ruby2.5- Do we still need to test ruby{2.1,2.2}? Which version is used on CentOS 7?
- Besides: I would like to introduce ruby2.5.- Do we still need to test ruby{2.1,2.2}? Which version is used on CentOS 7?
- Besides: I would like to introduce ruby2.5.Next Big Thinghttps://0xacab.org/schleuder/schleuder/-/issues/284Throttle concurrent Schleuder-processes2020-01-05T13:16:46ZpazThrottle concurrent Schleuder-processesWe should throttle the number of parallel Schleuder-processes in order to avoid having processes killed due to memory-shortage when a lot of emails are being delivered at once.
With this we would not need an incoming queue anymore (#75).We should throttle the number of parallel Schleuder-processes in order to avoid having processes killed due to memory-shortage when a lot of emails are being delivered at once.
With this we would not need an incoming queue anymore (#75).