From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <l.wagner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 16542BF99B;
 Mon,  8 Jan 2024 11:42:49 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id EEFA7A0FB;
 Mon,  8 Jan 2024 11:42:48 +0100 (CET)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS;
 Mon,  8 Jan 2024 11:42:47 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id DF23C440F2;
 Mon,  8 Jan 2024 11:42:46 +0100 (CET)
Message-ID: <35d1ebb5-4af7-44ba-96a2-2e43f3d90615@proxmox.com>
Date: Mon, 8 Jan 2024 11:42:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: de-AT, en-US
To: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com
References: <20231211132908.267921-1-l.wagner@proxmox.com>
From: Lukas Wagner <l.wagner@proxmox.com>
In-Reply-To: <20231211132908.267921-1-l.wagner@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.004 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 T_SCC_BODY_TEXT_LINE    -0.01 -
Subject: Re: [pve-devel] [PATCH proxmox v2 0/5] sys: email: always format
 'Date' header with C locale
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Mon, 08 Jan 2024 10:42:49 -0000


On 12/11/23 14:29, Lukas Wagner wrote:
> This patch series makes the formatting of the 'Date' header for sent emails
> independent of the system locale. Previously, strftime was used to generate
> the header, but since this function is locale-aware, invalid Date headers
> could be generated.
> As an example, if the locale was `de_DE.UTF-8`, then
> 
> Date: Di, 05 Dez 2023 12:05:50 +0100
>   instead of
> Date: Tue, 05 Dec 2023 12:05:50 +0100
> 
> would be generated, violating RFC2822 [1]. This trips up some email clients
> (e.g. KMail), making them fall back to Jan 1970 (epoch 0).
> 
> This is fixed by adding `strftime_l`, which allows passing a locale to
> used. Additionally, `epoch_to_rfc2822` was added, which formats a
> unix epoch value to a valid RFC2822 date string (with a fixed "C" locale).
> 
> Popped up in our forum:
> https://forum.proxmox.com/threads/pve-mail-notification-kein-datum-mehr-zum-korrekten-einsortieren.137556
> 
> The following projects need to be bumped and rebuilt:
>    - proxmox_sys, and therefore
>        - proxmox_notify, and therefore
>            - libpve-rs-perl
>            - proxmox-mail-forward
>        - proxmox-backup (uses proxmox_sys::email::sendmail directly)
> 
> [1] https://www.rfc-editor.org/rfc/rfc2822#section-3.3
> 
> Changes v1 -> v2:
>   - Fix TZ-dependent test case
> 
> Lukas Wagner (5):
>    time: posix: use strftime from the `libc` crate.
>    time: posix: inline vars in string formatting
>    time: posix: add bindings for strftime_l
>    time: posix: add epoch_to_rfc2822
>    sys: email: use `epoch_to_rfc2822` from proxmox_time
> 
>   proxmox-sys/src/email.rs  |   3 +-
>   proxmox-time/src/posix.rs | 151 +++++++++++++++++++++++++++++++-------
>   2 files changed, 126 insertions(+), 28 deletions(-)
> 

ping

-- 
- Lukas




From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <l.wagner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 16542BF99B;
 Mon,  8 Jan 2024 11:42:49 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id EEFA7A0FB;
 Mon,  8 Jan 2024 11:42:48 +0100 (CET)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS;
 Mon,  8 Jan 2024 11:42:47 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id DF23C440F2;
 Mon,  8 Jan 2024 11:42:46 +0100 (CET)
Message-ID: <35d1ebb5-4af7-44ba-96a2-2e43f3d90615@proxmox.com>
Date: Mon, 8 Jan 2024 11:42:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: de-AT, en-US
To: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com
References: <20231211132908.267921-1-l.wagner@proxmox.com>
From: Lukas Wagner <l.wagner@proxmox.com>
In-Reply-To: <20231211132908.267921-1-l.wagner@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.004 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 T_SCC_BODY_TEXT_LINE    -0.01 -
Subject: Re: [pbs-devel] [PATCH proxmox v2 0/5] sys: email: always format
 'Date' header with C locale
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Mon, 08 Jan 2024 10:42:49 -0000


On 12/11/23 14:29, Lukas Wagner wrote:
> This patch series makes the formatting of the 'Date' header for sent emails
> independent of the system locale. Previously, strftime was used to generate
> the header, but since this function is locale-aware, invalid Date headers
> could be generated.
> As an example, if the locale was `de_DE.UTF-8`, then
> 
> Date: Di, 05 Dez 2023 12:05:50 +0100
>   instead of
> Date: Tue, 05 Dec 2023 12:05:50 +0100
> 
> would be generated, violating RFC2822 [1]. This trips up some email clients
> (e.g. KMail), making them fall back to Jan 1970 (epoch 0).
> 
> This is fixed by adding `strftime_l`, which allows passing a locale to
> used. Additionally, `epoch_to_rfc2822` was added, which formats a
> unix epoch value to a valid RFC2822 date string (with a fixed "C" locale).
> 
> Popped up in our forum:
> https://forum.proxmox.com/threads/pve-mail-notification-kein-datum-mehr-zum-korrekten-einsortieren.137556
> 
> The following projects need to be bumped and rebuilt:
>    - proxmox_sys, and therefore
>        - proxmox_notify, and therefore
>            - libpve-rs-perl
>            - proxmox-mail-forward
>        - proxmox-backup (uses proxmox_sys::email::sendmail directly)
> 
> [1] https://www.rfc-editor.org/rfc/rfc2822#section-3.3
> 
> Changes v1 -> v2:
>   - Fix TZ-dependent test case
> 
> Lukas Wagner (5):
>    time: posix: use strftime from the `libc` crate.
>    time: posix: inline vars in string formatting
>    time: posix: add bindings for strftime_l
>    time: posix: add epoch_to_rfc2822
>    sys: email: use `epoch_to_rfc2822` from proxmox_time
> 
>   proxmox-sys/src/email.rs  |   3 +-
>   proxmox-time/src/posix.rs | 151 +++++++++++++++++++++++++++++++-------
>   2 files changed, 126 insertions(+), 28 deletions(-)
> 

ping

-- 
- Lukas