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 64B42C83F09 for ; Wed, 9 Jul 2025 11:49:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uZTIE-0006EQ-Hl; Wed, 09 Jul 2025 07:48:55 -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 1uZTHv-00068w-3D for grub-devel@gnu.org; Wed, 09 Jul 2025 07:48:39 -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 1uZTHo-0006rL-HF for grub-devel@gnu.org; Wed, 09 Jul 2025 07:48:34 -0400 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5696cUbl002178; Wed, 9 Jul 2025 11:48:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=MEhUCRAjRYBdiCV1i q/RfOOa/SYlsFbPMsgDTHJRZX8=; b=djnIv2gsp1PrR2yuGJKd0nBYOc34tqaqM kx1vkcnotZBklPgBTOsQG3+C7gU/cvffyDBO3462772AcdvO6TIl01etyzDT2q8Y ZgEiHdhTQDyFZePniskrUUs53w3C750EA30zzJwt+uqmDHUF7IwctgtkJW/yE1Nd NNUxq36EsGFQaF5XgrmSmqnHNGnigNdwT+GZinVkKxFs8RqtbOc/MrKPkZJOERkO H807jCS3KzVqJMHaPXFvDz5vGqAezpJE684EtGHj9nKl2vyYINvJRyg8oF6xDMPb OTkGeYL9S74MNw6jKKAc8LzKIuDwvpbz1A9dtfTII1xymDS+S6rUw== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 47puqnd44y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 09 Jul 2025 11:48:22 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 569AIoik010807; Wed, 9 Jul 2025 11:48:21 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 47qes08558-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 09 Jul 2025 11:48:21 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 569BmHWV32309608 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 9 Jul 2025 11:48:17 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7AA092004B; Wed, 9 Jul 2025 11:48:17 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BA54C20043; Wed, 9 Jul 2025 11:48:14 +0000 (GMT) Received: from localhost.localdomain (unknown [9.39.27.9]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 9 Jul 2025 11:48:14 +0000 (GMT) From: Sudhakar Kuppusamy To: grub-devel@gnu.org Cc: jan.setjeeilers@oracle.com, julian.klode@canonical.com, mate.kukri@canonical.com, pjones@redhat.com, msuchanek@suse.com, mlewando@redhat.com, nayna@linux.ibm.com, ltcgcw@linux.vnet.ibm.com, ssrish@linux.ibm.com, stefanb@linux.ibm.com, avnish@linux.ibm.com, Sudhakar Kuppusamy , dja@axtens.net, "Alastair D'Silva" , Daniel Kiper Subject: [PATCH v4 07/23] grub-install: Support embedding x509 certificates Date: Wed, 9 Jul 2025 17:15:24 +0530 Message-Id: <20250709114540.58608-8-sudhakar@linux.ibm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250709114540.58608-1-sudhakar@linux.ibm.com> References: <20250709114540.58608-1-sudhakar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=FZ43xI+6 c=1 sm=1 tr=0 ts=686e5706 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=Wb1JkmetP80A:10 a=kA6JbDqgAAAA:8 a=JuTF4qcAAAAA:8 a=VnNF1IyMAAAA:8 a=yPCof4ZbAAAA:8 a=6gLV1H-MzSBbhAshMQIA:9 a=bBOWYmWi5BjVhS_kLNXU:22 a=WlT8qwTXB_Kj6um4hl3b:22 X-Proofpoint-GUID: UzCh3E0S9JLInHy5-fOGZ3OjGtwf3D44 X-Proofpoint-ORIG-GUID: UzCh3E0S9JLInHy5-fOGZ3OjGtwf3D44 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzA5MDEwNiBTYWx0ZWRfX6hLaBc8hcldB nT6cH78X+62TNMkX/H3jTIu5TXs6kPTygBsWSassP7unWqYr4Vqjyi5eKEzu5BiRknvnrZ/q2hc lnhO3DPoHClsOdsZhX69j4QPqKKI/Dsa9AGPgW6I6tiFOctN19XcDW1YO18j80ySP4oeSuFLdVz O7GXU/TchvORaHkEJxcYwjT/wxSq+tlf/iDUcseDsYefCm0srPHHM2OfDliDyYQQWwliWSmyktm 4yPEGmfq98XOa7DuuzEiQJddm0jQ/G2aspcb6qq84X4obq3TU45l3ouLUqz5raUm00YtOUPegUw yDY3VN6mRYVgHL5xVP2uVej1e08Wfy1UUiQkz08zcWxBjHDR85OaRnrE0KOTumeMlxitnhsMDo7 UHqTsbpDbG/xH/T1D98oy3LgTM6W6TVVZxpFbUHOo5wL1WDsIxn+WMXx2VJVKEZLAo0Ebdco X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-09_02,2025-07-08_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=999 clxscore=1015 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507090106 Received-SPF: pass client-ip=148.163.158.5; envelope-from=sudhakar@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org VG8gc3VwcG9ydCB2ZXJpZmljYXRpb24gb2YgYXBwZW5kZWQgc2lnbmF0dXJlcywgd2UgbmVlZCBh IHdheSB0bwplbWJlZCB0aGUgbmVjZXNzYXJ5IHB1YmxpYyBrZXlzLiBFeGlzdGluZyBhcHBlbmRl ZCBzaWduYXR1cmUgc2NoZW1lcwppbiB0aGUgTGludXgga2VybmVsIHVzZSBYLjUwOSBjZXJ0aWZp Y2F0ZXMsIHNvIGFsbG93IGNlcnRpZmljYXRlcyB0bwpiZSBlbWJlZGRlZCBpbiB0aGUgR1JVQiBj b3JlIGltYWdlIGluIHRoZSBzYW1lIHdheSBhcyBQR1Aga2V5cy4KClNpZ25lZC1vZmYtYnk6IEFs YXN0YWlyIEQnU2lsdmEgPGFsYXN0YWlyQGQtc2lsdmEub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYW5p ZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KU2lnbmVkLW9mZi1ieTogU3VkaGFrYXIgS3VwcHVz YW15IDxzdWRoYWthckBsaW51eC5pYm0uY29tPgpSZXZpZXdlZC1ieTogU3RlZmFuIEJlcmdlciA8 c3RlZmFuYkBsaW51eC5pYm0uY29tPgpSZXZpZXdlZC1ieTogQXZuaXNoIENob3VoYW4gPGF2bmlz aEBsaW51eC5pYm0uY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIEtpcGVyIDxkYW5pZWwua2lwZXJA b3JhY2xlLmNvbT4KLS0tCiBpbmNsdWRlL2dydWIva2VybmVsLmggICAgICAgfCAgMSArCiBpbmNs dWRlL2dydWIvdXRpbC9pbnN0YWxsLmggfCAgMyArKysKIHV0aWwvZ3J1Yi1pbnN0YWxsLWNvbW1v bi5jICB8IDE5ICsrKysrKysrKysrKysrKysrLQogdXRpbC9ncnViLW1raW1hZ2UuYyAgICAgICAg IHwgMTIgKysrKysrKysrKystCiB1dGlsL21raW1hZ2UuYyAgICAgICAgICAgICAgfCAzOSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiA1IGZpbGVzIGNoYW5nZWQsIDcxIGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ncnViL2tl cm5lbC5oIGIvaW5jbHVkZS9ncnViL2tlcm5lbC5oCmluZGV4IDg4NTI4OWY1ZC4uOWYzZTIwMzFm IDEwMDY0NAotLS0gYS9pbmNsdWRlL2dydWIva2VybmVsLmgKKysrIGIvaW5jbHVkZS9ncnViL2tl cm5lbC5oCkBAIC0yOSw2ICsyOSw3IEBAIGVudW0KICAgT0JKX1RZUEVfQ09ORklHLAogICBPQkpf VFlQRV9QUkVGSVgsCiAgIE9CSl9UWVBFX0dQR19QVUJLRVksCisgIE9CSl9UWVBFX1g1MDlfUFVC S0VZLAogICBPQkpfVFlQRV9EVEIsCiAgIE9CSl9UWVBFX0RJU0FCTEVfU0hJTV9MT0NLLAogICBP QkpfVFlQRV9ESVNBQkxFX0NMSQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ncnViL3V0aWwvaW5zdGFs bC5oIGIvaW5jbHVkZS9ncnViL3V0aWwvaW5zdGFsbC5oCmluZGV4IDViNmU2NDVjYS4uZDY0ZTE5 NGUzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2dydWIvdXRpbC9pbnN0YWxsLmgKKysrIGIvaW5jbHVk ZS9ncnViL3V0aWwvaW5zdGFsbC5oCkBAIC02OSw2ICs2OSw4IEBACiAgICAgICBOXygiZGlzYWJs ZSBzaGltX2xvY2sgdmVyaWZpZXIiKSwgMCB9LAkJCQlcCiAgIHsgImRpc2FibGUtY2xpIiwgR1JV Ql9JTlNUQUxMX09QVElPTlNfRElTQUJMRV9DTEksIDAsIDAsCQlcCiAgICAgTl8oImRpc2FibGVk IGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgYWNjZXNzIiksIDAgfSwJCQlcCisgIHsgIng1MDlrZXki LCAgICd4JywgTl8oIkZJTEUiKSwgMCwJCQkJCVwKKyAgICAgIE5fKCJlbWJlZCBGSUxFIGFzIGFu IHg1MDkgY2VydGlmaWNhdGUgZm9yIGFwcGVuZGVkIHNpZ25hdHVyZSBjaGVja2luZyIpLCAwfSwg XAogICB7ICJhcHBlbmRlZC1zaWduYXR1cmUtc2l6ZSIsIEdSVUJfSU5TVEFMTF9PUFRJT05TX0FQ UEVOREVEX1NJR05BVFVSRV9TSVpFLCAgXAogICAgICJTSVpFIiwgMCwgTl8oIkFkZCBhIG5vdGUg c2VnbWVudCByZXNlcnZpbmcgU0laRSBieXRlcyBmb3IgYW4gYXBwZW5kZWQgc2lnbmF0dXJlIiks IDF9LCBcCiAgIHsgInZlcmJvc2UiLCAndicsIDAsIDAsCQkJCQkJXApAQCAtMTk2LDYgKzE5OCw3 IEBAIGdydWJfaW5zdGFsbF9nZW5lcmF0ZV9pbWFnZSAoY29uc3QgY2hhciAqZGlyLCBjb25zdCBj aGFyICpwcmVmaXgsCiAJCQkgICAgIGNvbnN0IGNoYXIgKm91dG5hbWUsIGNoYXIgKm1vZHNbXSwK IAkJCSAgICAgY2hhciAqbWVtZGlza19wYXRoLCBjaGFyICoqcHVia2V5X3BhdGhzLAogCQkJICAg ICBzaXplX3QgbnB1YmtleXMsCisJCQkgICAgIGNoYXIgKip4NTA5a2V5X3BhdGhzLCBzaXplX3Qg bng1MDlrZXlzLAogCQkJICAgICBjaGFyICpjb25maWdfcGF0aCwKIAkJCSAgICAgY29uc3Qgc3Ry dWN0IGdydWJfaW5zdGFsbF9pbWFnZV90YXJnZXRfZGVzYyAqaW1hZ2VfdGFyZ2V0LAogCQkJICAg ICBpbnQgbm90ZSwgc2l6ZV90IGFwcHNpZ19zaXplLApkaWZmIC0tZ2l0IGEvdXRpbC9ncnViLWlu c3RhbGwtY29tbW9uLmMgYi91dGlsL2dydWItaW5zdGFsbC1jb21tb24uYwppbmRleCA5NGFmZWJk NTIuLjZlN2JiYTViNCAxMDA2NDQKLS0tIGEvdXRpbC9ncnViLWluc3RhbGwtY29tbW9uLmMKKysr IGIvdXRpbC9ncnViLWluc3RhbGwtY29tbW9uLmMKQEAgLTQ2Myw2ICs0NjMsOCBAQCBoYW5kbGVf aW5zdGFsbF9saXN0IChzdHJ1Y3QgaW5zdGFsbF9saXN0ICppbCwgY29uc3QgY2hhciAqdmFsLAog CiBzdGF0aWMgY2hhciAqKnB1YmtleXM7CiBzdGF0aWMgc2l6ZV90IG5wdWJrZXlzOworc3RhdGlj IGNoYXIgKip4NTA5a2V5czsKK3N0YXRpYyBzaXplX3Qgbng1MDlrZXlzOwogc3RhdGljIGNoYXIg KnNiYXQ7CiBzdGF0aWMgaW50IGRpc2FibGVfc2hpbV9sb2NrOwogc3RhdGljIGdydWJfY29tcHJl c3Npb25fdCBjb21wcmVzc2lvbjsKQEAgLTUxMSw2ICs1MTMsMTAgQEAgZ3J1Yl9pbnN0YWxsX3Bh cnNlIChpbnQga2V5LCBjaGFyICphcmcpCiAgICAgY2FzZSBHUlVCX0lOU1RBTExfT1BUSU9OU19E SVNBQkxFX0NMSToKICAgICAgIGRpc2FibGVfY2xpID0gMTsKICAgICAgIHJldHVybiAxOworICAg IGNhc2UgJ3gnOgorICAgICAgeDUwOWtleXMgPSB4cmVhbGxvYyAoeDUwOWtleXMsIHNpemVvZiAo eDUwOWtleXNbMF0pICogKG54NTA5a2V5cyArIDEpKTsKKyAgICAgIHg1MDlrZXlzW254NTA5a2V5 cysrXSA9IHhzdHJkdXAgKGFyZyk7CisgICAgICByZXR1cm4gMTsKIAogICAgIGNhc2UgR1JVQl9J TlNUQUxMX09QVElPTlNfVkVSQk9TSVRZOgogICAgICAgdmVyYm9zaXR5Kys7CkBAIC02NDksNiAr NjU1LDkgQEAgZ3J1Yl9pbnN0YWxsX21ha2VfaW1hZ2Vfd3JhcF9maWxlIChjb25zdCBjaGFyICpk aXIsIGNvbnN0IGNoYXIgKnByZWZpeCwKICAgZm9yIChwayA9IHB1YmtleXM7IHBrIDwgcHVia2V5 cyArIG5wdWJrZXlzOyBwaysrKQogICAgIHNsZW4gKz0gc2l6ZW9mICgiIC0tcHVia2V5ICcnIikg KyBncnViX3N0cmxlbiAoKnBrKTsKIAorICBmb3IgKHBrID0geDUwOWtleXM7IHBrIDwgeDUwOWtl eXMgKyBueDUwOWtleXM7IHBrKyspCisgICAgc2xlbiArPSBzaXplb2YgKCIgLS14NTA5a2V5ICcn IikgKyBncnViX3N0cmxlbiAoKnBrKTsKKwogICBmb3IgKG1kID0gbW9kdWxlcy5lbnRyaWVzOyAq bWQ7IG1kKyspCiAgICAgc2xlbiArPSBzaXplb2YgKCIgJyciKSArIGdydWJfc3RybGVuICgqbWQp OwogCkBAIC02ODksNiArNjk4LDE0IEBAIGdydWJfaW5zdGFsbF9tYWtlX2ltYWdlX3dyYXBfZmls ZSAoY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpwcmVmaXgsCiAgICAgICAqcCsrID0gJ1wn JzsKICAgICB9CiAKKyAgZm9yIChwayA9IHg1MDlrZXlzOyBwayA8IHg1MDlrZXlzICsgbng1MDlr ZXlzOyBwaysrKQorICAgIHsKKyAgICAgIHAgPSBncnViX3N0cGNweSAocCwgIi0teDUwOWtleSAn Iik7CisgICAgICBwID0gZ3J1Yl9zdHBjcHkgKHAsICpwayk7CisgICAgICAqcCsrID0gJ1wnJzsK KyAgICAgICpwKysgPSAnICc7CisgICAgfQorCiAgIGZvciAobWQgPSBtb2R1bGVzLmVudHJpZXM7 ICptZDsgbWQrKykKICAgICB7CiAgICAgICAqcCsrID0gJyAnOwpAQCAtNzE1LDcgKzczMiw3IEBA IGdydWJfaW5zdGFsbF9tYWtlX2ltYWdlX3dyYXBfZmlsZSAoY29uc3QgY2hhciAqZGlyLCBjb25z dCBjaGFyICpwcmVmaXgsCiAKICAgZ3J1Yl9pbnN0YWxsX2dlbmVyYXRlX2ltYWdlIChkaXIsIHBy ZWZpeCwgZnAsIG91dG5hbWUsCiAJCQkgICAgICAgbW9kdWxlcy5lbnRyaWVzLCBtZW1kaXNrX3Bh dGgsCi0JCQkgICAgICAgcHVia2V5cywgbnB1YmtleXMsIGNvbmZpZ19wYXRoLCB0Z3QsCisJCQkg ICAgICAgcHVia2V5cywgbnB1YmtleXMsICB4NTA5a2V5cywgbng1MDlrZXlzLCBjb25maWdfcGF0 aCwgdGd0LAogCQkJICAgICAgIG5vdGUsIGFwcHNpZ19zaXplLCBjb21wcmVzc2lvbiwgZHRiLCBz YmF0LAogCQkJICAgICAgIGRpc2FibGVfc2hpbV9sb2NrLCBkaXNhYmxlX2NsaSk7CiAgIHdoaWxl IChkYy0tKQpkaWZmIC0tZ2l0IGEvdXRpbC9ncnViLW1raW1hZ2UuYyBiL3V0aWwvZ3J1Yi1ta2lt YWdlLmMKaW5kZXggMGIxNGE5MzYwLi5iNmYxZjIxOWUgMTAwNjQ0Ci0tLSBhL3V0aWwvZ3J1Yi1t a2ltYWdlLmMKKysrIGIvdXRpbC9ncnViLW1raW1hZ2UuYwpAQCAtNzYsNiArNzYsNyBAQCBzdGF0 aWMgc3RydWN0IGFyZ3Bfb3B0aW9uIG9wdGlvbnNbXSA9IHsKICAgeyJjb25maWciLCAgICdjJywg Tl8oIkZJTEUiKSwgMCwgTl8oImVtYmVkIEZJTEUgYXMgYW4gZWFybHkgY29uZmlnIiksIDB9LAog ICAgLyogVFJBTlNMQVRPUlM6ICJlbWJlZCIgaXMgYSB2ZXJiIChjb21tYW5kIGRlc2NyaXB0aW9u KS4gICIqLwogICB7InB1YmtleSIsICAgJ2snLCBOXygiRklMRSIpLCAwLCBOXygiZW1iZWQgRklM RSBhcyBwdWJsaWMga2V5IGZvciBQR1Agc2lnbmF0dXJlIGNoZWNraW5nIiksIDB9LAorICB7Ing1 MDlrZXkiLCAgICAgJ3gnLCBOXygiRklMRSIpLCAwLCBOXygiZW1iZWQgRklMRSBhcyBhbiB4NTA5 IGNlcnRpZmljYXRlIGZvciBhcHBlbmRlZCBzaWduYXR1cmUgY2hlY2tpbmciKSwgMH0sCiAgIC8q IFRSQU5TTEFUT1JTOiBOT1RFIGlzIGEgbmFtZSBvZiBzZWdtZW50LiAgKi8KICAgeyJub3RlIiwg ICAnbicsIDAsIDAsIE5fKCJhZGQgTk9URSBzZWdtZW50IGZvciBDSFJQIElFRUUxMjc1IiksIDB9 LAogICB7Im91dHB1dCIsICAnbycsIE5fKCJGSUxFIiksIDAsIE5fKCJvdXRwdXQgYSBnZW5lcmF0 ZWQgaW1hZ2UgdG8gRklMRSBbZGVmYXVsdD1zdGRvdXRdIiksIDB9LApAQCAtMTI1LDYgKzEyNiw4 IEBAIHN0cnVjdCBhcmd1bWVudHMKICAgY2hhciAqZHRiOwogICBjaGFyICoqcHVia2V5czsKICAg c2l6ZV90IG5wdWJrZXlzOworICBjaGFyICoqeDUwOWtleXM7CisgIHNpemVfdCBueDUwOWtleXM7 CiAgIGNoYXIgKmZvbnQ7CiAgIGNoYXIgKmNvbmZpZzsKICAgY2hhciAqc2JhdDsKQEAgLTIxNiw2 ICsyMTksMTIgQEAgYXJncF9wYXJzZXIgKGludCBrZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bf c3RhdGUgKnN0YXRlKQogICAgICAgYXJndW1lbnRzLT5wdWJrZXlzW2FyZ3VtZW50cy0+bnB1Ymtl eXMrK10gPSB4c3RyZHVwIChhcmcpOwogICAgICAgYnJlYWs7CiAKKyAgICBjYXNlICd4JzoKKyAg ICAgIGFyZ3VtZW50cy0+eDUwOWtleXMgPSB4cmVhbGxvYyAoYXJndW1lbnRzLT54NTA5a2V5cywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChhcmd1bWVudHMt Png1MDlrZXlzWzBdKSAqIChhcmd1bWVudHMtPm54NTA5a2V5cyArIDEpKTsKKyAgICAgIGFyZ3Vt ZW50cy0+eDUwOWtleXNbYXJndW1lbnRzLT5ueDUwOWtleXMrK10gPSB4c3RyZHVwIChhcmcpOwor ICAgICAgYnJlYWs7CisKICAgICBjYXNlICdjJzoKICAgICAgIGlmIChhcmd1bWVudHMtPmNvbmZp ZykKIAlmcmVlIChhcmd1bWVudHMtPmNvbmZpZyk7CkBAIC0zNDYsNyArMzU1LDggQEAgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgZ3J1Yl9pbnN0YWxsX2dlbmVyYXRlX2ltYWdlIChh cmd1bWVudHMuZGlyLCBhcmd1bWVudHMucHJlZml4LCBmcCwKIAkJCSAgICAgICBhcmd1bWVudHMu b3V0cHV0LCBhcmd1bWVudHMubW9kdWxlcywKIAkJCSAgICAgICBhcmd1bWVudHMubWVtZGlzaywg YXJndW1lbnRzLnB1YmtleXMsCi0JCQkgICAgICAgYXJndW1lbnRzLm5wdWJrZXlzLCBhcmd1bWVu dHMuY29uZmlnLAorCQkJICAgICAgIGFyZ3VtZW50cy5ucHVia2V5cywgYXJndW1lbnRzLng1MDlr ZXlzLAorCQkJICAgICAgIGFyZ3VtZW50cy5ueDUwOWtleXMsIGFyZ3VtZW50cy5jb25maWcsCiAJ CQkgICAgICAgYXJndW1lbnRzLmltYWdlX3RhcmdldCwgYXJndW1lbnRzLm5vdGUsCiAJCQkgICAg ICAgYXJndW1lbnRzLmFwcHNpZ19zaXplLAogCQkJICAgICAgIGFyZ3VtZW50cy5jb21wLCBhcmd1 bWVudHMuZHRiLApkaWZmIC0tZ2l0IGEvdXRpbC9ta2ltYWdlLmMgYi91dGlsL21raW1hZ2UuYwpp bmRleCA2MWM0ZTc4ZTIuLmYzNjRhNTcxOCAxMDA2NDQKLS0tIGEvdXRpbC9ta2ltYWdlLmMKKysr IGIvdXRpbC9ta2ltYWdlLmMKQEAgLTg4Myw3ICs4ODMsNyBAQCB2b2lkCiBncnViX2luc3RhbGxf Z2VuZXJhdGVfaW1hZ2UgKGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqcHJlZml4LAogCQkJ ICAgICBGSUxFICpvdXQsIGNvbnN0IGNoYXIgKm91dG5hbWUsIGNoYXIgKm1vZHNbXSwKIAkJCSAg ICAgY2hhciAqbWVtZGlza19wYXRoLCBjaGFyICoqcHVia2V5X3BhdGhzLAotCQkJICAgICBzaXpl X3QgbnB1YmtleXMsIGNoYXIgKmNvbmZpZ19wYXRoLAorCQkJICAgICBzaXplX3QgbnB1YmtleXMs IGNoYXIgKip4NTA5a2V5X3BhdGhzLCBzaXplX3Qgbng1MDlrZXlzLCBjaGFyICpjb25maWdfcGF0 aCwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGdydWJfaW5zdGFsbF9pbWFnZV90YXJnZXRfZGVzYyAq aW1hZ2VfdGFyZ2V0LAogCQkJICAgICBpbnQgbm90ZSwgc2l6ZV90IGFwcHNpZ19zaXplLCBncnVi X2NvbXByZXNzaW9uX3QgY29tcCwgY29uc3QgY2hhciAqZHRiX3BhdGgsCiAJCQkgICAgIGNvbnN0 IGNoYXIgKnNiYXRfcGF0aCwgaW50IGRpc2FibGVfc2hpbV9sb2NrLApAQCAtOTI5LDYgKzkyOSwy NCBAQCBncnViX2luc3RhbGxfZ2VuZXJhdGVfaW1hZ2UgKGNvbnN0IGNoYXIgKmRpciwgY29uc3Qg Y2hhciAqcHJlZml4LAogICAgICAgfQogICB9CiAKKyAgaWYgKG54NTA5a2V5cyAhPSAwICYmIGlt YWdlX3RhcmdldC0+aWQgIT0gSU1BR0VfUFBDKQorICAgIGdydWJfdXRpbF9lcnJvciAoXygieDUw OSBwdWJsaWMga2V5IGNhbiBiZSBzdXBwb3J0IG9ubHkgdG8gYXBwZW5kZWQgc2lnbmF0dXJlIgor ICAgICAgICAgICAgICAgICAgICAgICAiIHdpdGggcG93ZXJwYy1pZWVlMTI3NSBpbWFnZXMiKSk7 CisKKyAgeworICAgIHNpemVfdCBpOworCisgICAgZm9yIChpID0gMDsgaSA8IG54NTA5a2V5czsg aSsrKQorICAgICAgeworICAgICAgICBzaXplX3QgY3VyczsKKworICAgICAgICBjdXJzID0gQUxJ R05fQUREUiAoZ3J1Yl91dGlsX2dldF9pbWFnZV9zaXplICh4NTA5a2V5X3BhdGhzW2ldKSk7Cisg ICAgICAgIGdydWJfdXRpbF9pbmZvICgidGhlIHNpemUgb2YgeDUwOSBwdWJsaWMga2V5ICV1IGlz IDB4JSIgR1JVQl9IT1NUX1BSSXhMT05HX0xPTkcsCisgICAgICAgICAgICAgICAgICAgICAgICAo dW5zaWduZWQpIGksICh1bnNpZ25lZCBsb25nIGxvbmcpIGN1cnMpOworICAgICAgICB0b3RhbF9t b2R1bGVfc2l6ZSArPSBjdXJzICsgc2l6ZW9mIChzdHJ1Y3QgZ3J1Yl9tb2R1bGVfaGVhZGVyKTsK KyAgICAgIH0KKyAgfQorCiAgIGlmIChtZW1kaXNrX3BhdGgpCiAgICAgewogICAgICAgbWVtZGlz a19zaXplID0gQUxJR05fVVAoZ3J1Yl91dGlsX2dldF9pbWFnZV9zaXplIChtZW1kaXNrX3BhdGgp LCA1MTIpOwpAQCAtMTA2NSw2ICsxMDgzLDI1IEBAIGdydWJfaW5zdGFsbF9nZW5lcmF0ZV9pbWFn ZSAoY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpwcmVmaXgsCiAgICAgICB9CiAgIH0KIAor ICB7CisgICAgc2l6ZV90IGk7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbng1MDlrZXlzOyBpKysp CisgICAgICB7CisgICAgICAgIHNpemVfdCBjdXJzOworICAgICAgICBzdHJ1Y3QgZ3J1Yl9tb2R1 bGVfaGVhZGVyICpoZWFkZXI7CisKKyAgICAgICAgY3VycyA9IGdydWJfdXRpbF9nZXRfaW1hZ2Vf c2l6ZSAoeDUwOWtleV9wYXRoc1tpXSk7CisgICAgICAgIGhlYWRlciA9IChzdHJ1Y3QgZ3J1Yl9t b2R1bGVfaGVhZGVyICopIChrZXJuZWxfaW1nICsgb2Zmc2V0KTsKKyAgICAgICAgaGVhZGVyLT50 eXBlID0gZ3J1Yl9ob3N0X3RvX3RhcmdldDMyIChPQkpfVFlQRV9YNTA5X1BVQktFWSk7CisgICAg ICAgIGhlYWRlci0+c2l6ZSA9IGdydWJfaG9zdF90b190YXJnZXQzMiAoY3VycyArIHNpemVvZiAo KmhlYWRlcikpOworCisgICAgICAgIG9mZnNldCArPSBzaXplb2YgKCpoZWFkZXIpOworICAgICAg ICBncnViX3V0aWxfbG9hZF9pbWFnZSAoeDUwOWtleV9wYXRoc1tpXSwga2VybmVsX2ltZyArIG9m ZnNldCk7CisgICAgICAgIG9mZnNldCArPSBBTElHTl9BRERSIChjdXJzKTsKKyAgICAgIH0KKyAg fQorCiAgIGlmIChtZW1kaXNrX3BhdGgpCiAgICAgewogICAgICAgc3RydWN0IGdydWJfbW9kdWxl X2hlYWRlciAqaGVhZGVyOwotLSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBs aXN0CkdydWItZGV2ZWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0 aW5mby9ncnViLWRldmVsCg==