diff mbox series

[BUG] message header mangling on vger.kernel.org and lore.kernel.org

Message ID a997d239-2678-45bb-8f18-7780409a5013@t-8ch.de (mailing list archive)
State Not Applicable
Headers show
Series [BUG] message header mangling on vger.kernel.org and lore.kernel.org | expand

Commit Message

Thomas Weißschuh Feb. 23, 2023, 8:56 p.m. UTC
Hi,

I tried to "b4 shazam" one of my own patches from lore for which the
DKIM check failed.
Further investigation revelead what seems to be modifications of message
headers by both vger.kernel.org and lore.kernel.org.
As this affects DKIM-signed headers the validation fails.

Attached are three versions of a patch that exhibits this problem:
* direct.msg: How the email was stored by by mail server
* via-list.msg: How I received the message via linux-input@vger.kernel.org
* on-lore.msg: How the raw message was retrieved from
  lore.kernel.org/linux-input

The mails where validated by "dkimverify" from python-dkim/dkimpy, which
is also used by b4.

direct.msg:   DKIM ok
via-list.msg: DKIM failed
on-lore.msg:  DKIM failed

Example for the "To:" header in the different messages:

direct.msg:
To: Jiri Kosina <jikos@kernel.org>,
 Benjamin Tissoires <benjamin.tissoires@redhat.com>

via-list.msg:
To: Jiri Kosina <jikos@kernel.org>,
        Benjamin Tissoires <benjamin.tissoires@redhat.com>

on-lore.msg:
To:     Jiri Kosina <jikos@kernel.org>,
        Benjamin Tissoires <benjamin.tissoires@redhat.com>


The Cc: and From: headers are mangled in similar ways.

Thomas
From linux@weissschuh.net Fri Dec 23 21:30:23 2022
Return-Path: <linux@weissschuh.net>
Delivered-To: thomas@t-8ch.de
Received: from todd.t-8ch.de
	by todd.t-8ch.de with LMTP
	id csjCGO8dpmPitwQAxwT2nQ
	(envelope-from <linux@weissschuh.net>)
	for <thomas@t-8ch.de>; Fri, 23 Dec 2022 21:30:23 +0000
From: Thomas =?utf-8?q?Wei=C3=9Fschuh?= <linux@weissschuh.net>
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=weissschuh.net;
	s=mail; t=1671831022;
	bh=tHIlOjWM7+q2TmrVuJ0sxPOrXr74jY1VNP1Ju2+Hm3E=;
	h=From:Date:Subject:To:Cc:From;
	b=LXyApAhMiMmMwB72WkKpU8JIk1f1ZJl5mXGfL8OlyL1xog3GIFkS1NGS/0O9l+hpV
	 9HunEQxHFRkVFMqBsxhdPSMcRNEAIxel9Qd3BFxv+RUVaM8xG8QypRvvQbur8HJy/O
	 7A58a2f9KfdYP+7Dm5PyUOY/qcxPfz4F6fF25omg=
Date: Fri, 23 Dec 2022 21:30:19 +0000
Subject: [PATCH] HID: use standard debug APIs
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <20221223-hid-dbg-v1-1-5dcf8794f7f9@weissschuh.net>
X-B4-Tracking: v=1; b=H4sIAOsdpmMC/x2MQQqAMAwEv1JyNmBTvPgV8dDaaANSpUURxL8b3
 dssw9xQuQhX6M0NhU+psmUF2xiYks8Lo0RloJbIEjlMEjGGBWl2zPFb50Dt4CtjKD5PSf18rKue
 e+FZrj8/jM/zApifyUJuAAAA
To: Jiri Kosina <jikos@kernel.org>,
 Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
 Thomas =?utf-8?q?Wei=C3=9Fschuh?= <linux@weissschuh.net>
X-Mailer: b4 0.11.0
X-Developer-Signature: v=1; a=ed25519-sha256; t=1671831020; l=2844;
 i=linux@weissschuh.net; s=20221212; h=from:subject:message-id;
 bh=tHIlOjWM7+q2TmrVuJ0sxPOrXr74jY1VNP1Ju2+Hm3E=;
 b=SwAsw7VOVSn0nO1bmIYtkjFtd0frpslEZB4ejwJpvuJLlrqRbkhSXVP7JaFcFrOCpUFgDYq9Rihs
 N//M5SNxB9XvChGLd8Q1bjtLdB9flN/aSexIAPpp/9OguFxmY1ru
X-Developer-Key: i=linux@weissschuh.net; a=ed25519;
 pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw=
Status: RO
X-Status: A
Content-Length: 2761

The custom "debug" module parameter is fairly inflexible.
It can only manage debugging for all calls dbg_hid() at the same time.

Furthermore it creates a mismatch between calls to hid_dbg() which can
be managed by CONFIG_DYNAMIC_DEBUG and dbg_hid() which is managed by the
module parameter.

Furthermore the change to pr_debug() allows the debugging statements to
be completely compiled-out if desired.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---

Note: This removes the possibility to enable debugging for the HID core
and all drivers at the same time.
If this is still desirable it could probably be implemented with the new
DYNAMIC_DEBUG class feature.
---
 drivers/hid/hid-core.c | 9 ---------
 include/linux/hid.h    | 8 +-------
 2 files changed, 1 insertion(+), 16 deletions(-)


---
base-commit: 51094a24b85e29138b7fa82ef1e1b4fe19c90046
change-id: 20221223-hid-dbg-2f3eeddddd53

Best regards,
--
Thomas Weißschuh <linux@weissschuh.net>
From linux-input-owner@vger.kernel.org Fri Dec 23 21:30:30 2022
Return-Path: <linux-input-owner@vger.kernel.org>
Delivered-To: thomas@t-8ch.de
Received: from todd.t-8ch.de
	by todd.t-8ch.de with LMTP
	id 0KdyLvYdpmPitwQAxwT2nQ
	(envelope-from <linux-input-owner@vger.kernel.org>)
	for <thomas@t-8ch.de>; Fri, 23 Dec 2022 21:30:30 +0000
Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20])
	by todd.t-8ch.de (Postfix) with ESMTP id B00803ED0D
	for <linux@weissschuh.net>; Fri, 23 Dec 2022 21:30:29 +0000 (UTC)
Authentication-Results: todd.t-8ch.de;
	dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=weissschuh.net header.i=@weissschuh.net header.a=rsa-sha256 header.s=mail header.b=LXyApAhM;
	dkim-atps=neutral
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
        id S229937AbiLWVa2 (ORCPT <rfc822;linux@weissschuh.net>);
        Fri, 23 Dec 2022 16:30:28 -0500
Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34822 "EHLO
        lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
        with ESMTP id S229650AbiLWVa1 (ORCPT
        <rfc822;linux-input@vger.kernel.org>);
        Fri, 23 Dec 2022 16:30:27 -0500
Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157])
        by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 002511EEED;
        Fri, 23 Dec 2022 13:30:24 -0800 (PST)
From: Thomas =?utf-8?q?Wei=C3=9Fschuh?= <linux@weissschuh.net>
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=weissschuh.net;
        s=mail; t=1671831022;
        bh=tHIlOjWM7+q2TmrVuJ0sxPOrXr74jY1VNP1Ju2+Hm3E=;
        h=From:Date:Subject:To:Cc:From;
        b=LXyApAhMiMmMwB72WkKpU8JIk1f1ZJl5mXGfL8OlyL1xog3GIFkS1NGS/0O9l+hpV
         9HunEQxHFRkVFMqBsxhdPSMcRNEAIxel9Qd3BFxv+RUVaM8xG8QypRvvQbur8HJy/O
         7A58a2f9KfdYP+7Dm5PyUOY/qcxPfz4F6fF25omg=
Date: Fri, 23 Dec 2022 21:30:19 +0000
Subject: [PATCH] HID: use standard debug APIs
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <20221223-hid-dbg-v1-1-5dcf8794f7f9@weissschuh.net>
X-B4-Tracking: v=1; b=H4sIAOsdpmMC/x2MQQqAMAwEv1JyNmBTvPgV8dDaaANSpUURxL8b3
 dssw9xQuQhX6M0NhU+psmUF2xiYks8Lo0RloJbIEjlMEjGGBWl2zPFb50Dt4CtjKD5PSf18rKue
 e+FZrj8/jM/zApifyUJuAAAA
To: Jiri Kosina <jikos@kernel.org>,
        Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
        Thomas =?utf-8?q?Wei=C3=9Fschuh?= <linux@weissschuh.net>
X-Mailer: b4 0.11.0
X-Developer-Signature: v=1; a=ed25519-sha256; t=1671831020; l=2844;
 i=linux@weissschuh.net; s=20221212; h=from:subject:message-id;
 bh=tHIlOjWM7+q2TmrVuJ0sxPOrXr74jY1VNP1Ju2+Hm3E=;
 b=SwAsw7VOVSn0nO1bmIYtkjFtd0frpslEZB4ejwJpvuJLlrqRbkhSXVP7JaFcFrOCpUFgDYq9Rihs
 N//M5SNxB9XvChGLd8Q1bjtLdB9flN/aSexIAPpp/9OguFxmY1ru
X-Developer-Key: i=linux@weissschuh.net; a=ed25519;
 pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw=
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
        DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS
        autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
        lindbergh.monkeyblade.net
Precedence: bulk
List-ID: <linux-input.vger.kernel.org>
X-Mailing-List: linux-input@vger.kernel.org
X-Rspamd-Queue-Id: B00803ED0D
X-Spamd-Result: default: False [1.32 / 15.00];
	 ARC_NA(0.00)[];
	 FORGED_SENDER_MAILLIST(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_SPF_ALLOW(-0.20)[+a:vger.kernel.org];
	 PRECEDENCE_BULK(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 R_DKIM_REJECT(1.00)[weissschuh.net:s=mail];
	 DMARC_NA(0.00)[weissschuh.net];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 TO_MATCH_ENVRCPT_SOME(0.00)[];
	 DKIM_TRACE(0.00)[weissschuh.net:-];
	 MAILLIST(-0.10)[generic];
	 RCVD_NO_TLS_LAST(0.10)[];
	 MIME_TRACE(0.00)[0:+];
	 R_MIXED_CHARSET(0.63)[subject];
	 ASN(0.00)[asn:53758, ipnet:2620:137:e000::/44, country:US];
	 FROM_NEQ_ENVFROM(0.00)[linux@weissschuh.net,linux-input-owner@vger.kernel.org];
	 MID_RHS_MATCH_FROM(0.00)[]
X-Rspamd-Server: todd.t-8ch.de
Status: RO
Content-Length: 2761

The custom "debug" module parameter is fairly inflexible.
It can only manage debugging for all calls dbg_hid() at the same time.

Furthermore it creates a mismatch between calls to hid_dbg() which can
be managed by CONFIG_DYNAMIC_DEBUG and dbg_hid() which is managed by the
module parameter.

Furthermore the change to pr_debug() allows the debugging statements to
be completely compiled-out if desired.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---

Note: This removes the possibility to enable debugging for the HID core
and all drivers at the same time.
If this is still desirable it could probably be implemented with the new
DYNAMIC_DEBUG class feature.
---
 drivers/hid/hid-core.c | 9 ---------
 include/linux/hid.h    | 8 +-------
 2 files changed, 1 insertion(+), 16 deletions(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index bd47628da6be..4facfb446986 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -41,11 +41,6 @@
 
 #define DRIVER_DESC "HID core driver"
 
-int hid_debug = 0;
-module_param_named(debug, hid_debug, int, 0600);
-MODULE_PARM_DESC(debug, "toggle HID debugging messages");
-EXPORT_SYMBOL_GPL(hid_debug);
-
 static int hid_ignore_special_drivers = 0;
 module_param_named(ignore_special_drivers, hid_ignore_special_drivers, int, 0600);
 MODULE_PARM_DESC(ignore_special_drivers, "Ignore any special drivers and handle all devices by generic driver");
@@ -2909,10 +2904,6 @@ static int __init hid_init(void)
 {
 	int ret;
 
-	if (hid_debug)
-		pr_warn("hid_debug is now used solely for parser and driver debugging.\n"
-			"debugfs is now used for inspecting the device (report descriptor, reports)\n");
-
 	ret = bus_register(&hid_bus_type);
 	if (ret) {
 		pr_err("can't register hid bus\n");
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 8677ae38599e..676f501507aa 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -882,8 +882,6 @@ static inline bool hid_is_usb(struct hid_device *hdev)
 
 /* HID core API */
 
-extern int hid_debug;
-
 extern bool hid_ignore(struct hid_device *);
 extern int hid_add_device(struct hid_device *);
 extern void hid_destroy_device(struct hid_device *);
@@ -1191,11 +1189,7 @@ int hid_pidff_init(struct hid_device *hid);
 #define hid_pidff_init NULL
 #endif
 
-#define dbg_hid(fmt, ...)						\
-do {									\
-	if (hid_debug)							\
-		printk(KERN_DEBUG "%s: " fmt, __FILE__, ##__VA_ARGS__);	\
-} while (0)
+#define dbg_hid(fmt, ...) pr_debug("%s: " fmt, __FILE__, ##__VA_ARGS__)
 
 #define hid_err(hid, fmt, ...)				\
 	dev_err(&(hid)->dev, fmt, ##__VA_ARGS__)

---
base-commit: 51094a24b85e29138b7fa82ef1e1b4fe19c90046
change-id: 20221223-hid-dbg-2f3eeddddd53

Best regards,

Comments

Konstantin Ryabitsev Feb. 23, 2023, 9:18 p.m. UTC | #1
On Thu, Feb 23, 2023 at 08:56:45PM +0000, Thomas Weißschuh wrote:
> Hi,
> 
> I tried to "b4 shazam" one of my own patches from lore for which the
> DKIM check failed.
> Further investigation revelead what seems to be modifications of message
> headers by both vger.kernel.org and lore.kernel.org.
> As this affects DKIM-signed headers the validation fails.

This doesn't really have much to do with b4, it's just a known aspect of vger
-- it does not do "simple/simple". To make your mail setup work with vger, you
should change it to "relaxed/simple".

I go into reasons and details in this post:
https://lore.kernel.org/lkml/20211214150032.nioelgvmase7yyus@meerkat.local/

-K
Thomas Weißschuh Feb. 24, 2023, 2:11 p.m. UTC | #2
On Thu, Feb 23, 2023 at 04:18:15PM -0500, Konstantin Ryabitsev wrote:
> On Thu, Feb 23, 2023 at 08:56:45PM +0000, Thomas Weißschuh wrote:
> > Hi,
> > 
> > I tried to "b4 shazam" one of my own patches from lore for which the
> > DKIM check failed.
> > Further investigation revelead what seems to be modifications of message
> > headers by both vger.kernel.org and lore.kernel.org.
> > As this affects DKIM-signed headers the validation fails.
> 
> This doesn't really have much to do with b4, it's just a known aspect of vger
> -- it does not do "simple/simple". To make your mail setup work with vger, you
> should change it to "relaxed/simple".
> 
> I go into reasons and details in this post:
> https://lore.kernel.org/lkml/20211214150032.nioelgvmase7yyus@meerkat.local/

Thanks for the pointer, I even read that mail back then...

It's now fixed on my side.

Sorry for the noise,
Thomas
diff mbox series

Patch

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index bd47628da6be..4facfb446986 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -41,11 +41,6 @@ 

 #define DRIVER_DESC "HID core driver"

-int hid_debug = 0;
-module_param_named(debug, hid_debug, int, 0600);
-MODULE_PARM_DESC(debug, "toggle HID debugging messages");
-EXPORT_SYMBOL_GPL(hid_debug);
-
 static int hid_ignore_special_drivers = 0;
 module_param_named(ignore_special_drivers, hid_ignore_special_drivers, int, 0600);
 MODULE_PARM_DESC(ignore_special_drivers, "Ignore any special drivers and handle all devices by generic driver");
@@ -2909,10 +2904,6 @@  static int __init hid_init(void)
 {
 	int ret;

-	if (hid_debug)
-		pr_warn("hid_debug is now used solely for parser and driver debugging.\n"
-			"debugfs is now used for inspecting the device (report descriptor, reports)\n");
-
 	ret = bus_register(&hid_bus_type);
 	if (ret) {
 		pr_err("can't register hid bus\n");
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 8677ae38599e..676f501507aa 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -882,8 +882,6 @@  static inline bool hid_is_usb(struct hid_device *hdev)

 /* HID core API */

-extern int hid_debug;
-
 extern bool hid_ignore(struct hid_device *);
 extern int hid_add_device(struct hid_device *);
 extern void hid_destroy_device(struct hid_device *);
@@ -1191,11 +1189,7 @@  int hid_pidff_init(struct hid_device *hid);
 #define hid_pidff_init NULL
 #endif

-#define dbg_hid(fmt, ...)						\
-do {									\
-	if (hid_debug)							\
-		printk(KERN_DEBUG "%s: " fmt, __FILE__, ##__VA_ARGS__);	\
-} while (0)
+#define dbg_hid(fmt, ...) pr_debug("%s: " fmt, __FILE__, ##__VA_ARGS__)

 #define hid_err(hid, fmt, ...)				\
 	dev_err(&(hid)->dev, fmt, ##__VA_ARGS__)