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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 A80BFC4345F for ; Fri, 12 Apr 2024 20:01:04 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rvN4S-0000iw-H8; Fri, 12 Apr 2024 16:00:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rvN4Q-0000iJ-79 for grub-devel@gnu.org; Fri, 12 Apr 2024 16:00:22 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rvN4M-0006BZ-4k for grub-devel@gnu.org; Fri, 12 Apr 2024 16:00:21 -0400 Received: from pps.filterd (m0353723.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43CInK1P010930; Fri, 12 Apr 2024 20:00:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=+aZjlgk+XYIl6+JMXpi6d7tmGO450zibMVvMbL3YHbY=; b=ZBLuFoPYHnM020wt8OJCkHbcHCPYawxkDDRVUEJwZPMzCBsTNlA2PP5ow8yRc6JHycVJ kkLSk47Rml+E0Ph85IhrwRFMDDhft1H2uWB2zVN8xYGbnGApJ3+Nzt8mbsRD35VkIhd7 2vO1VoswE7OiidaWb4Kbw/Z50oQNZLTC3rzzLW40H73mnRJYXXPe5fQaNan7efdCL0sO VcgM1kxp9FPPphluRsPntstEKm4PeiR9ujIKC6Fos/l9ycX7vA7XE/5M4ttz0l4Q0hQw uSFQVFEC2LmIlLfS4YnxS3IlT2r2JwtQzt3MjsEQ6rcb0UqNsAbmUrfbcpn9XW0pcOv8 YQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xf4pg8y2g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 Apr 2024 20:00:14 +0000 Received: from m0353723.ppops.net (m0353723.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 43CK0Dn2023676; Fri, 12 Apr 2024 20:00:13 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xf4pg8y2d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 Apr 2024 20:00:13 +0000 Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 43CJVKKh013557; Fri, 12 Apr 2024 20:00:13 GMT Received: from smtprelay07.dal12v.mail.ibm.com ([172.16.1.9]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3xbgqu45sp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 Apr 2024 20:00:13 +0000 Received: from smtpav01.wdc07v.mail.ibm.com (smtpav01.wdc07v.mail.ibm.com [10.39.53.228]) by smtprelay07.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 43CK0Aeo38994570 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 Apr 2024 20:00:12 GMT Received: from smtpav01.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45C2858089; Fri, 12 Apr 2024 20:00:10 +0000 (GMT) Received: from smtpav01.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A13E258076; Fri, 12 Apr 2024 20:00:08 +0000 (GMT) Received: from [9.47.158.152] (unknown [9.47.158.152]) by smtpav01.wdc07v.mail.ibm.com (Postfix) with ESMTP; Fri, 12 Apr 2024 20:00:08 +0000 (GMT) Message-ID: Date: Fri, 12 Apr 2024 16:00:08 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v11 12/20] cryptodisk: Support key protectors Content-Language: en-US To: The development of GNU GRUB Cc: Gary Lin , Hernan Gatta , Daniel Axtens , Daniel Kiper , shkhisti@microsoft.com, jaskaran.khurana@microsoft.com, christopher.co@microsoft.com, daniel.mihai@microsoft.com, jaredz@redhat.com, development@efficientek.com, jejb@linux.ibm.com, mchang@suse.com, patrick.colp@oracle.com References: <20240412084000.4864-1-glin@suse.com> <20240412084000.4864-13-glin@suse.com> From: Stefan Berger In-Reply-To: <20240412084000.4864-13-glin@suse.com> X-TM-AS-GCONF: 00 X-Proofpoint-GUID: a4ZcWmnQSX0tDO5CvCmKdW3UATKv_ccW X-Proofpoint-ORIG-GUID: Zny_MvDkFp14s4LfpkcRN6aNVJTOzOZn X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-12_16,2024-04-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0 adultscore=0 suspectscore=0 clxscore=1015 phishscore=0 mlxlogscore=999 impostorscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404120146 Received-SPF: pass client-ip=148.163.158.5; envelope-from=stefanb@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org CgpPbiA0LzEyLzI0IDA0OjM5LCBHYXJ5IExpbiB2aWEgR3J1Yi1kZXZlbCB3cm90ZToKPiBGcm9t OiBIZXJuYW4gR2F0dGEgPGhlZ2F0dGFAbGludXgubWljcm9zb2Z0LmNvbT4KPiAKPiBBZGQgYSBu ZXcgcGFyYW1ldGVyIHRvIGNyeXB0b21vdW50IHRvIHN1cHBvcnQgdGhlIGtleSBwcm90ZWN0b3Jz IGZyYW1ld29yazogLVAuCj4gVGhlIHBhcmFtZXRlciBpcyB1c2VkIHRvIGF1dG9tYXRpY2FsbHkg cmV0cmlldmUgYSBrZXkgZnJvbSBzcGVjaWZpZWQga2V5Cj4gcHJvdGVjdG9ycy4gVGhlIHBhcmFt ZXRlciBtYXkgYmUgcmVwZWF0ZWQgdG8gc3BlY2lmeSBhbnkgbnVtYmVyIG9mIGtleQo+IHByb3Rl Y3RvcnMuIFRoZXNlIGFyZSB0cmllZCBpbiBvcmRlciB1bnRpbCBvbmUgcHJvdmlkZXMgYSB1c2Fi bGUga2V5IGZvciBhbnkKPiBnaXZlbiBkaXNrLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEhlcm5hbiBH YXR0YSA8aGVnYXR0YUBsaW51eC5taWNyb3NvZnQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgQ2hhbmcgPG1jaGFuZ0BzdXNlLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBHYXJ5IExpbiA8Z2xp bkBzdXNlLmNvbT4KPiBSZXZpZXdlZC1ieTogR2xlbm4gV2FzaGJ1cm4gPGRldmVsb3BtZW50QGVm ZmljaWVudGVrLmNvbT4KPiAtLS0KPiAgIE1ha2VmaWxlLnV0aWwuZGVmICAgICAgICAgICB8ICAg MSArCj4gICBncnViLWNvcmUvZGlzay9jcnlwdG9kaXNrLmMgfCAxNzIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tCj4gICBpbmNsdWRlL2dydWIvY3J5cHRvZGlzay5oICAgfCAg MTYgKysrKwo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxNTggaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnV0aWwuZGVmIGIvTWFrZWZpbGUudXRp bC5kZWYKPiBpbmRleCBiNTNhZmIxZDMuLjE5YWQ1YTk2ZiAxMDA2NDQKPiAtLS0gYS9NYWtlZmls ZS51dGlsLmRlZgo+ICsrKyBiL01ha2VmaWxlLnV0aWwuZGVmCj4gQEAgLTQwLDYgKzQwLDcgQEAg bGlicmFyeSA9IHsKPiAgICAgY29tbW9uID0gZ3J1Yi1jb3JlL2Rpc2svbHVrcy5jOwo+ICAgICBj b21tb24gPSBncnViLWNvcmUvZGlzay9sdWtzMi5jOwo+ICAgICBjb21tb24gPSBncnViLWNvcmUv ZGlzay9nZWxpLmM7Cj4gKyAgY29tbW9uID0gZ3J1Yi1jb3JlL2Rpc2sva2V5X3Byb3RlY3Rvci5j Owo+ICAgICBjb21tb24gPSBncnViLWNvcmUvZGlzay9jcnlwdG9kaXNrLmM7Cj4gICAgIGNvbW1v biA9IGdydWItY29yZS9kaXNrL0FGU3BsaXR0ZXIuYzsKPiAgICAgY29tbW9uID0gZ3J1Yi1jb3Jl L2xpYi9wYmtkZjIuYzsKPiBkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5j IGIvZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jCj4gaW5kZXggMjI0NmFmNTFiLi4wY2ExYTVj NGQgMTAwNjQ0Cj4gLS0tIGEvZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jCj4gKysrIGIvZ3J1 Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jCj4gQEAgLTI2LDYgKzI2LDcgQEAKPiAgICNpbmNsdWRl IDxncnViL2ZpbGUuaD4KPiAgICNpbmNsdWRlIDxncnViL3Byb2Nmcy5oPgo+ICAgI2luY2x1ZGUg PGdydWIvcGFydGl0aW9uLmg+Cj4gKyNpbmNsdWRlIDxncnViL2tleV9wcm90ZWN0b3IuaD4KPiAg IAo+ICAgI2lmZGVmIEdSVUJfVVRJTAo+ICAgI2luY2x1ZGUgPGdydWIvZW11L2hvc3RkaXNrLmg+ Cj4gQEAgLTQ0LDcgKzQ1LDggQEAgZW51bQo+ICAgICAgIE9QVElPTl9LRVlGSUxFLAo+ICAgICAg IE9QVElPTl9LRVlGSUxFX09GRlNFVCwKPiAgICAgICBPUFRJT05fS0VZRklMRV9TSVpFLAo+IC0g ICAgT1BUSU9OX0hFQURFUgo+ICsgICAgT1BUSU9OX0hFQURFUiwKPiArICAgIE9QVElPTl9QUk9U RUNUT1IKPiAgICAgfTsKPiAgIAo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBncnViX2FyZ19vcHRp b24gb3B0aW9uc1tdID0KPiBAQCAtNTgsNiArNjAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdy dWJfYXJnX29wdGlvbiBvcHRpb25zW10gPQo+ICAgICAgIHsia2V5ZmlsZS1vZmZzZXQiLCAnTycs IDAsIE5fKCJLZXkgZmlsZSBvZmZzZXQgKGJ5dGVzKSIpLCAwLCBBUkdfVFlQRV9JTlR9LAo+ICAg ICAgIHsia2V5ZmlsZS1zaXplIiwgJ1MnLCAwLCBOXygiS2V5IGZpbGUgZGF0YSBzaXplIChieXRl cykiKSwgMCwgQVJHX1RZUEVfSU5UfSwKPiAgICAgICB7ImhlYWRlciIsICdIJywgMCwgTl8oIlJl YWQgaGVhZGVyIGZyb20gZmlsZSIpLCAwLCBBUkdfVFlQRV9TVFJJTkd9LAo+ICsgICAgeyJwcm90 ZWN0b3IiLCAnUCcsIEdSVUJfQVJHX09QVElPTl9SRVBFQVRBQkxFLAo+ICsgICAgIE5fKCJVbmxv Y2sgdm9sdW1lKHMpIHVzaW5nIGtleSBwcm90ZWN0b3IocykuIiksIDAsIEFSR19UWVBFX1NUUklO R30sCj4gICAgICAgezAsIDAsIDAsIDAsIDAsIDB9Cj4gICAgIH07Cj4gICAKPiBAQCAtMTA2MSw2 ICsxMDY1LDcgQEAgZ3J1Yl9jcnlwdG9kaXNrX3NjYW5fZGV2aWNlX3JlYWwgKGNvbnN0IGNoYXIg Km5hbWUsCj4gICAgIGdydWJfZXJyX3QgcmV0ID0gR1JVQl9FUlJfTk9ORTsKPiAgICAgZ3J1Yl9j cnlwdG9kaXNrX3QgZGV2Owo+ICAgICBncnViX2NyeXB0b2Rpc2tfZGV2X3QgY3I7Cj4gKyAgaW50 IGk7Cj4gICAgIHN0cnVjdCBjcnlwdG9kaXNrX3JlYWRfaG9va19jdHggcmVhZF9ob29rX2RhdGEg PSB7MH07Cj4gICAgIGludCBhc2twYXNzID0gMDsKPiAgICAgY2hhciAqcGFydCA9IE5VTEw7Cj4g QEAgLTExMTMsNDEgKzExMTgsMTEyIEBAIGdydWJfY3J5cHRvZGlza19zY2FuX2RldmljZV9yZWFs IChjb25zdCBjaGFyICpuYW1lLAo+ICAgICAgICAgZ290byBlcnJvcl9ub19jbG9zZTsKPiAgICAg ICBpZiAoIWRldikKPiAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgYnJlYWs7Cj4gKyAgfQo+ICAg Cj4gLSAgICBpZiAoIWNhcmdzLT5rZXlfbGVuKQo+IC0gICAgICB7Cj4gLQkvKiBHZXQgdGhlIHBh c3NwaHJhc2UgZnJvbSB0aGUgdXNlciwgaWYgbm8ga2V5IGRhdGEuICovCj4gLQlhc2twYXNzID0g MTsKPiAtCXBhcnQgPSBncnViX3BhcnRpdGlvbl9nZXRfbmFtZSAoc291cmNlLT5wYXJ0aXRpb24p Owo+IC0JZ3J1Yl9wcmludGZfIChOXygiRW50ZXIgcGFzc3BocmFzZSBmb3IgJXMlcyVzICglcyk6 ICIpLCBzb3VyY2UtPm5hbWUsCj4gLQkJICAgICBzb3VyY2UtPnBhcnRpdGlvbiAhPSBOVUxMID8g IiwiIDogIiIsCj4gLQkJICAgICBwYXJ0ICE9IE5VTEwgPyBwYXJ0IDogTl8oIlVOS05PV04iKSwK PiAtCQkgICAgIGRldi0+dXVpZCk7Cj4gLQlncnViX2ZyZWUgKHBhcnQpOwo+IC0KPiAtCWNhcmdz LT5rZXlfZGF0YSA9IGdydWJfbWFsbG9jIChHUlVCX0NSWVBUT0RJU0tfTUFYX1BBU1NQSFJBU0Up Owo+IC0JaWYgKGNhcmdzLT5rZXlfZGF0YSA9PSBOVUxMKQo+IC0JICBnb3RvIGVycm9yX25vX2Ns b3NlOwo+IC0KPiAtCWlmICghZ3J1Yl9wYXNzd29yZF9nZXQgKChjaGFyICopIGNhcmdzLT5rZXlf ZGF0YSwgR1JVQl9DUllQVE9ESVNLX01BWF9QQVNTUEhSQVNFKSkKPiAtCSAgewo+IC0JICAgIGdy dWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9BUkdVTUVOVCwgInBhc3NwaHJhc2Ugbm90IHN1cHBsaWVk Iik7Cj4gLQkgICAgZ290byBlcnJvcjsKPiAtCSAgfQo+IC0JY2FyZ3MtPmtleV9sZW4gPSBncnVi X3N0cmxlbiAoKGNoYXIgKikgY2FyZ3MtPmtleV9kYXRhKTsKPiAtICAgICAgfQo+ICsgIGlmIChk ZXYgPT0gTlVMTCkKPiArICAgIHsKPiArICAgICAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX01P RFVMRSwKPiArCQkgICJubyBjcnlwdG9kaXNrIG1vZHVsZSBjYW4gaGFuZGxlIHRoaXMgZGV2aWNl Iik7Cj4gKyAgICAgIGdvdG8gZXJyb3Jfbm9fY2xvc2U7Cj4gKyAgICB9Cj4gICAKPiAtICAgIHJl dCA9IGNyLT5yZWNvdmVyX2tleSAoc291cmNlLCBkZXYsIGNhcmdzKTsKPiAtICAgIGlmIChyZXQg IT0gR1JVQl9FUlJfTk9ORSkKPiAtICAgICAgZ290byBlcnJvcjsKPiArICBpZiAoY2FyZ3MtPnBy b3RlY3RvcnMpCj4gKyAgICB7Cj4gKyAgICAgIGZvciAoaSA9IDA7IGNhcmdzLT5wcm90ZWN0b3Jz W2ldOyBpKyspCj4gKwl7Cj4gKwkgIGlmIChjYXJncy0+a2V5X2NhY2hlW2ldLmludmFsaWQpCj4g KwkgICAgY29udGludWU7Cj4gKwo+ICsJICBpZiAoY2FyZ3MtPmtleV9jYWNoZVtpXS5rZXkgPT0g TlVMTCkKPiArCSAgICB7Cj4gKwkgICAgICByZXQgPSBncnViX2tleV9wcm90ZWN0b3JfcmVjb3Zl cl9rZXkgKGNhcmdzLT5wcm90ZWN0b3JzW2ldLAo+ICsJCQkJCQkgICAgJmNhcmdzLT5rZXlfY2Fj aGVbaV0ua2V5LAo+ICsJCQkJCQkgICAgJmNhcmdzLT5rZXlfY2FjaGVbaV0ua2V5X2xlbik7Cj4g KwkgICAgICBpZiAocmV0ICE9IEdSVUJfRVJSX05PTkUpCj4gKwkJewo+ICsJCSAgaWYgKGdydWJf ZXJybm8pCj4gKwkJICAgIHsKPiArCQkgICAgICBncnViX3ByaW50X2Vycm9yICgpOwo+ICsJCSAg ICAgIGdydWJfZXJybm8gPSBHUlVCX0VSUl9OT05FOwo+ICsJCSAgICB9Cj4gKwo+ICsJCSAgZ3J1 Yl9kcHJpbnRmICgiY3J5cHRvZGlzayIsCj4gKwkJCQkiZmFpbGVkIHRvIHJlY292ZXIgYSBrZXkg ZnJvbSBrZXkgcHJvdGVjdG9yICIKPiArCQkJCSIlcywgd2lsbCBub3QgdHJ5IGl0IGFnYWluIGZv ciBhbnkgb3RoZXIgIgo+ICsJCQkJImRpc2tzLCBpZiBhbnksIGR1cmluZyB0aGlzIGludm9jYXRp b24gb2YgIgo+ICsJCQkJImNyeXB0b21vdW50XG4iLAo+ICsJCQkJY2FyZ3MtPnByb3RlY3RvcnNb aV0pOwo+ICsKPiArCQkgIGNhcmdzLT5rZXlfY2FjaGVbaV0uaW52YWxpZCA9IDE7Cj4gKwkJICBj b250aW51ZTsKPiArCQl9Cj4gKwkgICAgfQo+ICsKPiArCSAgY2FyZ3MtPmtleV9kYXRhID0gY2Fy Z3MtPmtleV9jYWNoZVtpXS5rZXk7Cj4gKwkgIGNhcmdzLT5rZXlfbGVuID0gY2FyZ3MtPmtleV9j YWNoZVtpXS5rZXlfbGVuOwo+ICAgCj4gLSAgICByZXQgPSBncnViX2NyeXB0b2Rpc2tfaW5zZXJ0 IChkZXYsIG5hbWUsIHNvdXJjZSk7Cj4gLSAgICBpZiAocmV0ICE9IEdSVUJfRVJSX05PTkUpCj4g KwkgIHJldCA9IGNyLT5yZWNvdmVyX2tleSAoc291cmNlLCBkZXYsIGNhcmdzKTsKPiArCSAgaWYg KHJldCAhPSBHUlVCX0VSUl9OT05FKQo+ICsJICAgIHsKPiArCSAgICAgIHBhcnQgPSBncnViX3Bh cnRpdGlvbl9nZXRfbmFtZSAoc291cmNlLT5wYXJ0aXRpb24pOwo+ICsJICAgICAgZ3J1Yl9kcHJp bnRmICgiY3J5cHRvZGlzayIsCj4gKwkJCSAgICAicmVjb3ZlcmVkIGEga2V5IGZyb20ga2V5IHBy b3RlY3RvciAlcyBidXQgaXQgIgo+ICsJCQkgICAgImZhaWxlZCB0byB1bmxvY2sgJXMlcyVzICgl cylcbiIsCj4gKwkJCSAgICAgY2FyZ3MtPnByb3RlY3RvcnNbaV0sIHNvdXJjZS0+bmFtZSwKPiAr CQkJICAgICBzb3VyY2UtPnBhcnRpdGlvbiAhPSBOVUxMID8gIiwiIDogIiIsCj4gKwkJCSAgICAg cGFydCAhPSBOVUxMID8gcGFydCA6IE5fKCJVTktOT1dOIiksIGRldi0+dXVpZCk7Cj4gKwkgICAg ICAgZ3J1Yl9mcmVlIChwYXJ0KTsKPiArCSAgICAgICBjb250aW51ZTsKPiArCSAgICB9Cj4gKwkg ZWxzZQoKaW5kZW50YXRpb24KClJldmlld2VkLWJ5OiBTdGVmYW4gQmVyZ2VyIDxzdGVmYW5iQGxp bnV4LmlibS5jb20+Cgo+ICsJICAgewo+ICsJICAgICByZXQgPSBncnViX2NyeXB0b2Rpc2tfaW5z ZXJ0IChkZXYsIG5hbWUsIHNvdXJjZSk7Cj4gKwkgICAgIGlmIChyZXQgIT0gR1JVQl9FUlJfTk9O RSkKPiArCSAgICAgICBnb3RvIGVycm9yOwo+ICsJICAgICBnb3RvIGNsZWFudXA7Cj4gKwkgICB9 Cj4gKwl9Cj4gKwo+ICsgICAgICBwYXJ0ID0gZ3J1Yl9wYXJ0aXRpb25fZ2V0X25hbWUgKHNvdXJj ZS0+cGFydGl0aW9uKTsKPiArICAgICAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQUNDRVNTX0RFTklF RCwKPiArCQkgIE5fKCJubyBrZXkgcHJvdGVjdG9yIHByb3ZpZGVkIGEgdXNhYmxlIGtleSBmb3Ig JXMlcyVzICglcykiKSwKPiArCQkgIHNvdXJjZS0+bmFtZSwgc291cmNlLT5wYXJ0aXRpb24gIT0g TlVMTCA/ICIsIiA6ICIiLAo+ICsJCSAgcGFydCAhPSBOVUxMID8gcGFydCA6IE5fKCJVTktOT1dO IiksIGRldi0+dXVpZCk7Cj4gKyAgICAgIGdydWJfZnJlZSAocGFydCk7Cj4gICAgICAgICBnb3Rv IGVycm9yOwo+ICsgICAgfQo+ICsKPiArICBpZiAoIWNhcmdzLT5rZXlfbGVuKQo+ICsgICAgewo+ ICsgICAgICAvKiBHZXQgdGhlIHBhc3NwaHJhc2UgZnJvbSB0aGUgdXNlciwgaWYgbm8ga2V5IGRh dGEuICovCj4gKyAgICAgIGFza3Bhc3MgPSAxOwo+ICsgICAgICBwYXJ0ID0gZ3J1Yl9wYXJ0aXRp b25fZ2V0X25hbWUgKHNvdXJjZS0+cGFydGl0aW9uKTsKPiArICAgICAgZ3J1Yl9wcmludGZfIChO XygiRW50ZXIgcGFzc3BocmFzZSBmb3IgJXMlcyVzICglcyk6ICIpLCBzb3VyY2UtPm5hbWUsCj4g KwkJICAgIHNvdXJjZS0+cGFydGl0aW9uICE9IE5VTEwgPyAiLCIgOiAiIiwKPiArCQkgICAgcGFy dCAhPSBOVUxMID8gcGFydCA6IE5fKCJVTktOT1dOIiksIGRldi0+dXVpZCk7Cj4gKyAgICAgIGdy dWJfZnJlZSAocGFydCk7Cj4gKwo+ICsgICAgICBjYXJncy0+a2V5X2RhdGEgPSBncnViX21hbGxv YyAoR1JVQl9DUllQVE9ESVNLX01BWF9QQVNTUEhSQVNFKTsKPiArICAgICAgaWYgKGNhcmdzLT5r ZXlfZGF0YSA9PSBOVUxMKQo+ICsJZ290byBlcnJvcjsKPiArCj4gKyAgICAgIGlmICghZ3J1Yl9w YXNzd29yZF9nZXQgKChjaGFyICopIGNhcmdzLT5rZXlfZGF0YSwgR1JVQl9DUllQVE9ESVNLX01B WF9QQVNTUEhSQVNFKSkKPiArCXsKPiArCSAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX0FSR1VN RU5ULCAicGFzc3BocmFzZSBub3Qgc3VwcGxpZWQiKTsKPiArCSAgZ290byBlcnJvcjsKPiArCX0K PiArICAgICAgY2FyZ3MtPmtleV9sZW4gPSBncnViX3N0cmxlbiAoKGNoYXIgKikgY2FyZ3MtPmtl eV9kYXRhKTsKPiArICAgIH0KPiArCj4gKyAgcmV0ID0gY3ItPnJlY292ZXJfa2V5IChzb3VyY2Us IGRldiwgY2FyZ3MpOwo+ICsgIGlmIChyZXQgIT0gR1JVQl9FUlJfTk9ORSkKPiArICAgIGdvdG8g ZXJyb3I7Cj4gKwo+ICsgIHJldCA9IGdydWJfY3J5cHRvZGlza19pbnNlcnQgKGRldiwgbmFtZSwg c291cmNlKTsKPiArICBpZiAocmV0ICE9IEdSVUJfRVJSX05PTkUpCj4gKyAgICBnb3RvIGVycm9y Owo+ICAgCj4gLSAgICBnb3RvIGNsZWFudXA7Cj4gLSAgfQo+IC0gIGdydWJfZXJyb3IgKEdSVUJf RVJSX0JBRF9NT0RVTEUsICJubyBjcnlwdG9kaXNrIG1vZHVsZSBjYW4gaGFuZGxlIHRoaXMgZGV2 aWNlIik7Cj4gICAgIGdvdG8gY2xlYW51cDsKPiAgIAo+ICAgIGVycm9yOgo+IEBAIC0xMjU5LDYg KzEzMzUsMjAgQEAgZ3J1Yl9jcnlwdG9kaXNrX3NjYW5fZGV2aWNlIChjb25zdCBjaGFyICpuYW1l LAo+ICAgICByZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkCj4gK2dydWJfY3J5 cHRvZGlza19jbGVhcl9rZXlfY2FjaGUgKHN0cnVjdCBncnViX2NyeXB0b21vdW50X2FyZ3MgKmNh cmdzKQo+ICt7Cj4gKyAgaW50IGk7Cj4gKwo+ICsgIGlmIChjYXJncy0+a2V5X2NhY2hlID09IE5V TEwgfHwgY2FyZ3MtPnByb3RlY3RvcnMgPT0gTlVMTCkKPiArICAgIHJldHVybjsKPiArCj4gKyAg Zm9yIChpID0gMDsgY2FyZ3MtPnByb3RlY3RvcnNbaV07IGkrKykKPiArICAgIGdydWJfZnJlZSAo Y2FyZ3MtPmtleV9jYWNoZVtpXS5rZXkpOwo+ICsKPiArICBncnViX2ZyZWUgKGNhcmdzLT5rZXlf Y2FjaGUpOwo+ICt9Cj4gKwo+ICAgc3RhdGljIGdydWJfZXJyX3QKPiAgIGdydWJfY21kX2NyeXB0 b21vdW50IChncnViX2V4dGNtZF9jb250ZXh0X3QgY3R4dCwgaW50IGFyZ2MsIGNoYXIgKiphcmdz KQo+ICAgewo+IEBAIC0xMjcxLDYgKzEzNjEsMTAgQEAgZ3J1Yl9jbWRfY3J5cHRvbW91bnQgKGdy dWJfZXh0Y21kX2NvbnRleHRfdCBjdHh0LCBpbnQgYXJnYywgY2hhciAqKmFyZ3MpCj4gICAgIGlm IChncnViX2NyeXB0b2Rpc2tfbGlzdCA9PSBOVUxMKQo+ICAgICAgIHJldHVybiBncnViX2Vycm9y IChHUlVCX0VSUl9CQURfTU9EVUxFLCAibm8gY3J5cHRvZGlzayBtb2R1bGVzIGxvYWRlZCIpOwo+ ICAgCj4gKyAgaWYgKHN0YXRlW09QVElPTl9QQVNTV09SRF0uc2V0ICYmIHN0YXRlW09QVElPTl9Q Uk9URUNUT1JdLnNldCkgLyogcGFzc3dvcmQgYW5kIGtleSBwcm90ZWN0b3IgKi8KPiArICAgIHJl dHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfQVJHVU1FTlQsCj4gKwkJICAgICAgICJhIHBh c3N3b3JkIGFuZCBhIGtleSBwcm90ZWN0b3IgY2Fubm90IGJvdGggYmUgc2V0Iik7Cj4gKwo+ICAg ICBpZiAoc3RhdGVbT1BUSU9OX1BBU1NXT1JEXS5zZXQpIC8qIHBhc3N3b3JkICovCj4gICAgICAg ewo+ICAgICAgICAgY2FyZ3Mua2V5X2RhdGEgPSAoZ3J1Yl91aW50OF90ICopIHN0YXRlW09QVElP Tl9QQVNTV09SRF0uYXJnOwo+IEBAIC0xMzYzLDYgKzE0NTcsMTUgQEAgZ3J1Yl9jbWRfY3J5cHRv bW91bnQgKGdydWJfZXh0Y21kX2NvbnRleHRfdCBjdHh0LCBpbnQgYXJnYywgY2hhciAqKmFyZ3Mp Cj4gICAJcmV0dXJuIGdydWJfZXJybm87Cj4gICAgICAgfQo+ICAgCj4gKyAgaWYgKHN0YXRlW09Q VElPTl9QUk9URUNUT1JdLnNldCkgLyoga2V5IHByb3RlY3RvcihzKSAqLwo+ICsgICAgewo+ICsg ICAgICBjYXJncy5rZXlfY2FjaGUgPSBncnViX3phbGxvYyAoc3RhdGVbT1BUSU9OX1BST1RFQ1RP Ul0uc2V0ICogc2l6ZW9mICgqY2FyZ3Mua2V5X2NhY2hlKSk7Cj4gKyAgICAgIGlmIChjYXJncy5r ZXlfY2FjaGUgPT0gTlVMTCkKPiArCXJldHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9PVVRfT0Zf TUVNT1JZLAo+ICsJCQkgICAibm8gbWVtb3J5IGZvciBrZXkgcHJvdGVjdG9yIGtleSBjYWNoZSIp Owo+ICsgICAgICBjYXJncy5wcm90ZWN0b3JzID0gc3RhdGVbT1BUSU9OX1BST1RFQ1RPUl0uYXJn czsKPiArICAgIH0KPiArCj4gICAgIGlmIChzdGF0ZVtPUFRJT05fVVVJRF0uc2V0KSAvKiB1dWlk ICovCj4gICAgICAgewo+ICAgICAgICAgaW50IGZvdW5kX3V1aWQ7Cj4gQEAgLTEzNzEsNiArMTQ3 NCw3IEBAIGdydWJfY21kX2NyeXB0b21vdW50IChncnViX2V4dGNtZF9jb250ZXh0X3QgY3R4dCwg aW50IGFyZ2MsIGNoYXIgKiphcmdzKQo+ICAgICAgICAgZGV2ID0gZ3J1Yl9jcnlwdG9kaXNrX2dl dF9ieV91dWlkIChhcmdzWzBdKTsKPiAgICAgICAgIGlmIChkZXYpCj4gICAJewo+ICsJICBncnVi X2NyeXB0b2Rpc2tfY2xlYXJfa2V5X2NhY2hlICgmY2FyZ3MpOwo+ICAgCSAgZ3J1Yl9kcHJpbnRm ICgiY3J5cHRvZGlzayIsCj4gICAJCQkiYWxyZWFkeSBtb3VudGVkIGFzIGNyeXB0byVsdVxuIiwg ZGV2LT5pZCk7Cj4gICAJICByZXR1cm4gR1JVQl9FUlJfTk9ORTsKPiBAQCAtMTM3OSw2ICsxNDgz LDcgQEAgZ3J1Yl9jbWRfY3J5cHRvbW91bnQgKGdydWJfZXh0Y21kX2NvbnRleHRfdCBjdHh0LCBp bnQgYXJnYywgY2hhciAqKmFyZ3MpCj4gICAgICAgICBjYXJncy5jaGVja19ib290ID0gc3RhdGVb T1BUSU9OX0JPT1RdLnNldDsKPiAgICAgICAgIGNhcmdzLnNlYXJjaF91dWlkID0gYXJnc1swXTsK PiAgICAgICAgIGZvdW5kX3V1aWQgPSBncnViX2RldmljZV9pdGVyYXRlICgmZ3J1Yl9jcnlwdG9k aXNrX3NjYW5fZGV2aWNlLCAmY2FyZ3MpOwo+ICsgICAgICBncnViX2NyeXB0b2Rpc2tfY2xlYXJf a2V5X2NhY2hlICgmY2FyZ3MpOwo+ICAgCj4gICAgICAgICBpZiAoZm91bmRfdXVpZCkKPiAgIAly ZXR1cm4gR1JVQl9FUlJfTk9ORTsKPiBAQCAtMTM5OCw2ICsxNTAzLDcgQEAgZ3J1Yl9jbWRfY3J5 cHRvbW91bnQgKGdydWJfZXh0Y21kX2NvbnRleHRfdCBjdHh0LCBpbnQgYXJnYywgY2hhciAqKmFy Z3MpCj4gICAgICAgewo+ICAgICAgICAgY2FyZ3MuY2hlY2tfYm9vdCA9IHN0YXRlW09QVElPTl9C T09UXS5zZXQ7Cj4gICAgICAgICBncnViX2RldmljZV9pdGVyYXRlICgmZ3J1Yl9jcnlwdG9kaXNr X3NjYW5fZGV2aWNlLCAmY2FyZ3MpOwo+ICsgICAgICBncnViX2NyeXB0b2Rpc2tfY2xlYXJfa2V5 X2NhY2hlICgmY2FyZ3MpOwo+ICAgICAgICAgcmV0dXJuIEdSVUJfRVJSX05PTkU7Cj4gICAgICAg fQo+ICAgICBlbHNlCj4gQEAgLTE0MjEsNiArMTUyNyw3IEBAIGdydWJfY21kX2NyeXB0b21vdW50 IChncnViX2V4dGNtZF9jb250ZXh0X3QgY3R4dCwgaW50IGFyZ2MsIGNoYXIgKiphcmdzKQo+ICAg ICAgICAgZGlzayA9IGdydWJfZGlza19vcGVuIChkaXNrbmFtZSk7Cj4gICAgICAgICBpZiAoIWRp c2spCj4gICAJewo+ICsJICBncnViX2NyeXB0b2Rpc2tfY2xlYXJfa2V5X2NhY2hlICgmY2FyZ3Mp Owo+ICAgCSAgaWYgKGRpc2tsYXN0KQo+ICAgCSAgICAqZGlza2xhc3QgPSAnKSc7Cj4gICAJICBy ZXR1cm4gZ3J1Yl9lcnJubzsKPiBAQCAtMTQzMSwxMiArMTUzOCwxNCBAQCBncnViX2NtZF9jcnlw dG9tb3VudCAoZ3J1Yl9leHRjbWRfY29udGV4dF90IGN0eHQsIGludCBhcmdjLCBjaGFyICoqYXJn cykKPiAgIAl7Cj4gICAJICBncnViX2RwcmludGYgKCJjcnlwdG9kaXNrIiwgImFscmVhZHkgbW91 bnRlZCBhcyBjcnlwdG8lbHVcbiIsIGRldi0+aWQpOwo+ICAgCSAgZ3J1Yl9kaXNrX2Nsb3NlIChk aXNrKTsKPiArCSAgZ3J1Yl9jcnlwdG9kaXNrX2NsZWFyX2tleV9jYWNoZSAoJmNhcmdzKTsKPiAg IAkgIGlmIChkaXNrbGFzdCkKPiAgIAkgICAgKmRpc2tsYXN0ID0gJyknOwo+ICAgCSAgcmV0dXJu IEdSVUJfRVJSX05PTkU7Cj4gICAJfQo+ICAgCj4gICAgICAgICBkZXYgPSBncnViX2NyeXB0b2Rp c2tfc2Nhbl9kZXZpY2VfcmVhbCAoZGlza25hbWUsIGRpc2ssICZjYXJncyk7Cj4gKyAgICAgIGdy dWJfY3J5cHRvZGlza19jbGVhcl9rZXlfY2FjaGUgKCZjYXJncyk7Cj4gICAKPiAgICAgICAgIGdy dWJfZGlza19jbG9zZSAoZGlzayk7Cj4gICAgICAgICBpZiAoZGlza2xhc3QpCj4gQEAgLTE1OTAs NiArMTY5OSw3IEBAIEdSVUJfTU9EX0lOSVQgKGNyeXB0b2Rpc2spCj4gICAgIGNtZCA9IGdydWJf cmVnaXN0ZXJfZXh0Y21kICgiY3J5cHRvbW91bnQiLCBncnViX2NtZF9jcnlwdG9tb3VudCwgMCwK PiAgIAkJCSAgICAgIE5fKCJbIFstcCBwYXNzd29yZF0gfCBbLWsga2V5ZmlsZSIKPiAgIAkJCQkg IiBbLU8ga2V5b2Zmc2V0XSBbLVMga2V5c2l6ZV0gXSBdIFstSCBmaWxlXSIKPiArCQkJCSAiIFst UCBwcm90ZWN0b3IgWy1QIHByb3RlY3RvciAuLi5dXSIKPiAgIAkJCQkgIiA8U09VUkNFfC11IFVV SUR8LWF8LWI+IiksCj4gICAJCQkgICAgICBOXygiTW91bnQgYSBjcnlwdG8gZGV2aWNlLiIpLCBv cHRpb25zKTsKPiAgICAgZ3J1Yl9wcm9jZnNfcmVnaXN0ZXIgKCJsdWtzX3NjcmlwdCIsICZsdWtz X3NjcmlwdCk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi9jcnlwdG9kaXNrLmggYi9pbmNs dWRlL2dydWIvY3J5cHRvZGlzay5oCj4gaW5kZXggZDk0ZGY2OGI2Li4wYjQxZTI0OWUgMTAwNjQ0 Cj4gLS0tIGEvaW5jbHVkZS9ncnViL2NyeXB0b2Rpc2suaAo+ICsrKyBiL2luY2x1ZGUvZ3J1Yi9j cnlwdG9kaXNrLmgKPiBAQCAtNzAsNiArNzAsMTggQEAgdHlwZWRlZiBnY3J5X2Vycl9jb2RlX3QK PiAgICgqZ3J1Yl9jcnlwdG9kaXNrX3Jla2V5X2Z1bmNfdCkgKHN0cnVjdCBncnViX2NyeXB0b2Rp c2sgKmRldiwKPiAgIAkJCQkgZ3J1Yl91aW50NjRfdCB6b25lbm8pOwo+ICAgCj4gK3N0cnVjdCBn cnViX2NyeXB0b21vdW50X2NhY2hlZF9rZXkKPiArewo+ICsgIGdydWJfdWludDhfdCAqa2V5Owo+ ICsgIGdydWJfc2l6ZV90IGtleV9sZW47Cj4gKwo+ICsgIC8qCj4gKyAgICogVGhlIGtleSBwcm90 ZWN0b3IgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY2FjaGUgZW50cnkgZmFpbGVkLCBzbyBhdm9pZCBp dAo+ICsgICAqIGV2ZW4gaWYgdGhlIGNhY2hlZCBlbnRyeSAoYW4gaW5zdGFuY2Ugb2YgdGhpcyBz dHJ1Y3R1cmUpIGlzIGVtcHR5Lgo+ICsgICAqLwo+ICsgIGludCBpbnZhbGlkOwo+ICt9Owo+ICsK PiAgIHN0cnVjdCBncnViX2NyeXB0b21vdW50X2FyZ3MKPiAgIHsKPiAgICAgLyogc2NhbjogRmxh ZyB0byBpbmRpY2F0ZSB0aGF0IG9ubHkgYm9vdGFibGUgdm9sdW1lcyBzaG91bGQgYmUgZGVjcnlw dGVkICovCj4gQEAgLTgxLDYgKzkzLDEwIEBAIHN0cnVjdCBncnViX2NyeXB0b21vdW50X2FyZ3MK PiAgICAgLyogcmVjb3Zlcl9rZXk6IExlbmd0aCBvZiBrZXlfZGF0YSAqLwo+ICAgICBncnViX3Np emVfdCBrZXlfbGVuOwo+ICAgICBncnViX2ZpbGVfdCBoZHJfZmlsZTsKPiArICAvKiByZWNvdmVy X2tleTogTmFtZXMgb2YgdGhlIGtleSBwcm90ZWN0b3JzIHRvIHVzZSAoTlVMTC10ZXJtaW5hdGVk KSAqLwo+ICsgIGNoYXIgKipwcm90ZWN0b3JzOwo+ICsgIC8qIHJlY292ZXJfa2V5OiBLZXkgY2Fj aGUgdG8gYXZvaWQgaW52b2tpbmcgdGhlIHNhbWUga2V5IHByb3RlY3RvciB0d2ljZSAqLwo+ICsg IHN0cnVjdCBncnViX2NyeXB0b21vdW50X2NhY2hlZF9rZXkgKmtleV9jYWNoZTsKPiAgIH07Cj4g ICB0eXBlZGVmIHN0cnVjdCBncnViX2NyeXB0b21vdW50X2FyZ3MgKmdydWJfY3J5cHRvbW91bnRf YXJnc190Owo+ICAgCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpHcnViLWRldmVsIG1haWxpbmcgbGlzdApHcnViLWRldmVsQGdudS5vcmcKaHR0cHM6Ly9s aXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZ3J1Yi1kZXZlbAo=