Message encodings: "UnicodeEncodeError: 'ascii' codec can't encode..." #110

Closed
opened 2022-10-29 15:44:02 +02:00 by pfm · 42 comments
Collaborator

At least one message has caused the following issue while being processed:

host 127.0.0.1[127.0.0.1] said: 500 5.6.0 id=13102-20 - Rejected by next-hop MTA on relaying, from MTA(smtp:[127.0.0.1]:10025): 500 Error: (UnicodeEncodeError) 'ascii' codec can't encode characters in position 687-689: ordinal not in range(128) (in reply to end of DATA command)

This means we sometimes try decoding a message (from bytes to str) using wrong decoder. However, we never use ascii directly, so this might come:

  1. server configuration (e.g. LANG=C);
  2. Content-Type header, esp. its encoding part.

We probably should stop decoding to str.

At least one message has caused the following issue while being processed: ``` host 127.0.0.1[127.0.0.1] said: 500 5.6.0 id=13102-20 - Rejected by next-hop MTA on relaying, from MTA(smtp:[127.0.0.1]:10025): 500 Error: (UnicodeEncodeError) 'ascii' codec can't encode characters in position 687-689: ordinal not in range(128) (in reply to end of DATA command) ``` This means we sometimes try decoding a message (from `bytes` to `str`) using wrong decoder. However, we never use `ascii` directly, so this might come: 1. server configuration (e.g. `LANG=C`); 2. `Content-Type` header, esp. its encoding part. We probably should stop decoding to `str`.
pfm added this to the Open beta disroot test milestone 2022-10-29 15:44:02 +02:00
pfm added the
ISSUE
label 2022-10-29 15:44:02 +02:00
Author
Collaborator

This one is raised in smtplib, Python's built-in SMTP client module:

        if isinstance(msg, str):
            msg = _fix_eols(msg).encode('ascii')

I'm still investigating, because it would be very surprising if a widely used library didn't support non-ASCII messages. However, ASCII encoding is fixed.

This one is raised in `smtplib`, Python's built-in SMTP client module: ```python if isinstance(msg, str): msg = _fix_eols(msg).encode('ascii') ``` I'm still investigating, because it would be very surprising if a widely used library didn't support non-ASCII messages. However, ASCII encoding is fixed.
pfm changed title from Character set mismatch to Message encodings: "UnicodeEncodeError: 'ascii' codec can't encode..." 2022-10-29 21:13:07 +02:00
Contributor

I am getting this error as well, but with an email that should not even be touched by gpg-lacre as there is no public key for the receiving address in the server's keyring. It is a confirmation mail from keyserver@keys.openpgp.org which bounces and is not delivered. gpg-lacre really needs to fail softer, especially when there is nothing more for it to do than passing on the message.

I am getting this error as well, but with an email that should not even be touched by gpg-lacre as there is no public key for the receiving address in the server's keyring. It is a confirmation mail from keyserver@keys.openpgp.org which bounces and is not delivered. gpg-lacre really needs to fail softer, especially when there is nothing more for it to do than passing on the message.
Contributor

It seems this only happens with emails not to be encrypted by the server. After setting up server side encryption for the account, the confirmation emails from keyserver@keys.openpgp.org arrive, although german umlauts (ä,ö,ü) are replaced with something displayed as non-printable characters.

It seems this only happens with emails not to be encrypted by the server. After setting up server side encryption for the account, the confirmation emails from keyserver@keys.openpgp.org arrive, although german umlauts (ä,ö,ü) are replaced with something displayed as non-printable characters.
Author
Collaborator

Thank you very much @EmanuelLoos! I've just reproduced the issue, created a test message and will now try fixing it.

However, judging by the contents of your log I can tell you're runng outdated code. Please consider updating:

cd $LACRE_REPOSITORY_DIR
git fetch --tags
git reset --hard v0.1

This will set your repository to our current release, where several issues have already been fixed.

Thank you very much @EmanuelLoos! I've just reproduced the issue, created a test message and will now try fixing it. However, judging by the contents of your log I can tell you're runng outdated code. Please consider updating: ```shell cd $LACRE_REPOSITORY_DIR git fetch --tags git reset --hard v0.1 ``` This will set your repository to our current release, where several issues have already been fixed.
Contributor

Thanks, I saw the update after commenting on this issue and and have already installed it.

Thanks, I saw the update after commenting on this issue and and have already installed it.
Author
Collaborator

Modules useful while solving this issue and #111:

  • quopri;
  • email (with email.message, email.generator and email.parser).

I suspect we'll need to get rid of all as_string calls and direct conversions from str to bytes and use generators and parsers provided by email submodules. This should make the code much more thorough, but will probably take some more time than initially expected.

Modules useful while solving this issue and #111: - [quopri](https://docs.python.org/3/library/quopri.html); - [email](https://docs.python.org/3/library/email.html) (with `email.message`, `email.generator` and `email.parser`). I suspect we'll need to get rid of all `as_string` calls and direct conversions from `str` to `bytes` and use generators and parsers provided by `email` submodules. This should make the code much more thorough, but will probably take some more time than initially expected.
Author
Collaborator

Finally I've made some progress. A friend has provided a message that does lead to this issue on Lacre test environment.

Unfortunately, my E2E tests produce different results, so I'm trying to figure out where the difference is.

Finally I've made some progress. A friend has provided a message that does lead to this issue on Lacre test environment. Unfortunately, my E2E tests produce different results, so I'm trying to figure out where the difference is.
Author
Collaborator

Still looking for the key difference between our test environment and the environment in which E2E tests run.

I've also spent a lot of time trying to figure out if there's something obviously wrong about my approach, but I haven't found anything.

Still looking for the key difference between our test environment and the environment in which E2E tests run. I've also spent a lot of time trying to figure out if there's something obviously wrong about my approach, but I haven't found anything.
Author
Collaborator

The issue can be reproduced when:

  1. recipient's key has expired;
  2. message contents is non-ASCII.

I'll need to add a test with an expired key to make sure I'm not missing anything in e2e tests.

The issue can be reproduced when: 1. recipient's key has expired; 2. message contents is non-ASCII. I'll need to add a test with an expired key to make sure I'm not missing anything in e2e tests.
Author
Collaborator

An E2E test with an expired key and the message known to cause encoding issue on @lacre.io doesn't lead to expected results, i.e. the encoding issue is not reproduced in test environment.

It leaves the question open: what the heck happening there?

An E2E test with an expired key and the message known to cause encoding issue on `@lacre.io` doesn't lead to expected results, i.e. the encoding issue is not reproduced in test environment. It leaves the question open: **what the heck happening there**?
Author
Collaborator

I've got two messages: one is multipart/alternative with text/plain and text/html, and the other is just a text/plain. Both use UTF-8 with Content-Transfer-Encoding: 8bit and UTF-8 charset, yet the first doesn't cause encoding error and the second does.

I've got two messages: one is `multipart/alternative` with `text/plain` and `text/html`, and the other is just a `text/plain`. Both use UTF-8 with `Content-Transfer-Encoding: 8bit` and UTF-8 charset, yet the first doesn't cause encoding error and the second does.
Author
Collaborator

Reading Section 6 of RFC 2045 (MIME: Format of Internet Message Bodies). Because I need to understand the basics first.

Reading [Section 6](https://www.rfc-editor.org/rfc/rfc2045#section-6) of RFC 2045 (MIME: Format of Internet Message Bodies). Because I need to understand the basics first.
Author
Collaborator

Seems like the issue is fixed, but let's wait a day or two to verify it.

Along the way I've addressed #113 and #115.

Seems like the issue is fixed, but let's wait a day or two to verify it. Along the way I've addressed #113 and #115.
Contributor

Where's the fix?

Where's the fix?
Author
Collaborator

Hi @EmanuelLoos, you can find it on post-test-fixes branch (recent commits are the most important).

However, please note there's a temporary addition of extended logging (opt-in, off by default). See example config in the repository to see the details.

Hi @EmanuelLoos, you can find it on [post-test-fixes](https://git.disroot.org/Disroot/gpg-lacre/commits/branch/post-test-fixes) branch (recent commits are the most important). However, please note there's a temporary addition of extended logging (opt-in, off by default). See example config in the repository to see the details.
Contributor

I just updated. However, gpg-lacre still seems to have a hard time encrypting 8-Bit UTF-8 messages as sent from Thunderbird containing emojies and umlauts.

Sent:

Content-Type: multipart/alternative;
 boundary="------------1zb10cXUMkHesbrPLCzLEJwe"
Message-ID: <4b92f088-e92b-25fa-c1e1-623ff199c120@emanuel-loos.eu>
Date: Mon, 2 Jan 2023 10:07:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?=
Content-Language: en-US
To: ****** **** <*********@klarheit.at>
References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu>
 <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at>
 <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at>
 <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at>
From: ******* **** <*********@emanuel-loos.eu>
In-Reply-To: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at>

This is a multi-part message in MIME format.
--------------1zb10cXUMkHesbrPLCzLEJwe
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

😁😉

On 02.01.23 10:06, ****** **** wrote:
>
>
> Am 2. Januar 2023 10:03:02 MEZ schrieb ****** **** <*********@klarheit.at>:
>
>     (ツ) 🏔
>
>     Am 2. Januar 2023 10:01:31 MEZ schrieb ****** ****
>     <*********@klarheit.at>:
>
>         Üöæ
>
>         Am 2. Januar 2023 09:58:43 MEZ schrieb ******* ****
>         <*********@emanuel-loos.eu>:
>
>             Das ist ein Test. \U0001f609
>
--------------1zb10cXUMkHesbrPLCzLEJwe
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>😁😉</p>
    <div class="moz-cite-prefix">On 02.01.23 10:06, ****** **** wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <br>
      <br>
      <div class="gmail_quote">Am 2. Januar 2023 10:03:02 MEZ schrieb
        ****** **** <a class="moz-txt-link-rfc2396E" href="mailto:*********@klarheit.at">&lt;*********@klarheit.at&gt;</a>:
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          (ツ) 🏔<br>
          <br>
          <div class="gmail_quote">Am 2. Januar 2023 10:01:31 MEZ
            schrieb ****** **** <a class="moz-txt-link-rfc2396E" href="mailto:*********@klarheit.at">&lt;*********@klarheit.at&gt;</a>:
            <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
              0.8ex; border-left: 1px solid rgb(204, 204, 204);
              padding-left: 1ex;">
              Üöæ<br>
              <br>
              <div class="gmail_quote">Am 2. Januar 2023 09:58:43 MEZ
                schrieb ******* **** <a class="moz-txt-link-rfc2396E" href="mailto:*********@emanuel-loos.eu">&lt;*********@emanuel-loos.eu&gt;</a>:
                <blockquote class="gmail_quote" style="margin: 0pt 0pt
                  0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);
                  padding-left: 1ex;">
                  <pre dir="auto" class="k9mail">Das ist ein Test. \U0001f609

</pre>
                </blockquote>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>

--------------1zb10cXUMkHesbrPLCzLEJwe--

Recieved:

Return-Path: <*********@emanuel-loos.eu>
Delivered-To: *********@klarheit.at
Received: from mail.klarheit.at
	by klarheit with LMTP
	id iPTbMyOesmMuXwAAHcT7Mw
	(envelope-from <*********@emanuel-loos.eu>)
	for <*********@klarheit.at>; Mon, 02 Jan 2023 10:04:35 +0100
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by mail.klarheit.at (Postfix) with ESMTPS id D3040A0068
	for <*********@klarheit.at>; Mon,  2 Jan 2023 10:04:35 +0100 (CET)
Authentication-Results: mail.klarheit.at;
	dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=emanuel-loos.eu header.i=@emanuel-loos.eu header.a=rsa-sha256 header.s=mail header.b=MDSGODuH;
	dkim-atps=neutral
Received: from mail.emanuel-loos.eu (mail.emanuel-loos.eu [185.128.244.57])
	by mail.klarheit.at (Postfix) with ESMTP id 9C3C1A0067
	for <*********@klarheit.at>; Mon,  2 Jan 2023 10:04:35 +0100 (CET)
Received: from [192.168.11.100] (unknown [192.168.10.1])
	by mail.emanuel-loos.eu (Postfix) with ESMTPSA id 0985FB412EA
	for <*********@klarheit.at>; Mon,  2 Jan 2023 09:06:41 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=emanuel-loos.eu;
	s=mail; t=1672650401;
	bh=XchrI6B+lJzEw+5bzLgot30/PTfZK2/cJ64/UjkDUh8=;
	h=Date:Subject:To:References:From:In-Reply-To:From;
	b=MDSGODuHW4Mw6stbA/obcqkP3g5P4sHfGXj0U2Otb35G2FewFLqaoMH2v9UyBjAke
	 mKcx0wCuD8kMqA78Y9sNaI4lfVnGFdHw1RCjHdcXwpLqdNnsGAbe5e5JHViyvh2mtE
	 cJKqgYwibPT3DU+t1fzsOm094bZQr1ugHFH5576Q9w0YeVsim+ZC1FSYhCw9rJbUVp
	 btqbWJLdkuFxN1ise0gr2XhS+0orknHD83JaT9xTJYcwZLhsI3wZkEsFtnfdbNyUvY
	 0zLxbNVVqTzSQe4hSyiSogzihTEzXaQWdj0NDngybw4FnlVRCxSyhDQcEMJE/wSO09
	 Dr1eeSyCtFd1Q==
Content-Type: multipart/encrypted; protocol="application/pgp-encrypted"; boundary="===============4183414002142554686=="
Message-ID: <4b92f088-e92b-25fa-c1e1-623ff199c120@emanuel-loos.eu>
Date: Mon, 2 Jan 2023 10:07:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?=
Content-Language: en-US
To: ****** **** <*********@klarheit.at>
References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu>
 <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at>
 <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at>
 <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at>
From: ******* **** <*********@emanuel-loos.eu>
In-Reply-To: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at>
X-GPG-Mailgate: Encrypted by GPG Mailgate
Content-Transfer-Encoding: 8BIT

I just updated. However, `gpg-lacre` still seems to have a hard time encrypting `8-Bit` `UTF-8` messages as sent from `Thunderbird` containing emojies and umlauts. Sent: ``` Content-Type: multipart/alternative; boundary="------------1zb10cXUMkHesbrPLCzLEJwe" Message-ID: <4b92f088-e92b-25fa-c1e1-623ff199c120@emanuel-loos.eu> Date: Mon, 2 Jan 2023 10:07:32 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?= Content-Language: en-US To: ****** **** <*********@klarheit.at> References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu> <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at> <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at> <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at> From: ******* **** <*********@emanuel-loos.eu> In-Reply-To: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at> This is a multi-part message in MIME format. --------------1zb10cXUMkHesbrPLCzLEJwe Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 😁😉 On 02.01.23 10:06, ****** **** wrote: > > > Am 2. Januar 2023 10:03:02 MEZ schrieb ****** **** <*********@klarheit.at>: > > (ツ) 🏔 > > Am 2. Januar 2023 10:01:31 MEZ schrieb ****** **** > <*********@klarheit.at>: > > Üöæ > > Am 2. Januar 2023 09:58:43 MEZ schrieb ******* **** > <*********@emanuel-loos.eu>: > > Das ist ein Test. \U0001f609 > --------------1zb10cXUMkHesbrPLCzLEJwe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>😁😉</p> <div class="moz-cite-prefix">On 02.01.23 10:06, ****** **** wrote:<br> </div> <blockquote type="cite" cite="mid:0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <br> <br> <div class="gmail_quote">Am 2. Januar 2023 10:03:02 MEZ schrieb ****** **** <a class="moz-txt-link-rfc2396E" href="mailto:*********@klarheit.at">&lt;*********@klarheit.at&gt;</a>: <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> (ツ) 🏔<br> <br> <div class="gmail_quote">Am 2. Januar 2023 10:01:31 MEZ schrieb ****** **** <a class="moz-txt-link-rfc2396E" href="mailto:*********@klarheit.at">&lt;*********@klarheit.at&gt;</a>: <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> Üöæ<br> <br> <div class="gmail_quote">Am 2. Januar 2023 09:58:43 MEZ schrieb ******* **** <a class="moz-txt-link-rfc2396E" href="mailto:*********@emanuel-loos.eu">&lt;*********@emanuel-loos.eu&gt;</a>: <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> <pre dir="auto" class="k9mail">Das ist ein Test. \U0001f609 </pre> </blockquote> </div> </blockquote> </div> </blockquote> </div> </blockquote> </body> </html> --------------1zb10cXUMkHesbrPLCzLEJwe-- ``` Recieved: ``` Return-Path: <*********@emanuel-loos.eu> Delivered-To: *********@klarheit.at Received: from mail.klarheit.at by klarheit with LMTP id iPTbMyOesmMuXwAAHcT7Mw (envelope-from <*********@emanuel-loos.eu>) for <*********@klarheit.at>; Mon, 02 Jan 2023 10:04:35 +0100 Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail.klarheit.at (Postfix) with ESMTPS id D3040A0068 for <*********@klarheit.at>; Mon, 2 Jan 2023 10:04:35 +0100 (CET) Authentication-Results: mail.klarheit.at; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=emanuel-loos.eu header.i=@emanuel-loos.eu header.a=rsa-sha256 header.s=mail header.b=MDSGODuH; dkim-atps=neutral Received: from mail.emanuel-loos.eu (mail.emanuel-loos.eu [185.128.244.57]) by mail.klarheit.at (Postfix) with ESMTP id 9C3C1A0067 for <*********@klarheit.at>; Mon, 2 Jan 2023 10:04:35 +0100 (CET) Received: from [192.168.11.100] (unknown [192.168.10.1]) by mail.emanuel-loos.eu (Postfix) with ESMTPSA id 0985FB412EA for <*********@klarheit.at>; Mon, 2 Jan 2023 09:06:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=emanuel-loos.eu; s=mail; t=1672650401; bh=XchrI6B+lJzEw+5bzLgot30/PTfZK2/cJ64/UjkDUh8=; h=Date:Subject:To:References:From:In-Reply-To:From; b=MDSGODuHW4Mw6stbA/obcqkP3g5P4sHfGXj0U2Otb35G2FewFLqaoMH2v9UyBjAke mKcx0wCuD8kMqA78Y9sNaI4lfVnGFdHw1RCjHdcXwpLqdNnsGAbe5e5JHViyvh2mtE cJKqgYwibPT3DU+t1fzsOm094bZQr1ugHFH5576Q9w0YeVsim+ZC1FSYhCw9rJbUVp btqbWJLdkuFxN1ise0gr2XhS+0orknHD83JaT9xTJYcwZLhsI3wZkEsFtnfdbNyUvY 0zLxbNVVqTzSQe4hSyiSogzihTEzXaQWdj0NDngybw4FnlVRCxSyhDQcEMJE/wSO09 Dr1eeSyCtFd1Q== Content-Type: multipart/encrypted; protocol="application/pgp-encrypted"; boundary="===============4183414002142554686==" Message-ID: <4b92f088-e92b-25fa-c1e1-623ff199c120@emanuel-loos.eu> Date: Mon, 2 Jan 2023 10:07:32 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?= Content-Language: en-US To: ****** **** <*********@klarheit.at> References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu> <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at> <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at> <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at> From: ******* **** <*********@emanuel-loos.eu> In-Reply-To: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at> X-GPG-Mailgate: Encrypted by GPG Mailgate Content-Transfer-Encoding: 8BIT ```
Contributor

7bit emails sent from K-9 Mail work fine.

Sent:

Date: Mon, 02 Jan 2023 10:06:14 +0100
From: ****** **** <*********@klarheit.at>
To: ***** ******* & ****** **** <*********@klarheit.at>,
 ******** <*********@emanuel-loos.eu>
Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?=
User-Agent: K-9 Mail for Android
In-Reply-To: <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at>
References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu> <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at> <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at>
Message-ID: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at>
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary=----JJ5QS8ILOCELF10B1CSAMVDNLM4DIV
Content-Transfer-Encoding: 7bit
Autocrypt: addr=*********@klarheit.at; keydata=
 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
 7QH5JIloR7sXJ0FK6tRLPA==

------JJ5QS8ILOCELF10B1CSAMVDNLM4DIV
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 2=2E Januar 2023 10:03:02 MEZ schrieb ****** **** <*********@klarheit=2Eat=
>:
>(=E3=83=84) =F0=9F=8F=94
>
>Am 2=2E Januar 2023 10:01:31 MEZ schrieb ****** **** <*********@klarheit=2Ea=
t>:
>>=C3=9C=C3=B6=C3=A6
>>
>>Am 2=2E Januar 2023 09:58:43 MEZ schrieb ******** **** <*********@emanuel-loos=
=2Eeu>:
>>>Das ist ein Test=2E \U0001f609
>>>

------JJ5QS8ILOCELF10B1CSAMVDNLM4DIV
Content-Type: text/html;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><br><br><div class=3D"gmail_quote">Am 2=2E Januar =
2023 10:03:02 MEZ schrieb ****** **** &lt;*********@klarheit=2Eat&gt;:<blockqu=
ote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left=
: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
(=E3=83=84) =F0=9F=8F=94<br><br><div class=3D"gmail_quote">Am 2=2E Januar =
2023 10:01:31 MEZ schrieb ****** **** &lt;*********@klarheit=2Eat&gt;:<blockqu=
ote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left=
: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
=C3=9C=C3=B6=C3=A6<br><br><div class=3D"gmail_quote">Am 2=2E Januar 2023 0=
9:58:43 MEZ schrieb ******** **** &lt;*********@emanuel-loos=2Eeu&gt;:<blockquote=
 class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left: 1=
px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre dir=3D"auto" class=3D"k9mail">Das ist ein Test=2E \U0001f609<br><br><=
/pre></blockquote></div></blockquote></div></blockquote></div></body></html=
>
------JJ5QS8ILOCELF10B1CSAMVDNLM4DIV--

Recieved:

Return-Path: <*********@klarheit.at>
Delivered-To: *********@klarheit.at
Received: from mail.klarheit.at
	by klarheit with LMTP
	id dRGhC/idsmMuXwAAHcT7Mw
	(envelope-from <*********@klarheit.at>)
	for <*********@klarheit.at>; Mon, 02 Jan 2023 10:03:52 +0100
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by mail.klarheit.at (Postfix) with ESMTPS id 28213A0068
	for <*********@klarheit.at>; Mon, 2 Jan 2023 10:03:52 +0100 (CET)
Authentication-Results: mail.klarheit.at;
	dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=klarheit.at header.i=@klarheit.at header.a=rsa-sha256 header.s=2022 header.b=KWGPUrZ6;
	dkim-atps=neutral
Received: from [IPv6:::1] (unknown [IPv6:2a02:1748:dd5e:7720:d52:203b:bd07:1027])
	by mail.klarheit.at (Postfix) with ESMTPSA id D0265A0067;
	Mon, 2 Jan 2023 10:03:51 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=klarheit.at; s=2022;
	t=1672650231; bh=37srD8XRJo8XKP5L/yg188U38gThn40tDU7lIgqsdfQ=;
	h=Date:From:To:Subject:In-Reply-To:References:From;
	b=KWGPUrZ6nFAsg58bqS66Wttcco/OFz+dcxxKdYV5z6c6d/ot0Fm5fGPJ9Pa+FohZ8
	 BciuRmKGU155h8fBXNIjfkoNuWuPJagZgaad+/zfbzBKbhUgcULTmVhEg6lSP/QrnM
	 0A2d2uptfqqI6JbUUC6PGmG07qs1/0p+vLRxpr811uwMmsB/eOWrSKWq0i2ZPPBfNz
	 wNDEkkXCKCKc1hjxRAIsnSTvjOyhTr6NzJihVFgXWzbQRCpDWBVTTtg3cN9iSK4fT/
	 KgLzp9uhWfDYSbiVKq0/shEZ7G1yXK+J3uO/eMTjARE44LZw8AwTeH0gnCIguiTfrW
	 kKS4OBTpVFkdA==
Date: Mon, 02 Jan 2023 10:06:14 +0100
From: ****** **** <*********@klarheit.at>
To: ***** ******* & ****** **** <*********@klarheit.at>,
 ******** <*********@emanuel-loos.eu>
Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?=
User-Agent: K-9 Mail for Android
In-Reply-To: <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at>
References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu> <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at> <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at>
Message-ID: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at>
MIME-Version: 1.0
Content-Type: multipart/encrypted; protocol="application/pgp-encrypted"; boundary="===============1315803302304651782=="
Content-Transfer-Encoding: 8BIT
Autocrypt: addr=*********@klarheit.at; keydata=
 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
 7QH5JIloR7sXJ0FK6tRLPA==
X-GPG-Mailgate: Encrypted by GPG Mailgate
`7bit` emails sent from `K-9 Mail` work fine. Sent: ``` Date: Mon, 02 Jan 2023 10:06:14 +0100 From: ****** **** <*********@klarheit.at> To: ***** ******* & ****** **** <*********@klarheit.at>, ******** <*********@emanuel-loos.eu> Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?= User-Agent: K-9 Mail for Android In-Reply-To: <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at> References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu> <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at> <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at> Message-ID: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----JJ5QS8ILOCELF10B1CSAMVDNLM4DIV Content-Transfer-Encoding: 7bit Autocrypt: addr=*********@klarheit.at; keydata= mQGNBF7jeksBDACqB9pt3IXteNc10XcTGFIUtWfokS7zOgCOnDzC1gQgXQ3sbHJBqsHzAvSOPItv a1QqznLoVHFIsxb6bfXc0Ula2nM/446/Uc7Ac2izCGF29W08QTlkWvDToRpPnfjCEv21STNpRBt0 m9kJVp9LN88Mqa1azxiDYrFzw9Aal0/ay+NeBbwDVL6RpVQqS+6O9y8XAXZVeVaL3Qo4ZEmPDbfm Jzx5VB6DU6vk2GTmEBNb3lyfDcf6IOBJ6Q2kfhaFG3isD0vclKFktlhmSwY0YVd/WrLdmirdr5BZ d641XdwHb+L2ELwga6m1u0dolYU1SG6aC2A/+GuoYBGky8ff8IsmPYt0XDm7gLNt4B2y1ekdqIV8 PgIVvde5CaVvvwWnwlRIcoKV+nuSYp6nAc2gv9y9fDij1tZY7JABaqzjfuTcoQjhDbUBmjT9u4Mo fZoHuej7Qap3vXhE5u/4rCZmhhciaw/0bjJVPXjSND/HeRsnqrIoBimmNYpdKnnvjWIVaD0AEQEA AbQwS2FyaW4gU2NobWlkdCAmIE1hcnRpbiBMb29zIDxvZmZpY2VAa2xhcmhlaXQuYXQ+iQGwBBMB CgAaBAsJCAcCFQoCFgECGQEFgl7jeksCngECmwMACgkQAkNZiQaPe2tOfAv+L9xVIb0m9v50D0y/ K9b/D/rIhUHCgvoDACYPIe5ljyoKjVnqfZCdCk13szh98dnIXt8ep6/664S7i+5VcHXiA6hACfQH Up6F7HWI2U8ZYNqOzXRrgvcuYQ3o0ObT4np1+wPwmCUK+53V3KZivnQ63Qk53nZ2NUkl+4EfkW98 6CKYuMxrq2LCR2pO6vuMhhj28vctGoNkDzgjLRzoCym7etGdnEmAip2SUwwv+/g1GEDUVtEFS9Rv Czyl8PfCsYGAETeDZzwFwJV5Us7bxJCaw1NcMIF3iVYZTsn7WtA8w+TxpKcQaFs5hpTrjxLNaWp8 LA2YFWaPTv43PKtN4m16wS0sPhpdKVuTA2rKzm/7TLDoCZ4zgbIXv87Q8gdLYDHM8f8utPhfuXjO Mz9FAXlPwSbiJdqEZDlzZlE5GOX2EiBSQjDieiKeMkcDQwZwyf4WgUnYy6G4xLuh1K0INvNxToto OpLXi4F3pxvR/2SVESS4W2bP9zfG6pyv9Say8w7kuQGNBF7jeksBDACwML1HDtBfD5SG+/qXGlGF gSr+S+5zRCFbwuJm+LkUGVIDqE3xaifAgTlcvLpceQYA9v854/2MRbpt5nItQ++ALGTKjp3rkUyF vEGQaAOttjr6jjE7Fk30FOA9rA+xBUJ5BBI9AODcfZgQrTOS9uyguLtcyAmO+JDHiWfUN/lTHyZh OfGHX/MypBZDXWqxRCLe+GBjNrE1KzSUkaHzBrEAzAzO7cqUILFI9J+MDznRnuTSE0e5yvQ0EW4p jXRYac3hExX81s+kpEzS9k5iZWATpiR6q4Q7lkvfAid28ZnEo9QCXzziwLguDnaViTG3IjJDebMK qk4AbSqQ+K8He/O/OBntWlv7qv9LXL7wS0Pod+6vjUTOPX8vTwGRWP5uVsSh7KDuyP3eYF8h79wC +7zNi6KiD834jVDGij5XBLiojvHCbTDyx/U566lD+Oy+O8naSeAYOfjN9SWnhQ1YlbUpxE8oEXXq Evojno5rDZ+uKn+wzx9iYsuC/yQp2VrLO7cAEQEAAYkBtgQYAQoACQWCXuN6SwKbDAAhCRACQ1mJ Bo97axYhBNK92q6nFybr+P0g/wJDWYkGj3trkBcL/i/zhndeTAndpFGOyJypt3QiGd6jf3SoK4ww xn8EeHX57BymFvvpjO6kd9VlrcLTisfe9l4L3RbNPbp5bruv12aMoLumPZV2RcmkWaOBVWr/CSUI ++aG/OAhOY/PLc2TRrSwet8Jz4DQjfLHMbL+0PiMZBZPO89VWUUjbYw8TMM94ZDwX+MLKMEycuES oqfBbUgTAtxurJzRKO91Qxd9jlOPL3ud7BfcmdcA8zgy6PajJfIZhiEf7Fp2SXcuROI8kZkkRo/B +tr2b12iVwIDBEO4DsnMVcMVd20VUlIV3bX42YaFoF61qP2SuEnWLlS0H4FYu+7qHRkp2WYUp6pg k8pXbUhVUlnpLfzOv7L+cWCsfquuWBV279qvAfofQYj7rohpZCSRdpUBzbMRPLWwq58V16/SrHLX fittXKJ89fVv6Ubhbu+zuxn2eM7EMefxoXL+tS8/6oO+PuhlaECtY9EiDrVHmLXWBsawjKknjbUy 7QH5JIloR7sXJ0FK6tRLPA== ------JJ5QS8ILOCELF10B1CSAMVDNLM4DIV Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Am 2=2E Januar 2023 10:03:02 MEZ schrieb ****** **** <*********@klarheit=2Eat= >: >(=E3=83=84) =F0=9F=8F=94 > >Am 2=2E Januar 2023 10:01:31 MEZ schrieb ****** **** <*********@klarheit=2Ea= t>: >>=C3=9C=C3=B6=C3=A6 >> >>Am 2=2E Januar 2023 09:58:43 MEZ schrieb ******** **** <*********@emanuel-loos= =2Eeu>: >>>Das ist ein Test=2E \U0001f609 >>> ------JJ5QS8ILOCELF10B1CSAMVDNLM4DIV Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head></head><body><br><br><div class=3D"gmail_quote">Am 2=2E Januar = 2023 10:03:02 MEZ schrieb ****** **** &lt;*********@klarheit=2Eat&gt;:<blockqu= ote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left= : 1px solid rgb(204, 204, 204); padding-left: 1ex;"> (=E3=83=84) =F0=9F=8F=94<br><br><div class=3D"gmail_quote">Am 2=2E Januar = 2023 10:01:31 MEZ schrieb ****** **** &lt;*********@klarheit=2Eat&gt;:<blockqu= ote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left= : 1px solid rgb(204, 204, 204); padding-left: 1ex;"> =C3=9C=C3=B6=C3=A6<br><br><div class=3D"gmail_quote">Am 2=2E Januar 2023 0= 9:58:43 MEZ schrieb ******** **** &lt;*********@emanuel-loos=2Eeu&gt;:<blockquote= class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left: 1= px solid rgb(204, 204, 204); padding-left: 1ex;"> <pre dir=3D"auto" class=3D"k9mail">Das ist ein Test=2E \U0001f609<br><br><= /pre></blockquote></div></blockquote></div></blockquote></div></body></html= > ------JJ5QS8ILOCELF10B1CSAMVDNLM4DIV-- ``` Recieved: ``` Return-Path: <*********@klarheit.at> Delivered-To: *********@klarheit.at Received: from mail.klarheit.at by klarheit with LMTP id dRGhC/idsmMuXwAAHcT7Mw (envelope-from <*********@klarheit.at>) for <*********@klarheit.at>; Mon, 02 Jan 2023 10:03:52 +0100 Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail.klarheit.at (Postfix) with ESMTPS id 28213A0068 for <*********@klarheit.at>; Mon, 2 Jan 2023 10:03:52 +0100 (CET) Authentication-Results: mail.klarheit.at; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=klarheit.at header.i=@klarheit.at header.a=rsa-sha256 header.s=2022 header.b=KWGPUrZ6; dkim-atps=neutral Received: from [IPv6:::1] (unknown [IPv6:2a02:1748:dd5e:7720:d52:203b:bd07:1027]) by mail.klarheit.at (Postfix) with ESMTPSA id D0265A0067; Mon, 2 Jan 2023 10:03:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=klarheit.at; s=2022; t=1672650231; bh=37srD8XRJo8XKP5L/yg188U38gThn40tDU7lIgqsdfQ=; h=Date:From:To:Subject:In-Reply-To:References:From; b=KWGPUrZ6nFAsg58bqS66Wttcco/OFz+dcxxKdYV5z6c6d/ot0Fm5fGPJ9Pa+FohZ8 BciuRmKGU155h8fBXNIjfkoNuWuPJagZgaad+/zfbzBKbhUgcULTmVhEg6lSP/QrnM 0A2d2uptfqqI6JbUUC6PGmG07qs1/0p+vLRxpr811uwMmsB/eOWrSKWq0i2ZPPBfNz wNDEkkXCKCKc1hjxRAIsnSTvjOyhTr6NzJihVFgXWzbQRCpDWBVTTtg3cN9iSK4fT/ KgLzp9uhWfDYSbiVKq0/shEZ7G1yXK+J3uO/eMTjARE44LZw8AwTeH0gnCIguiTfrW kKS4OBTpVFkdA== Date: Mon, 02 Jan 2023 10:06:14 +0100 From: ****** **** <*********@klarheit.at> To: ***** ******* & ****** **** <*********@klarheit.at>, ******** <*********@emanuel-loos.eu> Subject: =?UTF-8?B?UmU6IMOEw7bDuQ==?= User-Agent: K-9 Mail for Android In-Reply-To: <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at> References: <ffe5d194-ed2d-f479-7ff0-a1f34147456a@emanuel-loos.eu> <B1875AC1-DE1F-4BC0-B7DB-851DC6E60936@klarheit.at> <5488C692-EF87-4EB2-8EC9-52A3FE8CAC63@klarheit.at> Message-ID: <0FA5698B-6CC9-4C99-91A9-8E7B0E844B9D@klarheit.at> MIME-Version: 1.0 Content-Type: multipart/encrypted; protocol="application/pgp-encrypted"; boundary="===============1315803302304651782==" Content-Transfer-Encoding: 8BIT Autocrypt: addr=*********@klarheit.at; keydata= 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 7QH5JIloR7sXJ0FK6tRLPA== X-GPG-Mailgate: Encrypted by GPG Mailgate ```
Contributor

After updating I still get the error:

UnicodeEncodeError:
    'ascii' codec can't encode character '\xf6' in position 612: ordinal not in
    range(128)
After updating I still get the error: ``` UnicodeEncodeError: 'ascii' codec can't encode character '\xf6' in position 612: ordinal not in range(128) ```
Author
Collaborator

Thanks for detailed reports @EmanuelLoos! I'll investigate some more.

Thanks for detailed reports @EmanuelLoos! I'll investigate some more.
pfm added reference post-test-fixes 2023-01-06 18:14:22 +01:00
pfm added the
BUG
label 2023-01-06 18:14:52 +01:00
pfm self-assigned this 2023-01-06 18:15:02 +01:00
Author
Collaborator

@EmanuelLoos one more thing - you can remove screenshots now. They contain PII and email addresses, which you might want to keep private.

@EmanuelLoos one more thing - you can remove screenshots now. They contain PII and email addresses, which you might want to keep private.
Author
Collaborator

I'm investigating the issue. I know how and why it happens, but don't know how to solve it yet.

I'm investigating the issue. I know how and why it happens, but don't know how to solve it yet.
Author
Collaborator

email module expects the message to be encoded with ASCII, but it is not.

`email` module expects the message to be encoded with ASCII, but it is not.
Author
Collaborator

I'm mapping the flow of data in Lacre and how messages are handled in PGP/MIME and PGP/Inline modes to understand when and how data transcoding takes place and how to do it properly.

I'm mapping the flow of data in Lacre and how messages are handled in PGP/MIME and PGP/Inline modes to understand when and how data transcoding takes place and how to do it properly.
Author
Collaborator

👉 Python Unicode HOWTO

👉 Python [Unicode HOWTO](https://docs.python.org/3/howto/unicode.html)
Author
Collaborator

I've pushed some more changes to post-test-fixes branch. I still need to deploy them to test environment (and the commit history is very messy because of trial-and-error approach), but I feel this time it might be fixed, or at least improved. 😅

I've pushed some more changes to [post-test-fixes](https://git.disroot.org/Disroot/gpg-lacre/commits/branch/post-test-fixes) branch. I still need to deploy them to test environment (and the commit history is very messy because of trial-and-error approach), but I feel this time it might be fixed, or at least improved. 😅
Author
Collaborator

Nope, still haven't fixed it.

Back to square one...

Nope, still haven't fixed it. Back to square one...
Author
Collaborator

I've finally found something:

  1. It happens when we process messages in PGP/MIME mode, while PGP/Inline seems to work fine.
  2. There's the weird behaviour of discarding a line of input that happens during encryption in PGP/MIME mode.
I've finally found something: 1. It happens when we process messages in PGP/MIME mode, while PGP/Inline seems to work fine. 2. There's the weird behaviour of discarding a line of input that happens *during encryption* in PGP/MIME mode.
Author
Collaborator

I've pushed some changes to the branch and deployed it to our test environment.

My test message has been processed properly. Let's test these changes some more.

I've pushed some changes to the branch and deployed it to our test environment. My test message has been processed properly. Let's test these changes some more.
Author
Collaborator

Seems that the tests are going well.

@EmanuelLoos, do you also confirm that current HEAD of branch post-test-fixes solves encoding issues?

Seems that the tests are going well. @EmanuelLoos, do you also confirm that current HEAD of branch post-test-fixes solves encoding issues?
Contributor

With this version emails sent from Thunderbird (with and without special characters) won't arrive at all for me:

Python 3.9 (Devuan 4 chimaera based on Debian 11 bullseye):

Action: failed
Status: 5.3.0
Diagnostic-Code: x-unix; Traceback (most recent call last):   File
    "/usr/local/bin/gpg-mailgate.py", line 51, in <module>
    core.deliver_message(raw_message, from_addr, to_addrs)   File
    "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 611, in
    deliver_message     recipients_left = _gpg_encrypt(raw_message,
    recipients_left)   File
    "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 67, in
    _gpg_encrypt     _gpg_encrypt_and_deliver(raw_message,   File
    "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 134, in
    _gpg_encrypt_and_deliver     out = _gpg_encrypt_to_str(message, keys,
    recipients, encrypt_f)   File
    "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 129, in
    _gpg_encrypt_to_str     msg_copy = _gpg_encrypt_copy(message, keys,
    recipients, encrypt_f)   File
    "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 118, in
    _gpg_encrypt_copy     encrypted_payloads = encrypt_f(msg_copy, keys)   File
    "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 316, in
    _encrypt_all_payloads_mime     wrapped_payload = _rewrap_payload(message)
    File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 338, in
    _rewrap_payload     pld.set_content(message.get_content()) AttributeError:
    'Message' object has no attribute 'get_content' Exception ignored in:
    <function BaseEventLoop.__del__ at 0x7fabda3ad160> Traceback (most recent
    call last):   File "/usr/lib/python3.9/asyncio/base_events.py", line 683,
    in __del__     self.close()   File
    "/usr/lib/python3.9/asyncio/unix_events.py", line 58, in close
    super().close()   File "/usr/lib/python3.9/asyncio/selector_events.py",
    line 92, in close     self._close_self_pipe()   File
    "/usr/lib/python3.9/asyncio/selector_events.py", line 99, in
    _close_self_pipe     self._remove_reader(self._ssock.fileno())   File
    "/usr/lib/python3.9/asyncio/selector_events.py", line 277, in
    _remove_reader     key = self._selector.get_key(fd)   File
    "/usr/lib/python3.9/selectors.py", line 191, in get_key     return
    mapping[fileobj]   File "/usr/lib/python3.9/selectors.py", line 72, in
    __getitem__     fd = self._selector._fileobj_lookup(fileobj)   File
    "/usr/lib/python3.9/selectors.py", line 226, in _fileobj_lookup     return
    _fileobj_to_fd(fileobj)   File "/usr/lib/python3.9/selectors.py", line 42,
    in _fileobj_to_fd     raise ValueError("Invalid file descriptor:
    {}".format(fd)) ValueError: Invalid file descriptor: -1

Python 3.11 (Devuan 5 daedalus based on Debian 12 bookworm):

Action: failed
Status: 5.3.0
Diagnostic-Code: x-unix; Traceback (most recent call last):   File
    "/usr/local/bin/gpg-mailgate.py", line 51, in <module>
    core.deliver_message(raw_message, from_addr, to_addrs)   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 611, in
    deliver_message     recipients_left = _gpg_encrypt(raw_message,
    recipients_left)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 67, in
    _gpg_encrypt     _gpg_encrypt_and_deliver(raw_message,   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 134, in
    _gpg_encrypt_and_deliver     out = _gpg_encrypt_to_str(message, keys,
    recipients, encrypt_f)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 129, in
    _gpg_encrypt_to_str     msg_copy = _gpg_encrypt_copy(message, keys,
    recipients, encrypt_f)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 118, in
    _gpg_encrypt_copy     encrypted_payloads = encrypt_f(msg_copy, keys)
    ^^^^^^^^^^^^^^^^^^^^^^^^^   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 316, in
    _encrypt_all_payloads_mime     wrapped_payload = _rewrap_payload(message)
    ^^^^^^^^^^^^^^^^^^^^^^^^   File
    "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 338, in
    _rewrap_payload     pld.set_content(message.get_content())
    ^^^^^^^^^^^^^^^^^^^ AttributeError: 'Message' object has no attribute
    'get_content'. Did you mean: 'get_content_type'?

Emails sent using K9-Mail don't cause any problems.

With this version emails sent from Thunderbird (with and without special characters) won't arrive at all for me: Python 3.9 (Devuan 4 `chimaera` based on Debian 11 `bullseye`): ``` Action: failed Status: 5.3.0 Diagnostic-Code: x-unix; Traceback (most recent call last): File "/usr/local/bin/gpg-mailgate.py", line 51, in <module> core.deliver_message(raw_message, from_addr, to_addrs) File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 611, in deliver_message recipients_left = _gpg_encrypt(raw_message, recipients_left) File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 67, in _gpg_encrypt _gpg_encrypt_and_deliver(raw_message, File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 134, in _gpg_encrypt_and_deliver out = _gpg_encrypt_to_str(message, keys, recipients, encrypt_f) File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 129, in _gpg_encrypt_to_str msg_copy = _gpg_encrypt_copy(message, keys, recipients, encrypt_f) File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 118, in _gpg_encrypt_copy encrypted_payloads = encrypt_f(msg_copy, keys) File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 316, in _encrypt_all_payloads_mime wrapped_payload = _rewrap_payload(message) File "/usr/local/lib/python3.9/dist-packages/lacre/core.py", line 338, in _rewrap_payload pld.set_content(message.get_content()) AttributeError: 'Message' object has no attribute 'get_content' Exception ignored in: <function BaseEventLoop.__del__ at 0x7fabda3ad160> Traceback (most recent call last): File "/usr/lib/python3.9/asyncio/base_events.py", line 683, in __del__ self.close() File "/usr/lib/python3.9/asyncio/unix_events.py", line 58, in close super().close() File "/usr/lib/python3.9/asyncio/selector_events.py", line 92, in close self._close_self_pipe() File "/usr/lib/python3.9/asyncio/selector_events.py", line 99, in _close_self_pipe self._remove_reader(self._ssock.fileno()) File "/usr/lib/python3.9/asyncio/selector_events.py", line 277, in _remove_reader key = self._selector.get_key(fd) File "/usr/lib/python3.9/selectors.py", line 191, in get_key return mapping[fileobj] File "/usr/lib/python3.9/selectors.py", line 72, in __getitem__ fd = self._selector._fileobj_lookup(fileobj) File "/usr/lib/python3.9/selectors.py", line 226, in _fileobj_lookup return _fileobj_to_fd(fileobj) File "/usr/lib/python3.9/selectors.py", line 42, in _fileobj_to_fd raise ValueError("Invalid file descriptor: {}".format(fd)) ValueError: Invalid file descriptor: -1 ``` Python 3.11 (Devuan 5 `daedalus` based on Debian 12 `bookworm`): ``` Action: failed Status: 5.3.0 Diagnostic-Code: x-unix; Traceback (most recent call last): File "/usr/local/bin/gpg-mailgate.py", line 51, in <module> core.deliver_message(raw_message, from_addr, to_addrs) File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 611, in deliver_message recipients_left = _gpg_encrypt(raw_message, recipients_left) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 67, in _gpg_encrypt _gpg_encrypt_and_deliver(raw_message, File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 134, in _gpg_encrypt_and_deliver out = _gpg_encrypt_to_str(message, keys, recipients, encrypt_f) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 129, in _gpg_encrypt_to_str msg_copy = _gpg_encrypt_copy(message, keys, recipients, encrypt_f) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 118, in _gpg_encrypt_copy encrypted_payloads = encrypt_f(msg_copy, keys) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 316, in _encrypt_all_payloads_mime wrapped_payload = _rewrap_payload(message) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/lacre/core.py", line 338, in _rewrap_payload pld.set_content(message.get_content()) ^^^^^^^^^^^^^^^^^^^ AttributeError: 'Message' object has no attribute 'get_content'. Did you mean: 'get_content_type'? ``` Emails sent using K9-Mail don't cause any problems.
Author
Collaborator

Thanks for reporting @EmanuelLoos, I've just pushed a change that'll fix the issue.

By the way -- please note you can use the advanced mail filter now. Basic documentation is in doc/adv-filt.md. It boils down to running Lacre as a daemon and telling Postfix to forward email to that daemon's port.

Our documentation includes a link to Postfix documentation on Advanced Filters too, for your convenience.

edit:
I suspect K9-Mail messages are multipart and therefore were not rewrapped. Rewrapping code is the only place where this error could be raised.

Thanks for reporting @EmanuelLoos, I've just pushed a change that'll fix the issue. By the way -- please note you can use the advanced mail filter now. Basic documentation is in [doc/adv-filt.md](https://git.disroot.org/Disroot/gpg-lacre/src/branch/main/doc/adv-filt.md). It boils down to running Lacre as a daemon and telling Postfix to forward email to that daemon's port. Our documentation includes a link to Postfix documentation on Advanced Filters too, for your convenience. edit:\ I suspect K9-Mail messages are multipart and therefore were not rewrapped. Rewrapping code is the only place where this error could be raised.
Contributor

First of all, thanks for the fix and the information. Emails sent from Thunderbird arrive again now!

Sadly however, there is still something going wrong during the encryption of emails sent from Thunderbird containing special characters:

First of all, thanks for the fix and the information. Emails sent from Thunderbird arrive again now! Sadly however, there is still something going wrong during the encryption of emails sent from Thunderbird containing special characters:
Author
Collaborator

Thanks for the report @EmanuelLoos. Could you please send similar messages from both of these clients to me? You'll find my email in my profile.

Meanwhile, I'll try reproducing it myself.

Thanks for the report @EmanuelLoos. Could you please send similar messages from both of these clients to me? You'll find my email in my profile. Meanwhile, I'll try reproducing it myself.
pfm modified the milestone from Open beta disroot test to Test deployment findings 2023-03-11 11:15:46 +01:00
Contributor

Did you also get my two additional emails about encoding errors regarding messages sent from K9-Mail?
I'm asking because if you're using gpg-lacre already on your server they might have not arrived.

Did you also get my two additional emails about encoding errors regarding messages sent from K9-Mail? I'm asking because if you're using `gpg-lacre` already on your server they might have not arrived.
Author
Collaborator

Hi @EmanuelLoos, yes, I've got it - thank you. I've been offline for a week and that's why I didn't reply to you.

Hi @EmanuelLoos, yes, I've got it - thank you. I've been offline for a week and that's why I didn't reply to you.
Author
Collaborator

Hi @EmanuelLoos,
you can try using the most recent code. I've made it slightly more reliable. However, I'll keep encouraging you to use the advanced filter if possible.

Hi @EmanuelLoos, you can try using the most recent code. I've made it slightly more reliable. However, I'll keep encouraging you to use the advanced filter if possible.
Author
Collaborator

Hi @EmanuelLoos,

It looks like I've fixed the issue (or at least can no longer reproduce it after recent fixes). Please let me know if current code works for you.

Since we'd like to move on with the project, I'd like to close this ticket by the end of this week, unless of course there are reports of Lacre still messing with message contents encodings.

If we find anything else (not related to encodings), we'll create new tickets and leave this one.

Hi @EmanuelLoos, It looks like I've fixed the issue (or at least can no longer reproduce it after recent fixes). Please let me know if current code works for you. Since we'd like to move on with the project, I'd like to close this ticket by the end of this week, unless of course there are reports of Lacre still messing with message contents encodings. If we find anything else (not related to encodings), we'll create new tickets and leave this one.
pfm closed this issue 2023-05-11 22:22:24 +02:00
Contributor

I just updated to the current master branch to which the fix was merged.

Well, all emails do arrive, but it still messes up special characters in emails from Thunderbird for me.

This is from the source code of the original message, this is the way Thunderbird encodes special characters and emojis in UTF-8 that gpg-lacre seems to not get along with:

Subject: Test
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Das ist ein Test.

ÄÖÜ äöü 😁

When saving the message as a .eml file and opening it with a text editor I get this:

Subject: Test
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Das ist ein Test.

ÄÖÜ äöü 😁

Yahoo seems to have had an issue like that too for some time.

I think most likely gpg-lacre has trouble with the 8bit content transfer encoding (i.e. non-ASCII characters), ...

Content transfer encodings

... or maybe it might have some more specific problems with Thunderbird's utf-8 encoding.

Tools for fixing character encoding

I just updated to the current master branch to which the fix was merged. Well, all emails do arrive, but it still messes up special characters in emails from Thunderbird for me. This is from the source code of the original message, this is the way Thunderbird encodes special characters and emojis in `UTF-8` that gpg-lacre seems to not get along with: ``` Subject: Test Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Das ist ein Test. ÄÖÜ äöü 😁 ``` When saving the message as a `.eml` file and opening it with a text editor I get this: ``` Subject: Test Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Das ist ein Test. ÄÖÜ äöü 😁 ``` [Yahoo seems to have had an issue like that too for some time.](https://kb.mozillazine.org/Yahoo#Characters_are_replaced_by_question_marks) I think most likely gpg-lacre has trouble with the 8bit content transfer encoding (i.e. non-ASCII characters), ... [Content transfer encodings](https://stackoverflow.com/questions/25710599/content-transfer-encoding-7bit-or-8-bit#28531705) ... or maybe it might have some more specific problems with Thunderbird's utf-8 encoding. [Tools for fixing character encoding](https://unix.stackexchange.com/questions/697701/fix-character-encoding-chaos)
Author
Collaborator

Hi @EmanuelLoos,

This is very weird. Could you please execute make test in your working copy of Lacre repository and share the output? The output should look like this:

rm -fv test/gpg-mailgate.conf
test/gpg-mailgate.conf
rm -f test/logs/*.log
git restore test/keyhome
python3 test/e2e_test.py
.
----------------------------------------------------------------------
Ran 1 test in 12.318s

OK
python3 -m unittest discover -s test/modules
..................................
----------------------------------------------------------------------
Ran 34 tests in 0.471s

OK
python3 test/daemon_test.py
.
----------------------------------------------------------------------
Ran 1 test in 33.709s

OK

These tests take some time to run, so be patient. Shouldn't take more than 1-2 minutes though, so when they do -- interrupt with Ctrl-C and execute the command again.

If you see any output other than the above, please paste it here.

We already have a test case for Content-Transfer-Encoding: 8bit, including an emoji, so I'm confident it's not the root cause. I've also double-checked and sent myself exactly the same message:

Das ist ein Test.

ÄÖÜ äöü 😁

The result is as expected. Something else must be happening.

You can inspect Lacre logs, which can contain lots of diagnostic information when you enable debug-level logging. (Just set level=DEBUG in gpg-lacre-logging.conf in your handler.)

Hi @EmanuelLoos, This is very weird. Could you please execute `make test` in your working copy of Lacre repository and share the output? The output should look like this: ``` rm -fv test/gpg-mailgate.conf test/gpg-mailgate.conf rm -f test/logs/*.log git restore test/keyhome python3 test/e2e_test.py . ---------------------------------------------------------------------- Ran 1 test in 12.318s OK python3 -m unittest discover -s test/modules .................................. ---------------------------------------------------------------------- Ran 34 tests in 0.471s OK python3 test/daemon_test.py . ---------------------------------------------------------------------- Ran 1 test in 33.709s OK ``` These tests take some time to run, so be patient. Shouldn't take more than 1-2 minutes though, so when they do -- interrupt with Ctrl-C and execute the command again. If you see any output other than the above, please paste it here. We already have a test case for `Content-Transfer-Encoding: 8bit`, including an emoji, so I'm confident it's not the root cause. I've also double-checked and sent myself exactly the same message: > Das ist ein Test. > > ÄÖÜ äöü 😁 The result is as expected. Something else must be happening. You can inspect Lacre logs, which can contain lots of diagnostic information when you enable debug-level logging. (Just set `level=DEBUG` in `gpg-lacre-logging.conf` in your handler.)
Contributor
root@klarheit:~/gpg-lacre# make test
mkdir test/tmp
mkdir test/logs
rm -fv test/gpg-mailgate.conf
rm -f test/logs/*.log
git restore test/keyhome
python3 test/e2e_test.py
.
----------------------------------------------------------------------
Ran 1 test in 7.071s

OK
python3 -m unittest discover -s test/modules
..................................
----------------------------------------------------------------------
Ran 34 tests in 0.113s

OK
python3 test/daemon_test.py
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
  File "/root/gpg-lacre/lacre/keyring.py", line 145, in __repr__
    return '<KeyRing path=%s last_mod=%d>' % (self._path, self._last_mod)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TypeError: %d format: a real number is required, not NoneType
Call stack:
  File "/usr/lib/python3.11/threading.py", line 995, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 205, in run
    self.dispatch_events(self.event_queue)
  File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 381, in dispatch_events
    handler.dispatch(event)
  File "/usr/lib/python3/dist-packages/watchdog/events.py", line 272, in dispatch
    {
  File "/root/gpg-lacre/lacre/keyring.py", line 159, in handle
    LOG.info('Reloading %s on event: %s', self._keyring, event)
Unable to print the message and arguments - possible formatting error.
Use the traceback above to help find the error.
/root/gpg-lacre/lacre/keyring.py:100: RuntimeWarning: coroutine 'KeyRing._load' was never awaited
  tsk = create_task(self._load(), 'LoadTask')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 205, in run
    self.dispatch_events(self.event_queue)
  File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 381, in dispatch_events
    handler.dispatch(event)
  File "/usr/lib/python3/dist-packages/watchdog/events.py", line 272, in dispatch
    {
  File "/root/gpg-lacre/lacre/keyring.py", line 160, in handle
    self._keyring.reload()
  File "/root/gpg-lacre/lacre/keyring.py", line 100, in load
    tsk = create_task(self._load(), 'LoadTask')
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: create_task() takes 1 positional argument but 2 were given
.
----------------------------------------------------------------------
Ran 1 test in 23.873s

OK
rm -f test/lacre.db
python3 test/utils/schema.py test/lacre.db
/root/gpg-lacre/test/utils/schema.py:33: RemovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings.  Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
  conn.execute(gpgmw_keys.insert(), [
GPG_MAILGATE_CONFIG=test/gpg-mailgate-cron-test.conf PYTHONPATH=`pwd` python3 webgate-cron.py
/root/gpg-lacre/webgate-cron.py:114: RemovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings.  Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
  conn.execute(delq)
``` root@klarheit:~/gpg-lacre# make test mkdir test/tmp mkdir test/logs rm -fv test/gpg-mailgate.conf rm -f test/logs/*.log git restore test/keyhome python3 test/e2e_test.py . ---------------------------------------------------------------------- Ran 1 test in 7.071s OK python3 -m unittest discover -s test/modules .................................. ---------------------------------------------------------------------- Ran 34 tests in 0.113s OK python3 test/daemon_test.py --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.11/logging/__init__.py", line 1110, in emit msg = self.format(record) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/logging/__init__.py", line 953, in format return fmt.format(record) ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/logging/__init__.py", line 687, in format record.message = record.getMessage() ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/logging/__init__.py", line 377, in getMessage msg = msg % self.args ~~~~^~~~~~~~~~~ File "/root/gpg-lacre/lacre/keyring.py", line 145, in __repr__ return '<KeyRing path=%s last_mod=%d>' % (self._path, self._last_mod) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TypeError: %d format: a real number is required, not NoneType Call stack: File "/usr/lib/python3.11/threading.py", line 995, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 205, in run self.dispatch_events(self.event_queue) File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 381, in dispatch_events handler.dispatch(event) File "/usr/lib/python3/dist-packages/watchdog/events.py", line 272, in dispatch { File "/root/gpg-lacre/lacre/keyring.py", line 159, in handle LOG.info('Reloading %s on event: %s', self._keyring, event) Unable to print the message and arguments - possible formatting error. Use the traceback above to help find the error. /root/gpg-lacre/lacre/keyring.py:100: RuntimeWarning: coroutine 'KeyRing._load' was never awaited tsk = create_task(self._load(), 'LoadTask') RuntimeWarning: Enable tracemalloc to get the object allocation traceback Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 205, in run self.dispatch_events(self.event_queue) File "/usr/lib/python3/dist-packages/watchdog/observers/api.py", line 381, in dispatch_events handler.dispatch(event) File "/usr/lib/python3/dist-packages/watchdog/events.py", line 272, in dispatch { File "/root/gpg-lacre/lacre/keyring.py", line 160, in handle self._keyring.reload() File "/root/gpg-lacre/lacre/keyring.py", line 100, in load tsk = create_task(self._load(), 'LoadTask') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: create_task() takes 1 positional argument but 2 were given . ---------------------------------------------------------------------- Ran 1 test in 23.873s OK rm -f test/lacre.db python3 test/utils/schema.py test/lacre.db /root/gpg-lacre/test/utils/schema.py:33: RemovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) conn.execute(gpgmw_keys.insert(), [ GPG_MAILGATE_CONFIG=test/gpg-mailgate-cron-test.conf PYTHONPATH=`pwd` python3 webgate-cron.py /root/gpg-lacre/webgate-cron.py:114: RemovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) conn.execute(delq) ```
Contributor

Hi @pfm,

are there any news on this?

Should this issue be opened again or should we open a new one?

Also, there is another weird thing going on, some emails look like this (see attached screenshot) after being encrypted by gpg-lacre:

Return-Path: <oebvp@psychotherapie.at>
Delivered-To: ******@********.at
Received: from mail.********.at
	by ******** with LMTP
	id NYGoGOhHoGS4cgAAHcT7Mw
	(envelope-from <oebvp@psychotherapie.at>)
	for <******@********.at>; Sat, 01 Jul 2023 17:36:08 +0200
Authentication-Results: mail.********.at;	dkim=fail reason="signature
 verification failed" (1024-bit key; unprotected) header.d=psychotherapie.at
 header.i=@psychotherapie.at header.a=rsa-sha256 header.s=dkim11
 header.b=jOUlnekk;	dkim-atps=neutral
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by mail.********.at (Postfix) with ESMTPS id 54907A2E4D
	for <******@********.at>; Sat,  1 Jul 2023 17:36:08 +0200 (CEST)
Received: from mx26lb.world4you.com (mx26lb.world4you.com [81.19.149.136])
	by mail.********.at (Postfix) with ESMTPS id 3C5EEA2C1C
	for <******@********.at>; Sat,  1 Jul 2023 17:35:52 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=psychotherapie.at; s=dkim11; h=Content-Type:Content-Transfer-Encoding:
	MIME-Version:Message-ID:Subject:From:To:Date:Sender:Reply-To:Cc:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:
	List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=7/bhoIe1uTVVzQzdlLj+s/tqnm+jgG6dNoDhftI+TI4=; b=jOUlnekk4oPRE/cCo7eY1zY3RY
	Be75EhrzQV43xtU2uVigntFw1rbL2uO4rHwc94cjE7KBsk5pfnZooTF2x9YJlIHNDbz5DgZJUcWj/
	FSg1tqdPv0W4Y8s1hvzRbzAlbihxyATYFUckavivlGid6szJ0qRB1gXy54g327Tg3vbc=;
Received: from [81.19.145.50] (helo=www.psychotherapie.at)	by
 mx26lb.world4you.com with esmtpsa  (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384	(Exim 4.94.2)	(envelope-from
 <oebvp@psychotherapie.at>)	id 1qFcdb-0003Po-UV	for ******@********.at; Sat,
 01 Jul 2023 17:35:52 +0200
Date: Sat, 1 Jul 2023 17:35:51 +0200
To: ******@********.at
From: ÖBVP Österreichischer Bundesverband für  Psychotherapie
 <oebvp@psychotherapie.at>
Subject: =?UTF-8?Q?=C3=96BVP-Newsletter=20Juli=20=32=30=32=33?=
Message-ID: <67601ee71b25565251fe3bba615270b1@www.psychotherapie.at>
X-Priority: 3
X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net)
MIME-Version: 1.0
X-AV-Do-Run: Yes
X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
	DMARC_NONE,GOOD_EMAIL,HEALTH,HTML_IMAGE_RATIO_06,HTML_MESSAGE,
	LOTS_OF_MONEY,MIME_HTML_ONLY,T_KAM_HTML_FONT_INVALID,
	T_SPF_HELO_TEMPERROR,T_SPF_TEMPERROR autolearn=ham autolearn_force=no
	version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on ********
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
[...]

They seem to be missing something like (copied from the source of some correct PGP message):

------D9IKCL31NKKAC4UVEU1T4N2PGCSCZJ
Content-Type: application/pgp-encrypted
Content-Transfer-Encoding: quoted-printable

Version: 1
------D9IKCL31NKKAC4UVEU1T4N2PGCSCZJ
Content-Type: application/octet-stream; name="encrypted.asc"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="encrypted.asc"

-----BEGIN PGP MESSAGE-----

[...]


-----END PGP MESSAGE-----

------D9IKCL31NKKAC4UVEU1T4N2PGCSCZJ--
Hi @pfm, are there any news on this? Should this issue be opened again or should we open a new one? Also, there is another weird thing going on, some emails look like this (see attached screenshot) after being encrypted by gpg-lacre: ``` Return-Path: <oebvp@psychotherapie.at> Delivered-To: ******@********.at Received: from mail.********.at by ******** with LMTP id NYGoGOhHoGS4cgAAHcT7Mw (envelope-from <oebvp@psychotherapie.at>) for <******@********.at>; Sat, 01 Jul 2023 17:36:08 +0200 Authentication-Results: mail.********.at; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=psychotherapie.at header.i=@psychotherapie.at header.a=rsa-sha256 header.s=dkim11 header.b=jOUlnekk; dkim-atps=neutral Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail.********.at (Postfix) with ESMTPS id 54907A2E4D for <******@********.at>; Sat, 1 Jul 2023 17:36:08 +0200 (CEST) Received: from mx26lb.world4you.com (mx26lb.world4you.com [81.19.149.136]) by mail.********.at (Postfix) with ESMTPS id 3C5EEA2C1C for <******@********.at>; Sat, 1 Jul 2023 17:35:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=psychotherapie.at; s=dkim11; h=Content-Type:Content-Transfer-Encoding: MIME-Version:Message-ID:Subject:From:To:Date:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=7/bhoIe1uTVVzQzdlLj+s/tqnm+jgG6dNoDhftI+TI4=; b=jOUlnekk4oPRE/cCo7eY1zY3RY Be75EhrzQV43xtU2uVigntFw1rbL2uO4rHwc94cjE7KBsk5pfnZooTF2x9YJlIHNDbz5DgZJUcWj/ FSg1tqdPv0W4Y8s1hvzRbzAlbihxyATYFUckavivlGid6szJ0qRB1gXy54g327Tg3vbc=; Received: from [81.19.145.50] (helo=www.psychotherapie.at) by mx26lb.world4you.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <oebvp@psychotherapie.at>) id 1qFcdb-0003Po-UV for ******@********.at; Sat, 01 Jul 2023 17:35:52 +0200 Date: Sat, 1 Jul 2023 17:35:51 +0200 To: ******@********.at From: ÖBVP Österreichischer Bundesverband für Psychotherapie <oebvp@psychotherapie.at> Subject: =?UTF-8?Q?=C3=96BVP-Newsletter=20Juli=20=32=30=32=33?= Message-ID: <67601ee71b25565251fe3bba615270b1@www.psychotherapie.at> X-Priority: 3 X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net) MIME-Version: 1.0 X-AV-Do-Run: Yes X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, DMARC_NONE,GOOD_EMAIL,HEALTH,HTML_IMAGE_RATIO_06,HTML_MESSAGE, LOTS_OF_MONEY,MIME_HTML_ONLY,T_KAM_HTML_FONT_INVALID, T_SPF_HELO_TEMPERROR,T_SPF_TEMPERROR autolearn=ham autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on ******** Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs [...] ``` They seem to be missing something like (copied from the source of some correct PGP message): ``` ------D9IKCL31NKKAC4UVEU1T4N2PGCSCZJ Content-Type: application/pgp-encrypted Content-Transfer-Encoding: quoted-printable Version: 1 ------D9IKCL31NKKAC4UVEU1T4N2PGCSCZJ Content-Type: application/octet-stream; name="encrypted.asc" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="encrypted.asc" -----BEGIN PGP MESSAGE----- [...] -----END PGP MESSAGE----- ------D9IKCL31NKKAC4UVEU1T4N2PGCSCZJ-- ```
Author
Collaborator

Hi @EmanuelLoos,

I'm so sorry, I must've missed a notification about your comment... 🙁

Regarding the previous issue -- could you please switch to Python 3.9 and try again? I can't support more Python versions at the moment, and I know that with Python 3.9 Lacre should work just fine.

This most recent report about missing MIME boundaries -- does it still happen? Do you see something in the logs? I'll think about a scenario that could lead to it, but an actual use case would be highly appreciated (please feel free to send it directly to my email to avoid attaching files with personal data to this issue.

Hi @EmanuelLoos, I'm so sorry, I must've missed a notification about your comment... 🙁 Regarding the [previous issue](https://git.disroot.org/Disroot/gpg-lacre/issues/110#issuecomment-42361) -- could you please switch to Python 3.9 and try again? I can't support more Python versions at the moment, and I know that with Python 3.9 Lacre should work just fine. This most recent [report about missing MIME boundaries](https://git.disroot.org/Disroot/gpg-lacre/issues/110#issuecomment-46369) -- does it still happen? Do you see something in the logs? I'll think about a scenario that could lead to it, but an actual use case would be highly appreciated (please feel free to send it directly to my email to avoid attaching files with personal data to this issue.
Sign in to join this conversation.
No description provided.