From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 09 Aug 2021 10:07:24 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mD0Jg-00039W-Io for lore@lore.pengutronix.de; Mon, 09 Aug 2021 10:07:24 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mD0Jf-0006iF-QZ; Mon, 09 Aug 2021 10:07:23 +0200 Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mD0Ia-00065e-DS; Mon, 09 Aug 2021 10:06:16 +0200 Received: from rhi by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1mD0IZ-0006Al-SB; Mon, 09 Aug 2021 10:06:15 +0200 From: Roland Hieber To: ptxdist@pengutronix.de Date: Mon, 9 Aug 2021 10:06:08 +0200 Message-Id: <20210809080608.23475-5-rhi@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210809080608.23475-1-rhi@pengutronix.de> References: <20210809080608.23475-1-rhi@pengutronix.de> MIME-Version: 1.0 Mail-Followup-To: Roland Hieber , ptxdist@pengutronix.de Subject: [ptxdist] [PATCH v2 5/5] ptxd_lib_code_signing: add key whitelist checks X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Roland Hieber Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false U2lnbmVkLW9mZi1ieTogUm9sYW5kIEhpZWJlciA8cmhpQHBlbmd1dHJvbml4LmRlPgotLS0KUEFU Q0ggdjI6CiAtIGNzX2NoZWNrX3doaXRlbGlzdGVkOiBtYWtlICJuZWVkbGUiICBsb2NhbCB2YXJp YWJsZSAoZmVlZGJhY2sgYnkKICAgTWljaGFlbCBPbGJyaWNoKQogLSBjc19jaGVja193aGl0ZWxp c3RlZDogZXJyb3Igb3V0IHdpdGggRVJST1JfS0VZX05PVF9XSElURUxJU1RFRCBhbHNvCiAgIGlm IHdoaXRlbGlzdCBkb2VzIG5vdCBleGlzdCB5ZXQgKE1pY2hhZWwgT2xicmljaCkKIC0gcmVuYW1l IGNzX2dldF91cmkgdG8gY3NfZ2V0X3VyaV91bmNoZWNrZWQgYW5kIGxldCBjc19nZXRfdXJpIHdy YXAgaXQKICAgaW5zdGVhZCBvZiBzZXR0aW5nIGNzX25vX3doaXRlbGlzdF9jaGVjaz0xIChNaWNo YWVsIE9sYnJpY2gpCiAtIGRvY3M6IHNpbXBsaWZ5IGludHJvZHVjdG9yeSBleGFtcGxlIChNaWNo YWVsIE9sYnJpY2gpCiAtIGRvY3M6IGFkZCBzaG9ydCBwYXJhZ3JhcGggb24gaG93IHRvIGRldGVy bWluZSBmaW5nZXJwcmludHMgb2YgY2VydHMKClBBVENIIHYxOiBodHRwczovL2xvcmUucHR4ZGlz dC5vcmcvcHR4ZGlzdC8KLS0tCiBkb2MvZGV2X2NvZGVfc2lnbmluZy5yc3QgICAgICAgICAgICAg ICAgICB8IDgwICsrKysrKysrKysrKysrKysrKysrKysrCiBwbGF0Zm9ybXMvY29kZS1zaWduaW5n LmluICAgICAgICAgICAgICAgICB8IDIyICsrKysrKysKIHJ1bGVzL3ByZS8wMzAtY29kZS1zaWdu aW5nLWNvbnN1bWVycy5tYWtlIHwgIDYgKysKIHNjcmlwdHMvbGliL3B0eGRfbGliX2NvZGVfc2ln bmluZy5zaCAgICAgIHwgNzEgKysrKysrKysrKysrKysrKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwg MTcyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2Rldl9j b2RlX3NpZ25pbmcucnN0IGIvZG9jL2Rldl9jb2RlX3NpZ25pbmcucnN0CmluZGV4IDQxM2Y2OTQ5 ODBlYi4uMjhlYmUwNTUzNDZlIDEwMDY0NAotLS0gYS9kb2MvZGV2X2NvZGVfc2lnbmluZy5yc3QK KysrIGIvZG9jL2Rldl9jb2RlX3NpZ25pbmcucnN0CkBAIC0xNzIsMyArMTcyLDgzIEBAIGFsc28g dmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLgogICAoYGA9YGAsIG5vdCBgYDo9YGApLgogICBP dGhlcndpc2UgdGhlIHZhcmlhYmxlIGlzIGV4cGFuZGVkIGJlZm9yZSBhIGNvZGUgc2lnbmluZyBw cm92aWRlciBjYW4gcGVyZm9ybQogICBpdHMgc2V0dXAuCisKK0tleSBXaGl0ZWxpc3RpbmcKK35+ fn5+fn5+fn5+fn5+fn4KKworSW4gc29tZSB1c2UgY2FzZXMsIGl0IG1heSBiZSBmZWFzaWJsZSB0 byBkbyBhZGRpdGlvbmFsIGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdAorYSBwYWNrYWdlIHVzZXMg dGhlIGNvcnJlY3Qga2V5IG1hdGVyaWFsLgorRm9yIGV4YW1wbGUsIHN1cHBvc2UgeW91IGhhdmUg YSAicmVsZWFzZSIgY29kZSBzaWduaW5nIHByb3ZpZGVyIHdoaWNoIHlvdSB1c2UKK3RvIHNpZ24g Ym9vdGxvYWRlcnMgZm9yIHByb2R1Y3Rpb24sCithbmQgYSAiZGV2ZWxvcG1lbnQiIGNvZGUgc2ln bmluZyBwcm92aWRlciB3aGljaCB5b3UgdXNlIHRvIHNpZ24gYm9vdGxvYWRlcnMKK3dpdGggYW4g ZXh0ZW5kZWQgZmVhdHVyZSBzZXQsIGUuZy4gdG8gYWxsb3cgYm9vdGluZyBhcmJpdHJhcnkga2Vy bmVscyBhbmQKK3VzZXJsYW5kcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgorWW91ciBwcm9kdWN0 aW9uIGJvYXJkcyBhcmUgbG9ja2VkIGRvd24gaW4gaGFyZHdhcmUgc28gdGhlIFJPTSBjb2RlIG9u bHkKK2V4ZWN1dGVzIGJvb3Rsb2FkZXJzIHNpZ25lZCB3aXRoIHRoZSAicmVsZWFzZSIga2V5Lgor Tm93IHlvdSBkb24ndCB3YW50IGFueSBib290bG9hZGVyIHdpdGggZGVidWdnaW5nIGZlYXR1cmVz IHRvIGJlIHNpZ25lZCB3aXRoIGEKK3JlbGVhc2Uga2V5LCBvdGhlcndpc2Ugc29tZW9uZSBjb3Vs ZCBib290IHRoZW0gb24gYSBsb2NrZWQtZG93biBwcm9kdWN0aW9uCitkZXZpY2UsIGFuZCB1c2Ug dGhlIGFkZGl0aW9uYWwgZGVidWdnaW5nIGZlYXR1cmVzIHRvIGdldCBleHRlbmRlZCBhY2Nlc3Mg dG8gdGhlCitwcm9kdWN0aW9uIGRldmljZS4KK0luIHRoaXMgY2FzZSwga2V5IHdoaXRlbGlzdGlu ZyBjYW4gaGVscCB0byBwcmV2ZW50IHNpZ25pbmcgYm9vdGxvYWRlciBwYWNrYWdlcword2l0aCB0 aGUgd3Jvbmcga2V5LgorCitXaGVuIHRoZSBgYENPREVfU0lHTklOR19SRVFVSVJFX1dISVRFTElT VGBgIGtjb25maWcgc3ltYm9sIGlzIGVuYWJsZWQsCit0aGUgY29uc3VtZXIgZnVuY3Rpb25zIDpy ZWY6YHB0eC9jcy1nZXQtY2FgIGFuZCA6cmVmOmBwdHgvY3MtZ2V0LXVyaWAKK2xvb2sgdXAgdGhl IHRyaXBsZXQgb2YgcGFja2FnZSBuYW1lLCByb2xlIG5hbWUsIGFuZCB0aGUgcHVia2V5J3MgU0hB MjU2CitmaW5nZXJwcmludCBpbiB0aGUgd2hpdGVsaXN0IHdob3NlIGZpbGUgbmFtZSBpcyBkZXRl cm1pbmVkIGJ5IHRoZQorYGBDT0RFX1NJR05JTkdfV0hJVEVMSVNUX0ZJTEVOQU1FYGAga2NvbmZp ZyBzeW1ib2wgKHRoZSBkZWZhdWx0IHBhdGggaXMKK2BgY29uZmlncy9wbGF0Zm9ybS08bmFtZT4v Y29kZS1zaWduaW5nLXdoaXRlbGlzdGBgKS4KK0lmIGEga2V5IG9yIGEgQ0EgaXMgbm90IHdoaXRl bGlzdGVkIGZvciB0aGUgcGFja2FnZSBpbiB3aGljaCBpdCBpcyB0byBiZSB1c2VkLAordGhlIGZ1 bmN0aW9ucyB3aWxsIGV4aXQgd2l0aCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSB0ZXJtaW5hbDo6 CisKKyAgICQgcHR4ZGlzdCAtdiBwcmludCBLRVJORUxfTUFLRV9PUFQKKyAgIHB0eGRpc3Q6IGVy cm9yOiBTUEtJIHdoaXRlbGlzdCByZWNvcmQgJ2tlcm5lbCBrZXJuZWwtbW9kdWxlcworICAgNjlD OUJCQjhCQjRERkFFNzRBQjIxRDA2REZCNUYyQzY3MDY2MzczQUU1NDU0NTMyNzY4NDczNDA4MjJD REYwNCcgbm90IGZvdW5kIGluCisgICBkaXN0cm9raXQvY29uZmlncy9wbGF0Zm9ybS12N2EvY29k ZS1zaWduaW5nLXdoaXRlbGlzdAorCisgICDigKYvcHR4ZGlzdC9ydWxlcy9rZXJuZWwubWFrZTox OTY6ICoqKiBjcy1nZXQtdXJpOiB3aGl0ZWxpc3QgY2hlY2sgZmFpbGVkLCBzZWUgZXJyb3JzIGFi b3ZlLiAgU3RvcC4KKworCitJZiBgYENPREVfU0lHTklOR19SRVFVSVJFX1dISVRFTElTVGBgIGlz IGRpc2FibGVkICh0aGUgZGVmYXVsdCksCithbGwga2V5cyBhbmQgQ0FzIGFyZSBwcm92aWRlZCB0 byBhbGwgcGFja2FnZXMgd2l0aG91dCBmdXJ0aGVyIGNoZWNrcy4KKworVGhlIGZvcm1hdCBvZiB0 aGUgY29kZSBzaWduaW5nIHdoaXRlbGlzdCBjb25zaXN0cyBvZiBvbmUgdHJpcGxldCBwZXIgbGlu ZSwgaW4KK3doaWNoIHRoZSBlbGVtZW50cyBvZiB0aGUgdHJpcGxldCBhcmUgc2VwYXJhdGVkIGJ5 IHdoaXRlc3BhY2UuCitJZiBhIENBIGlzIHRvIGJlIGNoZWNrZWQsIHRoZSByb2xlIG5hbWUgaXMg cHJlZml4ZWQgd2l0aCBhIGxpdGVyYWwgYGBjYTpgYCwKK2FuZCB0aGUgZmluZ2VycHJpbnQgcmVm ZXJzIHRvIHRoZSBwdWJsaWMga2V5IG9mIHRoZSBjZXJ0aWZpY2F0ZS4KK0FsbCBvdGhlciB1bm1h dGNoZWQgbGluZXMgaW4gdGhlIGZpbGUgYXJlIGlnbm9yZWQsIGJ1dCB3ZSBzdWdnZXN0IHRvIHVz ZSBgYCNgYAordG8gc3RhcnQgYSBsaW5lIGNvbW1lbnQgc28gYXMgbm90IHRvIGFkZCBhIHdoaXRl bGlzdCByZWNvcmQgYWNjaWRlbnRhbGx5LgorCitGb3IgZXhhbXBsZSwgaGVyZSBpcyBhIHdoaXRl bGlzdCBmb3IgdXNlIHdpdGggdGhlICpkZXZlbCogY29kZSBwcm92aWRlciB3aGljaAorYWxsb3dz IGFsbCBwcm92aWRlZCBrZXlzIHRvIGJlIHVzZWQgYnkgdGhlaXIgcmVzcGVjdGl2ZSBjb25zdW1l cnM6OgorCisgICAjIGZvcm1hdDogcGFja2FnZS1uYW1lIHJvbGUtbmFtZSBzaGEyNTYtcHVia2V5 LWZpbmdlcnByaW50CisgICBrZXJuZWwgICAgICBrZXJuZWwtbW9kdWxlcyAgIDY5QzlCQkI4QkI0 REZBRTc0QUIyMUQwNkRGQjVGMkM2NzA2NjM3M0FFNTQ1NDUzMjc2ODQ3MzQwODIyQ0RGMDQKKyAg IGltYWdlLXJhdWMgIHVwZGF0ZSAgICAgICAgICAgMDAzNEY4RkU1QURDM0IwREZFNjQyNDA3Mjc1 RDE0NERFMjM5OEM2OENDOUE4NkRENjcwM0Q3MTUxMTE2QjQ0RQorICAgaW1hZ2UtcmF1YyAgY2E6 dXBkYXRlICAgICAgICAwMDM0RjhGRTVBREMzQjBERkU2NDI0MDcyNzVEMTQ0REUyMzk4QzY4Q0M5 QTg2REQ2NzAzRDcxNTExMTZCNDRFCisgICByYXVjICAgICAgICBjYTp1cGRhdGUgICAgICAgIDAw MzRGOEZFNUFEQzNCMERGRTY0MjQwNzI3NUQxNDRERTIzOThDNjhDQzlBODZERDY3MDNENzE1MTEx NkI0NEUKKworLi4gbm90ZTo6IFRoZSBtYXRjaCBpcyBjYXNlLXNlbnNpdGl2ZSwgYW5kIHRoZSBm aW5nZXJwcmludHMgYXJlIGV4cGVjdGVkCisgICBpbiB1cHBlcmNhc2UuCisKKyAgIElmIGEgQ0Eg Y29uc2lzdHMgb2YgbW9yZSB0aGFuIG9uZSBjZXJ0aWZpY2F0ZSwgYWxsIG9mIHRoZWlyIGZpbmdl cnByaW50cworICAgbXVzdCBiZSB3aGl0ZWxpc3RlZC4KKworWW91IGNhbiBkZXRlcm1pbmUgdGhl IGtleSBmaW5nZXJwcmludHMgYnkgY29weWluZyBpdCBmcm9tIHRoZSBlcnJvciBtZXNzYWdlLAor b3Igd2l0aCB0aGUgYHNwa2ktaGFzaGBfXyB0b29sIGZyb20gdGhlIGBgaG9zdC1leHRyYWN0LWNl cnRgYCBwYWNrYWdlLAorb3Igd2l0aCBvcGVuc3NsOjoKKworICAgJCBvcGVuc3NsIHBrZXkgLWlu IGtleWZpbGUucGVtIC1wdWJvdXQgLW91dGZvcm0gZGVyIFwKKyAgICAgfCBvcGVuc3NsIHNoYTI1 NiBcCisgICAgIHwgdHIgJ2EteicgJ0EtWicKKyAgIChTVERJTik9IDY5QzlCQkI4QkI0REZBRTc0 QUIyMUQwNkRGQjVGMkM2NzA2NjM3M0FFNTQ1NDUzMjc2ODQ3MzQwODIyQ0RGMDQKKworb3IsIGlu IHRoZSBjYXNlIG9mIGNlcnRpZmljYXRlczo6CisKKyAgICQgb3BlbnNzbCB4NTA5IC1ub291dCAt aW4gY2VydC5wZW0gLXB1YmtleSBcCisgICAgIHwgb3BlbnNzbCBwa2V5IC1wdWJpbiAtaW5mb3Jt IHBlbSAtcHVib3V0IC1vdXRmb3JtIGRlciBcCisgICAgIHwgb3BlbnNzbCBzaGEyNTYgXAorICAg ICB8IHRyICdhLXonICdBLVonCisgICAoU1RESU4pPSAwMDM0RjhGRTVBREMzQjBERkU2NDI0MDcy NzVEMTQ0REUyMzk4QzY4Q0M5QTg2REQ2NzAzRDcxNTExMTZCNDRFCisKK19fIGh0dHBzOi8vZ2l0 LnBlbmd1dHJvbml4LmRlL2NnaXQvZXh0cmFjdC1jZXJ0L3RyZWUvc3BraS1oYXNoLmMKZGlmZiAt LWdpdCBhL3BsYXRmb3Jtcy9jb2RlLXNpZ25pbmcuaW4gYi9wbGF0Zm9ybXMvY29kZS1zaWduaW5n LmluCmluZGV4IDgxZjllZjZmM2M5ZS4uOTJmNTU1YzdlOTY1IDEwMDY0NAotLS0gYS9wbGF0Zm9y bXMvY29kZS1zaWduaW5nLmluCisrKyBiL3BsYXRmb3Jtcy9jb2RlLXNpZ25pbmcuaW4KQEAgLTIw LDQgKzIwLDI2IEBAIHNvdXJjZSAiZ2VuZXJhdGVkL2NvZGVfc2lnbmluZ19wcm92aWRlci5pbiIK IAogZW5kY2hvaWNlCiAKK2NvbmZpZyBDT0RFX1NJR05JTkdfUkVRVUlSRV9XSElURUxJU1RFRF9L RVlTCisJYm9vbAorCXByb21wdCAicmVxdWlyZSB3aGl0ZWxpc3RlZCBrZXlzIgorCWhlbHAKKwkg IEV2ZXJ5IHRpbWUgYSBrZXkgZnJvbSB0aGUgY29kZSBwcm92aWRlciBpcyB1c2VkLCBjaGVjayBp ZiB0aGUgY29uc3VtZXIKKwkgIGlzIGFsbG93ZWQgdG8gdXNlIGl0LgorCisJICBDb2RlIHNpZ25p bmcgY29uc3VtZXJzIGNhbiBkZXBlbmQgb24gdGhpcyBvcHRpb24gaWYgdGhleSB3YW50IHRvIGZv cmNlCisJICB0aGUga2V5IHdoaXRlbGlzdCBjaGVjay4KKworaWYgQ09ERV9TSUdOSU5HX1JFUVVJ UkVfV0hJVEVMSVNURURfS0VZUworCitjb25maWcgQ09ERV9TSUdOSU5HX1dISVRFTElTVF9GSUxF TkFNRQorCXN0cmluZworCXByb21wdCAid2hpdGVsaXN0IGZpbGUgbmFtZSIKKwlkZWZhdWx0ICJj b2RlLXNpZ25pbmctd2hpdGVsaXN0IgorCWhlbHAKKwkgIFRoaXMgZmlsZSBuYW1lIGlzIHVzZWQg Zm9yIHRoZSBrZXkgd2hpdGVsaXN0LiBUaGUgcGF0aCBpcyByZWxhdGl2ZSB0bworCSAgUFRYRElT VF9QTEFURk9STUNPTkZJR0RJUiAoZS5nLiBjb25maWdzL3BsYXRmb3JtLW5ubi8pLgorCitlbmRp ZiAjIENPREVfU0lHTklOR19SRVFVSVJFX1dISVRFTElTVEVEX0tFWVMKKwogZW5kaWYKZGlmZiAt LWdpdCBhL3J1bGVzL3ByZS8wMzAtY29kZS1zaWduaW5nLWNvbnN1bWVycy5tYWtlIGIvcnVsZXMv cHJlLzAzMC1jb2RlLXNpZ25pbmctY29uc3VtZXJzLm1ha2UKaW5kZXggOTA5ZThlYmQ2OTM2Li5i Y2EwNTg1NDM3MmQgMTAwNjQ0Ci0tLSBhL3J1bGVzL3ByZS8wMzAtY29kZS1zaWduaW5nLWNvbnN1 bWVycy5tYWtlCisrKyBiL3J1bGVzL3ByZS8wMzAtY29kZS1zaWduaW5nLWNvbnN1bWVycy5tYWtl CkBAIC0yOCw2ICsyOCw5IEBAICQoc3RyaXAgXAogCQkkKGNhbGwgcHR4L2NzLWNvbnN1bWVyLWVu diwgJCgxKSlcCiAJCQljc19nZXRfdXJpICckKHN0cmlwICQoMikpJ1wKIAkpXAorCSQoaWYgJChm aWx0ZXItb3V0IDAsJCguU0hFTExTVEFUVVMpKSxcCisJCSQoY2FsbCBwdHgvZXJyb3IsIGNzLWdl dC11cmk6IHdoaXRlbGlzdCBjaGVjayBmYWlsZWQg4oCTIHNlZSBlcnJvcnMgYWJvdmUpXAorCSlc CiApCiBlbmRlZgogCkBAIC00MCw1ICs0Myw4IEBAICQoc3RyaXAgXAogCQkkKGNhbGwgcHR4L2Nz LWNvbnN1bWVyLWVudiwgJCgxKSlcCiAJCQljc19nZXRfY2EgJyQoc3RyaXAgJCgyKSknXAogCSlc CisJJChpZiAkKGZpbHRlci1vdXQgMCwkKC5TSEVMTFNUQVRVUykpLFwKKwkJJChjYWxsIHB0eC9l cnJvciwgY3MtZ2V0LWNhOiB3aGl0ZWxpc3QgY2hlY2sgZmFpbGVkIOKAkyBzZWUgZXJyb3JzIGFi b3ZlKVwKKwkpXAogKQogZW5kZWYKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbGliL3B0eGRfbGliX2Nv ZGVfc2lnbmluZy5zaCBiL3NjcmlwdHMvbGliL3B0eGRfbGliX2NvZGVfc2lnbmluZy5zaAppbmRl eCAyNDczMGQzY2Y3NDIuLmM4NTU4MjFiZDAzOSAxMDA2NDQKLS0tIGEvc2NyaXB0cy9saWIvcHR4 ZF9saWJfY29kZV9zaWduaW5nLnNoCisrKyBiL3NjcmlwdHMvbGliL3B0eGRfbGliX2NvZGVfc2ln bmluZy5zaApAQCAtMSw2ICsxLDcgQEAKICMhL2Jpbi9iYXNoCiAjCiAjIENvcHlyaWdodCAoQykg MjAxOSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CisjIENvcHlyaWdodCAo QykgMjAyMCBKYW4gTHVlYmJlIDxqLmx1ZWJiZUBwZW5ndXRyb25peC5kZT4KICMgQ29weXJpZ2h0 IChDKSAyMDIxIFJvbGFuZCBIaWViZXIsIFBlbmd1dHJvbml4IDxyaGlAcGVuZ3V0cm9uaXguZGU+ CiAjCiAjIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIGFib3V0IHRoZSBQVFhkaXN0IHByb2plY3Qg YW5kIGxpY2Vuc2UgY29uZGl0aW9ucwpAQCAtNzAsNiArNzEsNyBAQCBjc19pbml0X3ZhcmlhYmxl cygpIHsKICAgICBzeXNyb290PSIkKHB0eGRfZ2V0X3B0eGNvbmYgUFRYQ09ORl9TWVNST09UX0hP U1QpIgogICAgIGtleXByb3ZpZGVyPSIkKHB0eGRfZ2V0X3B0eGNvbmYgUFRYQ09ORl9DT0RFX1NJ R05JTkdfUFJPVklERVIpIgogICAgIGtleWRpcj0iJHtzeXNyb290fS92YXIvbGliL2tleXMvJHtr ZXlwcm92aWRlcn0iCisgICAgd2hpdGVsaXN0PSIkKHB0eGRfZ2V0X3B0eGNvbmYgUFRYQ09ORl9D T0RFX1NJR05JTkdfV0hJVEVMSVNUX0ZJTEVOQU1FIHx8IHRydWUpIgogfQogZXhwb3J0IC1mIGNz X2luaXRfdmFyaWFibGVzCiAKQEAgLTE1Nyw2ICsxNTksNDIgQEAgY3NfZ3JvdXBfZ2V0X3JvbGVz KCkgewogfQogZXhwb3J0IC1mIGNzX2dyb3VwX2dldF9yb2xlcwogCisjCisjIGNzX2NoZWNrX3do aXRlbGlzdGVkIDxyb2xlPiA8dXJpL3BlbSBvciBmaW5nZXJwcmludCBwcmVmaXhlZCB3aXRoICJz aGEyNTY6Ij4KKyMKKyMgQ2hlY2tzIGlmIHRoZSBTUEtJIChTdWJqZWN0IFB1YmxpYyBLZXkgSW5m bykgSGFzaCBpcyBpbiB0aGUgd2hpdGVsaXN0CisjCitjc19jaGVja193aGl0ZWxpc3RlZCgpIHsK KyAgICBsb2NhbCByb2xlPSIkezE6LUVSUk9SX1JPTEVfSVNfRU1QVFl9IgorICAgIGxvY2FsIHNy Yz0iJHsyfSIKKyAgICBjc19pbml0X3ZhcmlhYmxlcworCisgICAgaWYgWyAiJChwdHhkX2dldF9w dHhjb25mIFBUWENPTkZfQ09ERV9TSUdOSU5HX1JFUVVJUkVfV0hJVEVMSVNURURfS0VZUykiICE9 ICJ5IiBdOyB0aGVuCisJcmV0dXJuCisgICAgZmkKKworICAgIGlmICEgcHR4ZF9pbl9wYXRoIFBU WERJU1RfUEFUSF9QTEFURk9STUNPTkZJR0RJUiAiJHt3aGl0ZWxpc3R9IjsgdGhlbgorCWVjaG8g RVJST1JfS0VZX05PVF9XSElURUxJU1RFRAorCXB0eGRfYmFpbG91dCAiJHtwa2dfbmFtZX06IFNQ S0kgaGFzaCB3aGl0ZWxpc3QgY2hlY2sgZm9yICR7cm9sZX0gKCR7c3JjfSkgaXMgcmVxdWlyZWQs IGJ1dCBjb25maWdzLzxwbGF0Zm9ybT4vJHt3aGl0ZWxpc3R9IGlzIG1pc3NpbmcuIgorICAgIGZp CisgICAgbG9jYWwgd2hpdGVsaXN0X3BhdGg9IiR7cHR4ZF9yZXBseX0iCisKKyAgICBsb2NhbCBo YXNoCisgICAgaWYgWyAiJHtzcmMjc2hhMjU2On0iICE9ICIke3NyY30iIF07IHRoZW4KKwloYXNo PSIke3NyYyNzaGEyNTY6fSIKKyAgICBlbHNlCisJaGFzaD0kKHB0eGRfZXhlY19zaWxlbnRfc3Rk ZXJyIHNwa2ktaGFzaCAiJHtzcmN9IikKKyAgICBmaQorICAgIGhhc2g9JHtoYXNoOi1FUlJPUl9I QVNIX0lTX0VNUFRZfQorICAgIGxvY2FsIG5lZWRsZT0iJHtwa2dfbmFtZX1cc1wrJHtyb2xlfVxz XCske2hhc2h9IgorCisgICAgaWYgISBncmVwIC1xIC0tbGluZS1yZWdleHAgIiR7bmVlZGxlfSIg IiR7d2hpdGVsaXN0X3BhdGh9IjsgdGhlbgorCWVjaG8gRVJST1JfS0VZX05PVF9XSElURUxJU1RF RAorCXB0eGRfYmFpbG91dCAiU1BLSSB3aGl0ZWxpc3QgcmVjb3JkICcke3BrZ19uYW1lfSAke3Jv bGV9ICR7aGFzaH0nIG5vdCBmb3VuZCBpbiAkKHB0eGRfcHJpbnRfcGF0aCAiJHt3aGl0ZWxpc3Rf cGF0aH0iKSIKKyAgICBmaQorfQorZXhwb3J0IC1mIGNzX2NoZWNrX3doaXRlbGlzdGVkCisKICMK ICMgY3Nfc2V0X3VyaSA8cm9sZT4gPHVyaT4KICMKQEAgLTE3MSwxMiArMjA5LDggQEAgY3Nfc2V0 X3VyaSgpIHsKIH0KIGV4cG9ydCAtZiBjc19zZXRfdXJpCiAKLSMKLSMgY3NfZ2V0X3VyaSA8cm9s ZT4KLSMKLSMgR2V0IHRoZSB1cmkgZnJvbSBhIHJvbGUKLSMKLWNzX2dldF91cmkoKSB7CisjIGlu dGVybmFsIGhlbHBlciBmb3IgY3NfZ2V0X3VyaQorY3NfZ2V0X3VyaV91bmNoZWNrZWQoKSB7CiAg ICAgaWYgWyAteiAiJHtwa2dfbmFtZX0iIF07IHRoZW4KIAkgICAgZWNobyBFUlJPUl9VTlNVUFBP UlRFRF9DU19BUElfQ0FMTAogCSAgICBwdHhkX2JhaWxvdXQgJyQoc2hlbGwgY3NfZ2V0X3VyaSwg PHJvbGU+KSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIG1ha2UgZmlsZXMuJyBcCkBAIC0xOTgs OCArMjMyLDI0IEBAIGNzX2dldF91cmkoKSB7CiAJICAgIHJldHVybgogCWZpCiAgICAgZmkKKwog ICAgIGNhdCAiJHtrZXlkaXJ9LyR7cm9sZX0vdXJpIgogfQorZXhwb3J0IC1mIGNzX2dldF91cmlf dW5jaGVja2VkCisKKyMKKyMgY3NfZ2V0X3VyaSA8cm9sZT4KKyMKKyMgR2V0IHRoZSB1cmkgZnJv bSBhIHJvbGUKKyMKK2NzX2dldF91cmkoKSB7CisgICAgbG9jYWwgcm9sZT0iJHsxfSIKKyAgICBs b2NhbCB1cmk9JChjc19nZXRfdXJpX3VuY2hlY2tlZCAiJDEiKQorCisgICAgaWYgY3NfY2hlY2tf d2hpdGVsaXN0ZWQgIiR7cm9sZX0iICIke3VyaX0iOyB0aGVuCisJZWNobyAiJHt1cml9IgorICAg IGZpCit9CiBleHBvcnQgLWYgY3NfZ2V0X3VyaQogCiAjCkBAIC0zMjEsNiArMzcxLDkgQEAgY3Nf Z2V0X2NhKCkgewogICAgIGZpCiAKICAgICBpZiBbIC1lICIke2NhfSIgXTsgdGhlbgorCXdoaWxl IHJlYWQgZnA7IGRvCisJICAgIGNzX2NoZWNrX3doaXRlbGlzdGVkICJjYToke3JvbGV9IiAic2hh MjU2OiR7ZnB9IgorCWRvbmUgPCAiJHtrZXlkaXJ9LyR7cm9sZX0vY2EuZmluZ2VycHJpbnRzIgog CWVjaG8gIiR7Y2F9IgogICAgIGZpCiB9CkBAIC0zMzksNiArMzkyLDkgQEAgY3NfYXBwZW5kX2Nh X2Zyb21fcGVtKCkgewogICAgIGNhdCAiJHtwZW19IiA+PiAiJHtrZXlkaXJ9LyR7cm9sZX0vY2Eu cGVtIgogICAgICMgYWRkIG5ldyBsaW5lIGluIGNhc2UgJHtwZW19IGRvZXMgbm90IGVuZCB3aXRo IGFuIEVPTAogICAgIGVjaG8gPj4gIiR7a2V5ZGlyfS8ke3JvbGV9L2NhLnBlbSIKKworICAgIG9w ZW5zc2wgeDUwOSAtaW4gIiR7cGVtfSIgLWluZm9ybSBwZW0gLW5vb3V0IC1wdWJrZXkgfCBcCisJ c3BraS1oYXNoIC9kZXYvc3RkaW4gPj4gIiR7a2V5ZGlyfS8ke3JvbGV9L2NhLmZpbmdlcnByaW50 cyIKIH0KIGV4cG9ydCAtZiBjc19hcHBlbmRfY2FfZnJvbV9wZW0KIApAQCAtMzcwLDcgKzQyNiw4 IEBAIGNzX2FwcGVuZF9jYV9mcm9tX3VyaSgpIHsKICAgICBjc19pbml0X3ZhcmlhYmxlcwogCiAg ICAgaWYgWyAteiAiJHt1cml9IiBdOyB0aGVuCi0JdXJpPSQoY3NfZ2V0X3VyaSAiJHtyb2xlfSIp CisJIyBjc19hcHBlbmRfY2FfZnJvbV9kZXIgd2lsbCBjaGVjayB0aGlzIGxhdGVyCisJdXJpPSQo Y3NfZ2V0X3VyaV91bmNoZWNrZWQgIiR7cm9sZX0iKQogICAgIGZpCiAKICAgICBwdHhkX2V4ZWMg ZXh0cmFjdC1jZXJ0ICIke3VyaX0iICIke3RtcGRpcn0vY2EuZGVyIiAmJgotLSAKMi4zMC4yCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBt YWlsaW5nIGxpc3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQpUbyB1bnN1YnNjcmliZSwgc2VuZCBh IG1haWwgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIgdG8gcHR4ZGlzdC1yZXF1ZXN0QHBlbmd1 dHJvbml4LmRlCg==