From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 318C0AC13B4 for ; Tue, 25 Jul 2023 15:17:32 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=X2VX7MaQ3clx50yaMfenFjPZZF3ybQ2ocN6PIGUnBGw=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:X-Received:X-Received:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:X-MS-Has-Attach:X-MS-TNEF-Correlator:msip_labels:x-ms-publictraffictype:x-ms-traffictypediagnostic:x-ms-office365-filtering-correlation-id:x-ms-exchange-senderadcheck:x-ms-exchange-antispam-relay:x-microsoft-antispam-message-info:x-ms-exchange-antispam-messagedata-chunkcount:x-ms-exchange-antispam-messagedata-0:MIME-Version:X-OriginatorOrg:X-MS-Exchange-CrossTenant-AuthAs:X-MS-Exchange-CrossTenant-AuthSource:X-MS-Exchange-CrossTenant-Network-Message-Id:X-MS-Exchange-CrossTenant-originalarrivaltime:X-MS-Exchange-CrossTenant-fromentityheader:X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype:X-MS-Exchange-CrossTenant-userprincipalname:X-MS-Exchange-Transport-CrossTenantHeadersStamped:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To: List-Unsubscribe-Post:List-Unsubscribe:X-Gm-Message-State:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1690298250; v=1; b=xL2Oyjpi1iJT6TPkpht75QpAq6ibkbfAJj14DK66SCvMAIGOp+9FvJRq7VqqtiH4GuSsdC2U h9atsDXsOP2CbJhiavOKgEzk+b5h5C4LiltFIWGqEp2JImQNGSeSOH90UZjw7hSzMpoT0WxktMu sbXd9WHIEw+FFEJufFA+tnpo= X-Received: by 127.0.0.2 with SMTP id SxrtYY7687511xCPfaFRuoZE; Tue, 25 Jul 2023 08:17:30 -0700 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.75]) by mx.groups.io with SMTP id smtpd.web10.23030.1690298249986785967 for ; Tue, 25 Jul 2023 08:17:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DXAh7OkhcoEjsn8HyvW0dkYvYsu1QKo5XSSLIUqKi1wf6untHHu8SHL50GKI1U7dWvHjXhr3HJ+184OikEd8ktS75AnIiUWbNZjww7ExJab0GNmelBY/aPEy1nfNqPCv9Fdcrps+v4mDdkFvsW6JJIReYtEpX0s9zsXaVVWncZLAhgHpIBUMJ+oTxdHU1KZnimdtfJ8o8j6MN3FFTzk9ZFVQCdtNmpxXOTs5AMWRDb1/uDV5gOdJs0WOCwrTcRVdJpJZuCV/mVPHJucFBQBdONqD8noahliT84JHhU59b4PBrmjFM0R7qErdBDGhXYOhTl1ovwqGQaEkcsXBGU10nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dk2a6+lfyPIFatvz58YcmeRH65MtIPIvONW98kXxy08=; b=VwffjNi0tLABpS/I2yqEmEeHCZ65UJtRuK9e3jS5DfSlK/XfQx40imWd77fJa66yyZu/XTSCNJ7cSVEX/YEAlwFhti1DNMYztpwWEQBk55hSAU6jHirMNZFqQpc6bwRyUAKPfZjCMzmrDMs4wNEleuzoBsGSA5iDeTJgyl7euNXKycah/VguE0wgSG6GH1ljn2ePgL7gKGp2DvV9MMf2ulOb9VNbZCkhz5mfF3cZZV6xtZduVLF/6/T4foYbzITbiQ8NbAffl8Do0Iw3EWugFd5/TDpq9GvHEAE38/yHVVqr0ZTa25pYBbEJLA+1/j60lv1MRQWOk9REtqA1rrOPhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by MN6PR12MB8591.namprd12.prod.outlook.com (2603:10b6:208:471::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.33; Tue, 25 Jul 2023 15:17:27 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::ae22:8546:91f7:a85e]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::ae22:8546:91f7:a85e%7]) with mapi id 15.20.6609.032; Tue, 25 Jul 2023 15:17:26 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [PATCH] RedfishPkg/RedfishDiscoverDxe: fix netmask check issue Thread-Topic: [PATCH] RedfishPkg/RedfishDiscoverDxe: fix netmask check issue Thread-Index: AQHZvo0J80ehhAF48ES05a60vzuw76/KmQzA Date: Tue, 25 Jul 2023 15:17:26 +0000 Message-ID: References: <20230725001438.1292-1-nicklew@nvidia.com> In-Reply-To: <20230725001438.1292-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=3dce27f9-cefe-4d17-a5fc-ca62fc441cf1;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-07-25T15:17:07Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|MN6PR12MB8591:EE_ x-ms-office365-filtering-correlation-id: 750b1ba9-ba25-4fdf-1033-08db8d224158 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: Xg8jVcsqDLIh5LpP2mb5UWT40qGSMdGSjCd6ox4F7QYQBMDUVZ/bYMhPXMy9/Hm2C4msr/H7Kr6BVqMFRuTsPBuPFsK9R1ozFU1Ag/g+ZU1HRn0sz/Uq1lJWsuaL5M3C47snmn0nLsXobGcgl3z5ZU7d5zwt3ptZ4PbMFYvmZrSOZPTk42ISbmdSmIONdL/EjDcNgQWgaXWf7Tg3cagVO2WWdwNpmRqrz6q17TPybKc9TlLNKVmY3oz8il07pUQ7y3f33EY9ApzywkVl+nVsDb2oltY9tXKUni3Cn0nV/6yOpQzYpgblahDnldnp5jFp8rA/HhLcgzFeasenNZDt/4hCs1cO2MBTc4lOYJ4s9EWsNPOKd7e0uABIYdgCAmugbQVwXeAF3M7aqVXLN4FzScFMtowJT1tMOv4UObm0/wXcgN7ZwHBFzSeKxEl6kg88K9CWPx/WNi10v6MwCz7snU8pZJtW8qSP+d1rfLLnm82sJuBV7JFIFyzywCeVcK08SsZ0B1wfnQcYjEqegkw4G192AqHfkVt4PIqC41+FcvEYMRdR2fdk30l7G0G1IppSSwmK3GnmECD1Cwbz7PpTL/+17plfN1aBKX+XO85HKic= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?JHHQz4UWX6+z56J2bGWKEeZa53jReSYtz0N9OMVIk9HLfQq+CLH1hA80xsuW?= =?us-ascii?Q?OqdPkW8/1d/nyXmOUlm0WsUtFnU9gqdAeM06hXVYSvrpb+fmkSSsb34bQhfM?= =?us-ascii?Q?XqG6aaMMIaXUF526lTPB00zoKjbqwK349McztcblP1XWu+okMFr2L+eBsr6m?= =?us-ascii?Q?g45PU134oB2RjGLP7AUREkkMyxchLDnf9VHrzT0874O/5KLwTblUfYiyZ2S2?= =?us-ascii?Q?XaG+fQS5XQCn3EUidL+6hjpX/KvjCFfgnVCRaQ3iL8E4rekw5dfQqVHPXmso?= =?us-ascii?Q?bx+EXSHXeQEFafSrnvITGsNCpTP0BZ4ZFsTuIbNFjo1eXpNaiyHVtv+HY3Mb?= =?us-ascii?Q?hHX4euJ7Z7geWFfhCsRkuvipEbPA9hLjZkSCN+cQYw7onMbmvIgPSD+sXmE8?= =?us-ascii?Q?ACBaUkGDK5EbgiZsfyDcXzFLRr7LKnVPe9XvA086IzS5az9jY98CI+ZZhmf3?= =?us-ascii?Q?9Zvkj72LZr1T8Y+Rr4FeEacmiojNvCHkQYfHNPUHbVmGUXD5DObnvxA+m/UO?= =?us-ascii?Q?4WPu4WWb68An1Auc7G2pYWq0mnWZTS/+m4cKyjIIexvNN9beEbYpUUZ+qP/n?= =?us-ascii?Q?Fi1M6VMkOzDvlspCo2p9IViX4zjrc7XeQZXH6gvpbA6APGGAnRGWcbG8mYd1?= =?us-ascii?Q?g5t97fuZS5dTpZuOl2gCsh4QCn/mDF+SbVPxPRCDu8HNXjNkNXSmB9i+MXvM?= =?us-ascii?Q?J4oBere5sjy5HaMzASR4ssi9I7VRHqc3H4B4xwjnXn8eAn3gJlf6ElVzWKcc?= =?us-ascii?Q?z2r6LZcEERkuMyzfwoO7TtA819jTglpD4kBi6V9IMDJJh4Z4vWRkEfuZGWbv?= =?us-ascii?Q?IYY/Qmge7zX8oiDbxMdSNwQvDaFO6UH8YWMMKllP1CW2bN7dIJOrMudHEVGm?= =?us-ascii?Q?ZIdPi9H22iuf9yJNsgtr2CogvAo8bfJ1q6uD5Boak8AuE18EFcLvnEe82Zsa?= =?us-ascii?Q?0Qfkx5mImFTzz66Qm2Nk27UiyYy/9x3XppisCcAzFPthDHOpGIwzp7g8Ee2B?= =?us-ascii?Q?yop3rlMzaMEVjKPFfH6AFGr0rex8Uhr8WQUSkM2FCWI1Dlb3jBJVNdYfEYwO?= =?us-ascii?Q?Ls96Zd+oJ7ljovHP9npb2XsuoD7/9fWESyUG47bAXE1DtB/J5TtM9EAaYcj0?= =?us-ascii?Q?V5DwNf/KnaqpozC0j6Ff8jP/PQ2DPpJYrmg6aIyAcNOsYUcluLKfjGB8Tt97?= =?us-ascii?Q?MPbVOxUjCROmbKLecFSlNY80kGsmm6oCwh2TcgEIgHdOOPgx7DeTueBmBTTa?= =?us-ascii?Q?RYJlGkYl1vEzgcjva5dMvw/1kqVx3IsXT/xutJs+5rwGqP4bej/Y7vlFEYaj?= =?us-ascii?Q?Ggdo814tTkL3kxh4CvAvf+5W8NnbK1LMgWgD7n94zNQXGulTHT/UNF2hlhk9?= =?us-ascii?Q?qAOLIEFYgrqHSQJ2s4gZM+4D07MFnW+ia5Sqs/FveM05kdxL3lbRu62pt1hq?= =?us-ascii?Q?aVABgw0a3vxg30J3+UP8hi4cQ2TyxQPpuZOhLMEKRgewY+fs1hNOk+RYt2cC?= =?us-ascii?Q?9isfXp7sBfmKZtx5LcArz501ONkmGTGLjL0zeia6TI0wZyH2nmVovQJqXGSW?= =?us-ascii?Q?RhqVNRQd2rd4eoSPVPM=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 750b1ba9-ba25-4fdf-1033-08db8d224158 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jul 2023 15:17:26.7519 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TsnopXil3jgVw//1nwxDTwbeh3KjnJL6lY0XcKSOaGhMV9j/6qByD5j+m5WavRNOc+vcZz4tluQ5nrqQ/FyqgQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8591 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: x9zmU5KWoFdfK0YKuELLnDrjx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=xL2Oyjpi; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io [AMD Official Use Only - General] Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Tuesday, July 25, 2023 8:15 AM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [PATCH] RedfishPkg/RedfishDiscoverDxe: fix netmask check issue > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > - Add NTOHL() for coverting IP address from EFI_IPv4_ADDRESS to > IP4_ADDR so that IP4_IS_VALID_NETMASK() return correct value. > - Add DumpIpv4Address() in RedfishDebugLib and print IP address > when invalid IP or subnet mask address is detected. > > Signed-off-by: Nickle Wang > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > .../RedfishDiscoverDxe/RedfishDiscoverDxe.inf | 2 ++ > RedfishPkg/Include/Library/RedfishDebugLib.h | 17 ++++++++++++ > .../RedfishDiscoverInternal.h | 1 + > .../Library/RedfishDebugLib/RedfishDebugLib.c | 26 +++++++++++++++++++ > .../RedfishDiscoverDxe/RedfishDiscoverDxe.c | 11 +++++--- > 5 files changed, 53 insertions(+), 4 deletions(-) > > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.inf > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.inf > index 345bacf44d20..950098bf6a0d 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.inf > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.inf > @@ -2,6 +2,7 @@ > # Implementation of EFI_REDFISH_DISCOVER_PROTOCOL interfaces. > # > # (C) Copyright 2021 Hewlett Packard Enterprise Development LP
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -34,6 +35,7 @@ > DebugLib > MemoryAllocationLib > PrintLib > + RedfishDebugLib > RestExLib > UefiLib > UefiBootServicesTableLib > diff --git a/RedfishPkg/Include/Library/RedfishDebugLib.h > b/RedfishPkg/Include/Library/RedfishDebugLib.h > index da7e0d0bc9fc..5f75bad12a7f 100644 > --- a/RedfishPkg/Include/Library/RedfishDebugLib.h > +++ b/RedfishPkg/Include/Library/RedfishDebugLib.h > @@ -121,4 +121,21 @@ DumpHttpStatusCode ( > IN EFI_HTTP_STATUS_CODE HttpStatusCode > ); > > +/** > + > + This function dump the IPv4 address in given error level. > + > + @param[in] ErrorLevel DEBUG macro error level > + @param[in] Ipv4Address IPv4 address to dump > + > + @retval EFI_SUCCESS IPv4 address string is printed. > + @retval Others Errors occur. > + > +**/ > +EFI_STATUS > +DumpIpv4Address ( > + IN UINTN ErrorLevel, > + IN EFI_IPv4_ADDRESS *Ipv4Address > + ); > + > #endif > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > index d24c4081d9c0..01454acc1d9d 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > @@ -28,6 +28,7 @@ > #include > #include > #include > +#include > #include > #include > #include > diff --git a/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > index 0b2a9a5c4ec8..efa9a5ca1319 100644 > --- a/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > +++ b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > @@ -340,3 +340,29 @@ DumpRedfishResponse ( > > return EFI_SUCCESS; > } > + > +/** > + > + This function dump the IPv4 address in given error level. > + > + @param[in] ErrorLevel DEBUG macro error level > + @param[in] Ipv4Address IPv4 address to dump > + > + @retval EFI_SUCCESS IPv4 address string is printed. > + @retval Others Errors occur. > + > +**/ > +EFI_STATUS > +DumpIpv4Address ( > + IN UINTN ErrorLevel, > + IN EFI_IPv4_ADDRESS *Ipv4Address > + ) > +{ > + if (Ipv4Address =3D=3D NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + DEBUG ((ErrorLevel, "%d.%d.%d.%d\n", Ipv4Address->Addr[0], > Ipv4Address->Addr[1], Ipv4Address->Addr[2], Ipv4Address->Addr[3])); > + > + return EFI_SUCCESS; > +} > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > index 470b4c9e0060..17c88ad82db4 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > @@ -531,15 +531,17 @@ DiscoverRedfishHostInterface ( > IP4_COPY_ADDRESS ((VOID *)&Instance->HostSubnetMask.v4, (VOID > *)Data->HostIpMask); > > if (EFI_IP4_EQUAL (&Instance->HostIpAddress.v4, &mZeroIp4Addr)) { > - DEBUG ((DEBUG_ERROR, "%a: invalid host IP address: zero address\= n", > __func__)); > + DEBUG ((DEBUG_ERROR, "%a: invalid host IP address: ", __func__))= ; > + DumpIpv4Address (DEBUG_ERROR, &Instance->HostIpAddress.v4); > // > // Invalid IP address detected. Change address format to Unknown= and > use system default address. > // > Instance->HostAddrFormat =3D > REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN; > } > > - if (!IP4_IS_VALID_NETMASK (EFI_IP4 (Instance->HostSubnetMask.v4)))= { > - DEBUG ((DEBUG_ERROR, "%a: invalid subnet mask address\n", > __func__)); > + if (!IP4_IS_VALID_NETMASK (NTOHL (EFI_IP4 (Instance- > >HostSubnetMask.v4)))) { > + DEBUG ((DEBUG_ERROR, "%a: invalid subnet mask address: ", > __func__)); > + DumpIpv4Address (DEBUG_ERROR, &Instance->HostSubnetMask.v4); > // > // Invalid subnet mast address detected. Change address format t= o > Unknown and use system default address. > // > @@ -553,7 +555,8 @@ DiscoverRedfishHostInterface ( > IP4_COPY_ADDRESS ((VOID *)&Instance->TargetIpAddress.v4, (VOID > *)Data->RedfishServiceIpAddress); > > if (EFI_IP4_EQUAL (&Instance->TargetIpAddress.v4, &mZeroIp4Addr)) = { > - DEBUG ((DEBUG_ERROR, "%a: invalid service IP address: zero addre= ss\n", > __func__)); > + DEBUG ((DEBUG_ERROR, "%a: invalid service IP address: ", __func_= _)); > + DumpIpv4Address (DEBUG_ERROR, &Instance->TargetIpAddress.v4); > } > } else { > IP6_COPY_ADDRESS ((VOID *)&Instance->TargetIpAddress.v6, (VOID > *)Data->RedfishServiceIpAddress); > -- > 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107246): https://edk2.groups.io/g/devel/message/107246 Mute This Topic: https://groups.io/mt/100341380/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-