From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BE8D51C33 for ; Wed, 13 Mar 2024 21:17:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710364652; cv=none; b=TW0GHwZIoVPjzte8W/XDZhWcN00JbfNPro4MJAKyE0TsJJNcMk/KPoLZn622dOPKw2RVpN8/ZtmBS8dTsdwzXc7vsO8ZChE7NROfLam9uKbsIJkZxaIHY3/dxNdw8VNq2Ue3YbJ7ggfADGoxjdMLMiwOHjYW2aHrWfx8e69gUf8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710364652; c=relaxed/simple; bh=ZZ1yvqhV88L8Fdbidzu5N0f/JeBcdFJbua0aS7dkUOg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=VTSNP7zcg1FHc34KEFpVfBkNpSTpBPVsQ22LeuelJuW5mx3jmlqkVGz21Ve47cf635YFDeiXlY+oYzCi77lE/X/NEZr5kzJGWpzAfyGDvp2tvSmN5e2Dmw66PAbkVtO3aIrs38N5m6wNFCVebK36S70WH7bCyKoW1CbLRaNe180= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZYR42qD8; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZYR42qD8" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1dd59b95677so2330915ad.1 for ; Wed, 13 Mar 2024 14:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710364650; x=1710969450; darn=lists.linux.dev; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=NUlXrKT9EnIj18amwCty7VMhLzOsFE6rwuzLJc3R0iA=; b=ZYR42qD8YYEJ76YBFjyJLv0NQmVmWetm1cGyMEITbgl2CYxd/E4XxbB1di4Eu3bgv1 FotR9j6wp2gFyOuKfrjXZ/f6E2T50TS0srPUCx5eF4TrU/5Jzm/kTGDwPoc/hdIbRLLL lfjx6+mEPb7xKKHj9M23tg05+IopuIELV6NUQsMbJaMh4vZvUTGVWE9kr2/PmcER51tc S9Jc3mysdcUbyhwh6N7+OgRbG8/d+J8Y/7pDSjraSzF1wCtRYVmJNuYyuFIsUeFWYXkl csTfoOVchNRkNz4ZTcvMCdYJk3tehIpeFJcd2di1yPXbiwUOQyBE8JrvdNz4cXPpw+Y8 9jFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710364650; x=1710969450; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NUlXrKT9EnIj18amwCty7VMhLzOsFE6rwuzLJc3R0iA=; b=Q4yCcNM8RqFka94OfYXWcO2XIj6JW+dilS0oMMqj6rwSWct7tKVfdijK8bsUHPAKSl Cbf2nEuowQbrEgAH+xrGPcZnhRfQZrwmO/behgB5+RExsEHbHrFsCDfRiH31N502LBaX i4GoTl2oyB9cViOXSuUk3TSPh9HOI7bwflb8Z1qOoUGbntnskMOUkmIWEDfWXfAnsIXG e0PvRrUbJdsaGHRkivgXhby6xf8HDA029j+wGatXiGEf70KuZ/aTnQ5KgGuSXxXQ1L8B tOwWGyhrecBiU35xfcqCundpb+Z5Vtojvc1hh1LtIqWcy76DyMGVoL7woGPCOIGVegqp pjdQ== X-Forwarded-Encrypted: i=1; AJvYcCXhxiWYLHkyBmEDDVwARfLd8RLg1w1uiNUucUh8UgexvPndyqORb6IsWBYcbd5vmVzmTCSrWQGBdwHCk8PT4eEreLsF X-Gm-Message-State: AOJu0YwARASO/bYp9i8PurObTUWbIQEFg3EC1e7INctELvDeIQSqKhPJ Ls4cX7RBgwFCmSPEOHgP86AnEgIBnUTIFLfnxF1xYZfRAhm4r91/ X-Google-Smtp-Source: AGHT+IG9I+hDSxyD1Im6G/LLTkYoz1TmcbofHmjXyd16Vyd3jct6bToKtjs1/z8pGQeFpGSefzEBMg== X-Received: by 2002:a17:902:ea01:b0:1db:55cc:d226 with SMTP id s1-20020a170902ea0100b001db55ccd226mr14449454plg.66.1710364650361; Wed, 13 Mar 2024 14:17:30 -0700 (PDT) Received: from [192.168.254.38] ([50.39.172.77]) by smtp.gmail.com with ESMTPSA id j7-20020a170902da8700b001da15580ca8sm65107plx.52.2024.03.13.14.17.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 Mar 2024 14:17:29 -0700 (PDT) Message-ID: Date: Wed, 13 Mar 2024 14:17:29 -0700 Precedence: bulk X-Mailing-List: iwd@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [REGRESSION] Re: [PATCH] crypto: pkcs7: remove sha1 support To: Eric Biggers Cc: Johannes Berg , Karel Balej , dimitri.ledkov@canonical.com, alexandre.torgue@foss.st.com, davem@davemloft.net, dhowells@redhat.com, herbert@gondor.apana.org.au, keyrings@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, mcgrof@kernel.org, mcoquelin.stm32@gmail.com, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, iwd@lists.linux.dev References: <005f998ec59e27633b1b99fdf929e40ccfd401c1.camel@sipsolutions.net> <20240313194423.GA1111@sol.localdomain> <20240313202223.GB1111@sol.localdomain> Content-Language: en-US From: James Prestwood In-Reply-To: <20240313202223.GB1111@sol.localdomain> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, On 3/13/24 1:22 PM, Eric Biggers wrote: > On Wed, Mar 13, 2024 at 01:12:54PM -0700, James Prestwood wrote: >> Hi, >> >> On 3/13/24 12:44 PM, Eric Biggers wrote: >>> On Wed, Mar 13, 2024 at 10:26:06AM -0700, James Prestwood wrote: >>>> Hi, >>>> >>>> On 3/13/24 1:56 AM, Johannes Berg wrote: >>>>> Not sure why you're CC'ing the world, but I guess adding a few more >>>>> doesn't hurt ... >>>>> >>>>> On Wed, 2024-03-13 at 09:50 +0100, Karel Balej wrote: >>>>>> and I use iwd >>>>> This is your problem, the wireless stack in the kernel doesn't use any >>>>> kernel crypto code for 802.1X. >>>> Yes, the wireless stack has zero bearing on the issue. I think that's what >>>> you meant by "problem". >>>> >>>> IWD has used the kernel crypto API forever which was abruptly broken, that >>>> is the problem. >>>> >>>> The original commit says it was to remove support for sha1 signed kernel >>>> modules, but it did more than that and broke the keyctl API. >>>> >>> Which specific API is iwd using that is relevant here? >>> I cloned https://kernel.googlesource.com/pub/scm/network/wireless/iwd >>> and grepped for keyctl and AF_ALG, but there are no matches. >> IWD uses ELL for its crypto, which uses the AF_ALG API: >> >> https://git.kernel.org/pub/scm/libs/ell/ell.git/ > Thanks for pointing out that the relevant code is really in that separate > repository. Note, it seems that keyctl() is the problem here, not AF_ALG. The > blamed commit didn't change anything for AF_ALG. > >> I believe the failure is when calling: >> >> KEYCTL_PKEY_QUERY enc="x962" hash="sha1" >> >> From logs Michael posted on the IWD list, the ELL API that fails is: >> >> l_key_get_info (ell.git/ell/key.c:416) > Okay, I guess that's what's actually causing the problem. KEYCTL_PKEY_* are a > weird set of APIs where userspace can ask the kernel to do asymmetric key > operations. It's unclear why they exist, as the same functionality is available > in userspace crypto libraries. > > I suppose that the blamed commit, or at least part of it, will need to be > reverted to keep these weird keyctls working. > > For the future, why doesn't iwd just use a userspace crypto library such as > OpenSSL? I was not around when the original decision was made, but a few reasons I know we don't use openSSL:  - IWD has virtually zero dependencies.  - OpenSSL + friends are rather large libraries.  - AF_ALG has transparent hardware acceleration (not sure if openSSL does too). Another consideration is once you support openSSL someone wants wolfSSL, then boringSSL etc. Even if users implement support it just becomes a huge burden to carry for the project. Just look at wpa_supplicant's src/crypto/ folder, nearly 40k LOC in there, compared to ELL's crypto modules which is ~5k. You have to sort out all the nitty gritty details of each library, and provide a common driver/API for the core code, differences between openssl versions, the list goes on. Thanks, James > > - Eric From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4EE39C54E58 for ; Wed, 13 Mar 2024 21:17:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ct6fJGGzsifLe8HAlgVhbmWiFfx3q/fXFqZWlm3jjKs=; b=ngFI5BC39j0L2f isctTpztsmsFe8tEzhHkPFGgy0M3IK3+8dOBWfgMFCIM/sPFbmqJVBgMcVkc1Zh7TUsXq1vGkGqNN YJaKgnJCJpMXHrnsCJxPUi00vqZ8+QLjQ1HY1FV9T+QTocdxiOnuV3kHCkiFp5qgoojzHkDwSFSG9 nf0I+rhQWfsmIBofr4RtVEe/YjnMcRQgiLyR+ZRnbLYZCpOi+khJRnAFw0+D22JSaS8dNN5bCGDG5 NBWWrPRd5eTNM31VAaogDVEzFXRCICnfgF7fAMAAmWwvOIW58+fcIYCwNsSvKl+QWU+hJB155LOdD +OKIRCpcOgGxSw67hoaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkVyi-0000000Bv9J-3GgT; Wed, 13 Mar 2024 21:17:36 +0000 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkVyg-0000000Bv8K-07PD for linux-arm-kernel@lists.infradead.org; Wed, 13 Mar 2024 21:17:35 +0000 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1dddaa02d22so1936175ad.2 for ; Wed, 13 Mar 2024 14:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710364650; x=1710969450; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=NUlXrKT9EnIj18amwCty7VMhLzOsFE6rwuzLJc3R0iA=; b=I16A59ytoy1DZCRLf2C/tGHhUDjd/zhGCLAb9GnictXYWJVIbdhoT+D5GMCBAy/Hay v8+EJUQzPtZN8Tgh7jO5BlHNhyhiwoGWjwJ2LhwV2wEHI/0gCfQueDJTi8O3reiZjv6u JIxanpNjm89bq/7VGZLj7ZRDzh09KNnjggfnvrJV7r1DUOEa7nRNd34EHdOcIqa+dMDX CfTCXLPW3tThBQM1XcrWPN7TR6Rbpr7YpVL59ElZ8R1snD1GXCNTWYZFHAmnMx1lTBXT rCx+RjUHF/wa9aOQHHiuFa6Zz+Fbc7GvBUSbOzMw3jGsuCVlWvVDkcUgM0lc6DqREkY+ 8yDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710364650; x=1710969450; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NUlXrKT9EnIj18amwCty7VMhLzOsFE6rwuzLJc3R0iA=; b=v5jv15H0AsPE0dfq32Spvc7EmRMmF/J7EICS5fWpvEW/HtZKbKmIBqqAEceMP0tENC cqXbB24A7QlkN2blKdHNlMH4cHHixzL7RodKTaj2eyzgGCUfvcfimmR3FjKi/U0LEkA8 ERaMKuGs+lc4dbMpAe1RIOvSbI5pUq65ySTX23T2rXDaNtnMSO91wiKiVfPjW0THAgEU 0y9TNe2PvhH1Ll9ZY62vg9ANGAeR0RwO8UVz88OyUsML7tp3CLxh2TAeZ0c7wxaSge2e noVirY8c9BmwZqTRfuhkwYbTHXM3Syb8Rej3QFEaH06A7rWMyWr71AQod4Ncy40ZAHgI bN2g== X-Forwarded-Encrypted: i=1; AJvYcCXF6OikspU21daZ7VBjziIWZtIjjIjfC6B7QE9ONAfGZD616dKiegrq395+wF3JpGHOcRTpPuc5UF0aeoa89VvRgZgCSPLhayJNgHTGQS8WzXGGkTo= X-Gm-Message-State: AOJu0YzYSRIApN+UWij5PQmzx/NK/fHkFrDJB1b14lm6ZvUezVlmnGZl 7Eoo1e5jGBwKN1GwFZGoWF2hJCEHQ02Zt047c3XXzLL461RH3RL2 X-Google-Smtp-Source: AGHT+IG9I+hDSxyD1Im6G/LLTkYoz1TmcbofHmjXyd16Vyd3jct6bToKtjs1/z8pGQeFpGSefzEBMg== X-Received: by 2002:a17:902:ea01:b0:1db:55cc:d226 with SMTP id s1-20020a170902ea0100b001db55ccd226mr14449454plg.66.1710364650361; Wed, 13 Mar 2024 14:17:30 -0700 (PDT) Received: from [192.168.254.38] ([50.39.172.77]) by smtp.gmail.com with ESMTPSA id j7-20020a170902da8700b001da15580ca8sm65107plx.52.2024.03.13.14.17.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 Mar 2024 14:17:29 -0700 (PDT) Message-ID: Date: Wed, 13 Mar 2024 14:17:29 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [REGRESSION] Re: [PATCH] crypto: pkcs7: remove sha1 support To: Eric Biggers Cc: Johannes Berg , Karel Balej , dimitri.ledkov@canonical.com, alexandre.torgue@foss.st.com, davem@davemloft.net, dhowells@redhat.com, herbert@gondor.apana.org.au, keyrings@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, mcgrof@kernel.org, mcoquelin.stm32@gmail.com, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, iwd@lists.linux.dev References: <005f998ec59e27633b1b99fdf929e40ccfd401c1.camel@sipsolutions.net> <20240313194423.GA1111@sol.localdomain> <20240313202223.GB1111@sol.localdomain> Content-Language: en-US From: James Prestwood In-Reply-To: <20240313202223.GB1111@sol.localdomain> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240313_141734_098874_1B9E14EE X-CRM114-Status: GOOD ( 24.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpPbiAzLzEzLzI0IDE6MjIgUE0sIEVyaWMgQmlnZ2VycyB3cm90ZToKPiBPbiBXZWQsIE1h ciAxMywgMjAyNCBhdCAwMToxMjo1NFBNIC0wNzAwLCBKYW1lcyBQcmVzdHdvb2Qgd3JvdGU6Cj4+ IEhpLAo+Pgo+PiBPbiAzLzEzLzI0IDEyOjQ0IFBNLCBFcmljIEJpZ2dlcnMgd3JvdGU6Cj4+PiBP biBXZWQsIE1hciAxMywgMjAyNCBhdCAxMDoyNjowNkFNIC0wNzAwLCBKYW1lcyBQcmVzdHdvb2Qg d3JvdGU6Cj4+Pj4gSGksCj4+Pj4KPj4+PiBPbiAzLzEzLzI0IDE6NTYgQU0sIEpvaGFubmVzIEJl cmcgd3JvdGU6Cj4+Pj4+IE5vdCBzdXJlIHdoeSB5b3UncmUgQ0MnaW5nIHRoZSB3b3JsZCwgYnV0 IEkgZ3Vlc3MgYWRkaW5nIGEgZmV3IG1vcmUKPj4+Pj4gZG9lc24ndCBodXJ0IC4uLgo+Pj4+Pgo+ Pj4+PiBPbiBXZWQsIDIwMjQtMDMtMTMgYXQgMDk6NTAgKzAxMDAsIEthcmVsIEJhbGVqIHdyb3Rl Ogo+Pj4+Pj4gICAgIGFuZCBJIHVzZSBpd2QKPj4+Pj4gVGhpcyBpcyB5b3VyIHByb2JsZW0sIHRo ZSB3aXJlbGVzcyBzdGFjayBpbiB0aGUga2VybmVsIGRvZXNuJ3QgdXNlIGFueQo+Pj4+PiBrZXJu ZWwgY3J5cHRvIGNvZGUgZm9yIDgwMi4xWC4KPj4+PiBZZXMsIHRoZSB3aXJlbGVzcyBzdGFjayBo YXMgemVybyBiZWFyaW5nIG9uIHRoZSBpc3N1ZS4gSSB0aGluayB0aGF0J3Mgd2hhdAo+Pj4+IHlv dSBtZWFudCBieSAicHJvYmxlbSIuCj4+Pj4KPj4+PiBJV0QgaGFzIHVzZWQgdGhlIGtlcm5lbCBj cnlwdG8gQVBJIGZvcmV2ZXIgd2hpY2ggd2FzIGFicnVwdGx5IGJyb2tlbiwgdGhhdAo+Pj4+IGlz IHRoZSBwcm9ibGVtLgo+Pj4+Cj4+Pj4gVGhlIG9yaWdpbmFsIGNvbW1pdCBzYXlzIGl0IHdhcyB0 byByZW1vdmUgc3VwcG9ydCBmb3Igc2hhMSBzaWduZWQga2VybmVsCj4+Pj4gbW9kdWxlcywgYnV0 IGl0IGRpZCBtb3JlIHRoYW4gdGhhdCBhbmQgYnJva2UgdGhlIGtleWN0bCBBUEkuCj4+Pj4KPj4+ IFdoaWNoIHNwZWNpZmljIEFQSSBpcyBpd2QgdXNpbmcgdGhhdCBpcyByZWxldmFudCBoZXJlPwo+ Pj4gSSBjbG9uZWQgaHR0cHM6Ly9rZXJuZWwuZ29vZ2xlc291cmNlLmNvbS9wdWIvc2NtL25ldHdv cmsvd2lyZWxlc3MvaXdkCj4+PiBhbmQgZ3JlcHBlZCBmb3Iga2V5Y3RsIGFuZCBBRl9BTEcsIGJ1 dCB0aGVyZSBhcmUgbm8gbWF0Y2hlcy4KPj4gSVdEIHVzZXMgRUxMIGZvciBpdHMgY3J5cHRvLCB3 aGljaCB1c2VzIHRoZSBBRl9BTEcgQVBJOgo+Pgo+PiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1 Yi9zY20vbGlicy9lbGwvZWxsLmdpdC8KPiBUaGFua3MgZm9yIHBvaW50aW5nIG91dCB0aGF0IHRo ZSByZWxldmFudCBjb2RlIGlzIHJlYWxseSBpbiB0aGF0IHNlcGFyYXRlCj4gcmVwb3NpdG9yeS4g IE5vdGUsIGl0IHNlZW1zIHRoYXQga2V5Y3RsKCkgaXMgdGhlIHByb2JsZW0gaGVyZSwgbm90IEFG X0FMRy4gIFRoZQo+IGJsYW1lZCBjb21taXQgZGlkbid0IGNoYW5nZSBhbnl0aGluZyBmb3IgQUZf QUxHLgo+Cj4+IEkgYmVsaWV2ZSB0aGUgZmFpbHVyZSBpcyB3aGVuIGNhbGxpbmc6Cj4+Cj4+IEtF WUNUTF9QS0VZX1FVRVJZIGVuYz0ieDk2MiIgaGFzaD0ic2hhMSIKPj4KPj4gIEZyb20gbG9ncyBN aWNoYWVsIHBvc3RlZCBvbiB0aGUgSVdEIGxpc3QsIHRoZSBFTEwgQVBJIHRoYXQgZmFpbHMgaXM6 Cj4+Cj4+IGxfa2V5X2dldF9pbmZvIChlbGwuZ2l0L2VsbC9rZXkuYzo0MTYpCj4gT2theSwgSSBn dWVzcyB0aGF0J3Mgd2hhdCdzIGFjdHVhbGx5IGNhdXNpbmcgdGhlIHByb2JsZW0uICBLRVlDVExf UEtFWV8qIGFyZSBhCj4gd2VpcmQgc2V0IG9mIEFQSXMgd2hlcmUgdXNlcnNwYWNlIGNhbiBhc2sg dGhlIGtlcm5lbCB0byBkbyBhc3ltbWV0cmljIGtleQo+IG9wZXJhdGlvbnMuICBJdCdzIHVuY2xl YXIgd2h5IHRoZXkgZXhpc3QsIGFzIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgaXMgYXZhaWxhYmxl Cj4gaW4gdXNlcnNwYWNlIGNyeXB0byBsaWJyYXJpZXMuCj4KPiBJIHN1cHBvc2UgdGhhdCB0aGUg YmxhbWVkIGNvbW1pdCwgb3IgYXQgbGVhc3QgcGFydCBvZiBpdCwgd2lsbCBuZWVkIHRvIGJlCj4g cmV2ZXJ0ZWQgdG8ga2VlcCB0aGVzZSB3ZWlyZCBrZXljdGxzIHdvcmtpbmcuCj4KPiBGb3IgdGhl IGZ1dHVyZSwgd2h5IGRvZXNuJ3QgaXdkIGp1c3QgdXNlIGEgdXNlcnNwYWNlIGNyeXB0byBsaWJy YXJ5IHN1Y2ggYXMKPiBPcGVuU1NMPwoKSSB3YXMgbm90IGFyb3VuZCB3aGVuIHRoZSBvcmlnaW5h bCBkZWNpc2lvbiB3YXMgbWFkZSwgYnV0IGEgZmV3IHJlYXNvbnMgCkkga25vdyB3ZSBkb24ndCB1 c2Ugb3BlblNTTDoKCiDCoC0gSVdEIGhhcyB2aXJ0dWFsbHkgemVybyBkZXBlbmRlbmNpZXMuCgog wqAtIE9wZW5TU0wgKyBmcmllbmRzIGFyZSByYXRoZXIgbGFyZ2UgbGlicmFyaWVzLgoKIMKgLSBB Rl9BTEcgaGFzIHRyYW5zcGFyZW50IGhhcmR3YXJlIGFjY2VsZXJhdGlvbiAobm90IHN1cmUgaWYg b3BlblNTTCAKZG9lcyB0b28pLgoKQW5vdGhlciBjb25zaWRlcmF0aW9uIGlzIG9uY2UgeW91IHN1 cHBvcnQgb3BlblNTTCBzb21lb25lIHdhbnRzIHdvbGZTU0wsIAp0aGVuIGJvcmluZ1NTTCBldGMu IEV2ZW4gaWYgdXNlcnMgaW1wbGVtZW50IHN1cHBvcnQgaXQganVzdCBiZWNvbWVzIGEgCmh1Z2Ug YnVyZGVuIHRvIGNhcnJ5IGZvciB0aGUgcHJvamVjdC4gSnVzdCBsb29rIGF0IHdwYV9zdXBwbGlj YW50J3MgCnNyYy9jcnlwdG8vIGZvbGRlciwgbmVhcmx5IDQwayBMT0MgaW4gdGhlcmUsIGNvbXBh cmVkIHRvIEVMTCdzIGNyeXB0byAKbW9kdWxlcyB3aGljaCBpcyB+NWsuIFlvdSBoYXZlIHRvIHNv cnQgb3V0IGFsbCB0aGUgbml0dHkgZ3JpdHR5IGRldGFpbHMgCm9mIGVhY2ggbGlicmFyeSwgYW5k IHByb3ZpZGUgYSBjb21tb24gZHJpdmVyL0FQSSBmb3IgdGhlIGNvcmUgY29kZSwgCmRpZmZlcmVu Y2VzIGJldHdlZW4gb3BlbnNzbCB2ZXJzaW9ucywgdGhlIGxpc3QgZ29lcyBvbi4KClRoYW5rcywK CkphbWVzCgoKPgo+IC0gRXJpYwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=