From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailout01.t-online.de (mailout01.t-online.de [194.25.134.80]) by sourceware.org (Postfix) with ESMTPS id B09E53858419 for ; Sun, 28 Aug 2022 17:33:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B09E53858419 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=t-online.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=t-online.de Received: from fwd82.dcpf.telekom.de (fwd82.aul.t-online.de [10.223.144.108]) by mailout01.t-online.de (Postfix) with SMTP id 3EB1F778F; Sun, 28 Aug 2022 19:33:20 +0200 (CEST) Received: from [192.168.2.101] ([79.230.170.147]) by fwd82.t-online.de with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted) esmtp id 1oSM9v-0qBAOW0; Sun, 28 Aug 2022 19:33:19 +0200 Subject: Re: [PATCH setup] Add new option --chown-admin From: Christian Franke To: Jon Turney , "cygwin-apps@cygwin.com" References: <3096f251-d7ca-073b-d7d7-751b7fe3e8c1@t-online.de> <405df5c6-ce47-0254-ae4d-4a23ff3533d5@dronecode.org.uk> <5b45ccdc-da32-ff11-037f-c00828f397c5@dronecode.org.uk> <32655945-5075-0823-2a1d-b72caa4b7791@t-online.de> <038c3558-b424-3e4b-9de6-bd3eb6147406@t-online.de> <80661301-d584-3af0-e588-1ec10f3b4108@dronecode.org.uk> <9f1a7088-4f4f-999b-3076-be347477c969@t-online.de> Message-ID: Date: Sun, 28 Aug 2022 19:33:18 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.12 MIME-Version: 1.0 In-Reply-To: <9f1a7088-4f4f-999b-3076-be347477c969@t-online.de> Content-Type: multipart/mixed; boundary="------------01B96FA13280F3FA1C8C828F" X-TOI-EXPURGATEID: 150726::1661707999-01452558-72A10562/0/0 CLEAN NORMAL X-TOI-MSGID: 1577600a-57b5-40d3-8747-03afc741e525 X-Spam-Status: No, score=-6.5 required=5.0 tests=BAYES_00,FOREIGN_BODY1,FREEMAIL_FROM,GIT_PATCH_0,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------01B96FA13280F3FA1C8C828F Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit As the 'root_scope' issues are now fixed, here a reworked and enhanced (checkbox, setup.rc entry) version of the original patch from this thread. With the new setting enabled, setup behaves like other install tools when run elevated: The installation is then also protected against accidental modifications by the current user. owner:group assignments of newly installed dirs/files: adm:adm -- "All Users", "[X] Change owner of newly installed files to local Administrator" usr:adm -- "All Users" usr:def -- "Just Me" (usr = user running setup, adm = S-1-5-32-544, def = S-1-5-21-*-513) An alternative for the UI would be a 3rd radio button ("All Users - change owner of newly installed files to local Administrator"), but the checkbox makes this addition IMO more obvious. The new setup.rc setting 'root-scope' is only used to read the chown_admin setting but this could be enhanced, e.g. warn user if root_scope selection differs from previous setup run. The drawback that files generated by postinstall scripts are still owned by current user could be fixed with a perpetual postinstall script. I could provide one for base-files package if desired. -- Regards, Christian --------------01B96FA13280F3FA1C8C828F Content-Type: text/plain; charset=UTF-8; name="0001-Optionally-change-owner-of-installed-files-to-local-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Optionally-change-owner-of-installed-files-to-local-.pa"; filename*1="tch" RnJvbSA2ZDk5NmIzNzdiNGE2YTkwOGZiYjRjMjE3YmRhMjQyNDliNGI1OGMxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RpYW4gRnJhbmtlIDxjaHJpc3RpYW4uZnJh bmtlQHQtb25saW5lLmRlPgpEYXRlOiBTdW4sIDI4IEF1ZyAyMDIyIDE5OjIzOjQ0ICswMjAw ClN1YmplY3Q6IFtQQVRDSF0gT3B0aW9uYWxseSBjaGFuZ2Ugb3duZXIgb2YgaW5zdGFsbGVk IGZpbGVzIHRvIGxvY2FsCiBhZG1pbmlzdHJhdG9yCgpDb3VsZCBiZSBzZWxlY3RlZCB2aWEg bmV3IGNoZWNrYm94IGluIFJvb3QgZGlhbG9nIG9yIHZpYSBuZXcgb3B0aW9uCi0tY2hvd24t YWRtaW4uICBUaGlzIGNob2ljZSBhbmQgdGhlIHJvb3Rfc2NvcGUgYXJlIHN0b3JlZCBpbiBu ZXcKc2V0dXAucmMgZW50cnkgJ3Jvb3Qtc2NvcGUnLgotLS0KIHJlcy9lbi9yZXMucmMgfCAg NiArKysrKy0KIHJlcy9mci9yZXMucmMgfCAgNiArKysrKy0KIHJlc291cmNlLmggICAgfCAg MiArKwogcm9vdC5jYyAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQogd2luMzIuY2MgICAgICB8IDMzICsrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLQogd2luMzIuaCAgICAgICB8ICAyICsrCiA2IGZpbGVzIGNoYW5n ZWQsIDc4IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Jl cy9lbi9yZXMucmMgYi9yZXMvZW4vcmVzLnJjCmluZGV4IGVmNWU4YjEuLjc0ZDNkMGMgMTAw NjQ0Ci0tLSBhL3Jlcy9lbi9yZXMucmMKKysrIGIvcmVzL2VuL3Jlcy5yYwpAQCAtMTA4LDcg KzEwOCwxMCBAQCBCRUdJTgogICAgIENPTlRST0wgICAgICAgICAiSnVzdCAmTWUiLElEQ19S T09UX1VTRVIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgCiAgICAgICAgICAgICAg ICAgICAgIFdTX1RBQlNUT1AsMTMsMTMwLDEzMCw4CiAgICAgTFRFWFQgICAgICAgICAgICJD eWd3aW4gd2lsbCBiZSBhdmFpbGFibGUgdG8gYWxsIHVzZXJzIG9mIHRoZSBzeXN0ZW0uIiwK LSAgICAgICAgICAgICAgICAgICAgSURDX0FMTFVTRVJTX1RFWFQsMjUsMTAxLDMwMCwyOAor ICAgICAgICAgICAgICAgICAgICBJRENfQUxMVVNFUlNfVEVYVCwyNSwxMDAsMzAwLDI4Cisg ICAgQ09OVFJPTCAgICAgICAgICImQ2hhbmdlIG93bmVyIG9mIG5ld2x5IGluc3RhbGxlZCBm aWxlcyB0byBsb2NhbCBBZG1pbmlzdHJhdG9yIiwKKyAgICAgICAgICAgICAgICAgICAgSURD X1JPT1RfQ0hPV05fQURNSU4sIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RP UCwKKyAgICAgICAgICAgICAgICAgICAgMjUsMTExLDMwMCwxNgogICAgIExURVhUICAgICAg ICAgICAiQ3lnd2luIHdpbGwgc3RpbGwgYmUgYXZhaWxhYmxlIHRvIGFsbCB1c2VycywgYnV0 ICIKICAgICAgICAgICAgICAgICAgICAgIkRlc2t0b3AgSWNvbnMsIEN5Z3dpbiBNZW51IEVu dHJpZXMsIGFuZCBpbXBvcnRhbnQgIgogICAgICAgICAgICAgICAgICAgICAiSW5zdGFsbGVy IGluZm9ybWF0aW9uIGFyZSBvbmx5IGF2YWlsYWJsZSB0byB0aGUgY3VycmVudCAiCkBAIC02 NjgsNiArNjcxLDcgQEAgQkVHSU4KICAgICBJRFNfSEVMUFRFWFRfQUxMT1dfVU5TVVBQT1JU RURfV0lORE9XUyAiQWxsb3cgb2xkLCB1bnN1cHBvcnRlZCBXaW5kb3dzIHZlcnNpb25zIgog ICAgIElEU19IRUxQVEVYVF9BUkNIICJBcmNoaXRlY3R1cmUgdG8gaW5zdGFsbCAoeDg2XzY0 IG9yIHg4NikiCiAgICAgSURTX0hFTFBURVhUX0NBVEVHT1JJRVMgIlNwZWNpZnkgY2F0ZWdv cmllcyB0byBpbnN0YWxsIgorICAgIElEU19IRUxQVEVYVF9DSE9XTl9BRE1JTiAiQ2hhbmdl IG93bmVyIG9mIG5ld2x5IGluc3RhbGxlZCBmaWxlcyB0byBsb2NhbCBBZG1pbmlzdHJhdG9y IgogICAgIElEU19IRUxQVEVYVF9DT01QQUNUT1MgIkNvbXByZXNzIGluc3RhbGxlZCBmaWxl cyB3aXRoIENvbXBhY3QgT1MgKHhwcmVzczRrLCB4cHJlc3M4aywgeHByZXNzMTZrLCBsengp IgogICAgIElEU19IRUxQVEVYVF9ERUxFVEVfT1JQSEFOUyAiUmVtb3ZlIG9ycGhhbmVkIHBh Y2thZ2VzIgogICAgIElEU19IRUxQVEVYVF9ESVNBQkxFX0FOVElWSVJVUyAiRGlzYWJsZSBr bm93biBvciBzdXNwZWN0ZWQgYnVnZ3kgYW50aSB2aXJ1cyBzb2Z0d2FyZSBwYWNrYWdlcyBk dXJpbmcgZXhlY3V0aW9uIgpkaWZmIC0tZ2l0IGEvcmVzL2ZyL3Jlcy5yYyBiL3Jlcy9mci9y ZXMucmMKaW5kZXggZDA4MWJiMi4uMjFiYThmOSAxMDA2NDQKLS0tIGEvcmVzL2ZyL3Jlcy5y YworKysgYi9yZXMvZnIvcmVzLnJjCkBAIC0xMDIsNyArMTAyLDEwIEBAIEJFR0lOCiAgICAg Q09OVFJPTCAgICAgICAgICJKdXN0ZSAmTW9pIixJRENfUk9PVF9VU0VSLCJCdXR0b24iLEJT X0FVVE9SQURJT0JVVFRPTiB8CiAgICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMs MTMwLDEzMCw4CiAgICAgTFRFWFQgICAgICAgICAgICJDeWd3aW4gc2VyYSBkaXNwb25pYmxl IHBvdXIgdG91cyBsZXMgdXRpbGlzYXRldXJzLiIsCi0gICAgICAgICAgICAgICAgICAgIElE Q19BTExVU0VSU19URVhULDI1LDEwMSwzMDAsMjgKKyAgICAgICAgICAgICAgICAgICAgSURD X0FMTFVTRVJTX1RFWFQsMjUsMTAwLDMwMCwyOAorICAgIENPTlRST0wgICAgICAgICAiJkNo YW5nZSBvd25lciBvZiBuZXdseSBpbnN0YWxsZWQgZmlsZXMgdG8gbG9jYWwgQWRtaW5pc3Ry YXRvciIsIC8vIFhYWDogbWlzc2luZyB0cmFuc2xhdGlvbgorICAgICAgICAgICAgICAgICAg ICBJRENfUk9PVF9DSE9XTl9BRE1JTiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19U QUJTVE9QLAorICAgICAgICAgICAgICAgICAgICAyNSwxMTEsMzAwLDE2CiAgICAgTFRFWFQg ICAgICAgICAgICJDeWd3aW4gc2VyYSBkaXNwb25pYmxlIHBvdXIgdG91cyBsZXMgdXRpbGlz YXRldXJzICIKICAgICAgICAgICAgICAgICAgICAgIm1haXMgbGVzIGljw7RuZXMgZXQgbGVz IG1lbnVzIHVuaXF1ZW1lbnQgcG91ciBsJ3V0aWxpc2F0ZXVyICIKICAgICAgICAgICAgICAg ICAgICAgImVuIGNvdXJzLiBOZSBzw6lsZWN0aW9ubmVyIHF1ZSBzaSB2b3VzIG4nYXZleiBw YXMgbGVzIGRyb2l0cyAiCkBAIC02NDgsNiArNjUxLDcgQEAgQkVHSU4KICAgICBJRFNfSEVM UFRFWFRfQUxMT1dfVU5TVVBQT1JURURfV0lORE9XUyAiQXV0b3Jpc2VyIGxlcyB2aWVpbGxl cyB2ZXJzaW9ucyBkZSBXaW5kb3dzIgogICAgIElEU19IRUxQVEVYVF9BUkNIICJBcmNoaXRl Y3R1cmUgw6AgaW5zdGFsbGVyICh4ODZfNjQgb3UgeDg2KSIKICAgICBJRFNfSEVMUFRFWFRf Q0FURUdPUklFUyAiU3DDqWNpZmllIGxlcyBjYXTDqWdvcmllcyDDoCBpbnN0YWxsZXIiCisg ICAgLy8gSURTX0hFTFBURVhUX0NIT1dOX0FETUlOICJYWFg6IG1pc3NpbmcgdHJhbnNsYXRp b24iCiAgICAgLy8gSURTX0hFTFBURVhUX0NPTVBBQ1RPUyAiWFhYOiBtaXNzaW5nIHRyYW5z bGF0aW9uIgogICAgIElEU19IRUxQVEVYVF9ERUxFVEVfT1JQSEFOUyAiU3VwcHJpbWVyIGxl cyBwYXF1ZXRzIG9ycGhlbGlucyIKICAgICBJRFNfSEVMUFRFWFRfRElTQUJMRV9BTlRJVklS VVMgIkluaGliZSBsZXMgYW50aS12aXJ1cyBidWdnw6lzIMOgIGwnZXjDqWN1dGlvbiIKZGlm ZiAtLWdpdCBhL3Jlc291cmNlLmggYi9yZXNvdXJjZS5oCmluZGV4IGNmZTg2MGIuLjkxNDQ2 YjYgMTAwNjQ0Ci0tLSBhL3Jlc291cmNlLmgKKysrIGIvcmVzb3VyY2UuaApAQCAtMTU3LDYg KzE1Nyw3IEBACiAjZGVmaW5lIElEU19IRUxQVEVYVF9IRUFERVIgICAgICAgICAgICAgIDE1 NDYKICNkZWZpbmUgSURTX0hFTFBURVhUX0ZPT1RFUiAgICAgICAgICAgICAgMTU0NwogI2Rl ZmluZSBJRFNfSEVMUFRFWFRfTk9fV1JJVEVfUkVHSVNUUlkgICAxNTQ4CisjZGVmaW5lIElE U19IRUxQVEVYVF9DSE9XTl9BRE1JTiAgICAgICAgIDE1NDkKIAogLy8gRGlhbG9ncwogCkBA IC0yOTYsMyArMjk3LDQgQEAKICNkZWZpbmUgSURDX0ZJTEVfSU5VU0VfSEVMUF8wICAgICAg ICAgICAgIDYwNQogI2RlZmluZSBJRENfRklMRV9JTlVTRV9IRUxQXzEgICAgICAgICAgICAg NjA2CiAjZGVmaW5lIElEQ19GSUxFX0lOVVNFX0hFTFBfMiAgICAgICAgICAgICA2MDcKKyNk ZWZpbmUgSURDX1JPT1RfQ0hPV05fQURNSU4gICAgICAgICAgICAgIDYwOApkaWZmIC0tZ2l0 IGEvcm9vdC5jYyBiL3Jvb3QuY2MKaW5kZXggY2NiZDZhZS4uNzY2ZWRjMyAxMDA2NDQKLS0t IGEvcm9vdC5jYworKysgYi9yb290LmNjCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAi cm9vdC5oIgogCiAjaW5jbHVkZSAiTG9nU2luZ2xldG9uLmgiCisjaW5jbHVkZSAiVXNlclNl dHRpbmdzLmgiCiAKICNpbmNsdWRlICJ3aW4zMi5oIgogI2luY2x1ZGUgPHNobG9iai5oPgpA QCAtMzYsOSArMzcsMTEgQEAKICNpbmNsdWRlICJtb3VudC5oIgogI2luY2x1ZGUgInByb3Bz aGVldC5oIgogCisjaW5jbHVkZSAiZ2V0b3B0KysvQm9vbE9wdGlvbi5oIgogI2luY2x1ZGUg ImdldG9wdCsrL1N0cmluZ09wdGlvbi5oIgogCiBTdHJpbmdPcHRpb24gUm9vdE9wdGlvbiAo IiIsICdSJywgInJvb3QiLCBJRFNfSEVMUFRFWFRfUk9PVCwgZmFsc2UpOworc3RhdGljIEJv b2xPcHRpb24gQ2hvd25BZG1pbk9wdGlvbiAoZmFsc2UsICdcMCcsICJjaG93bi1hZG1pbiIs IElEU19IRUxQVEVYVF9DSE9XTl9BRE1JTik7CiAKIHN0YXRpYyBDb250cm9sQWRqdXN0ZXI6 OkNvbnRyb2xJbmZvIFJvb3RDb250cm9sc0luZm9bXSA9IHsKICAgeyBJRENfUk9PVERJUl9H UlAsICAgICAgICAgICAgICBDUF9TVFJFVENILCAgICAgICAgICAgQ1BfVE9QICAgICAgfSwK QEAgLTQ3LDYgKzUwLDcgQEAgc3RhdGljIENvbnRyb2xBZGp1c3Rlcjo6Q29udHJvbEluZm8g Um9vdENvbnRyb2xzSW5mb1tdID0gewogCiAgIHsgSURDX0lOU1RBTExGT1JfR1JQLCAgICAg ICAgICAgQ1BfU1RSRVRDSCwJCUNQX1NUUkVUQ0ggIH0sCiAgIHsgSURDX1JPT1RfU1lTVEVN LCAgICAgICAgICAgICAgQ1BfTEVGVCwgICAgICAgICAgICAgIENQX1RPUCAgICAgIH0sCisg IHsgSURDX1JPT1RfQ0hPV05fQURNSU4sICAgICAgICAgQ1BfTEVGVCwgICAgICAgICAgICAg IENQX1RPUCAgICAgIH0sCiAgIHsgSURDX0FMTFVTRVJTX1RFWFQsICAgICAgICAgICAgQ1Bf U1RSRVRDSCwJCUNQX1RPUCAgICAgIH0sCiAgIHsgSURDX1JPT1RfVVNFUiwgICAgICAgICAg ICAgICAgQ1BfTEVGVCwgICAgICAgICAgICAgIENQX0JPVFRPTSAgIH0sCiAgIHsgSURDX0pV U1RNRV9URVhULCAgICAgICAgICAgICAgQ1BfU1RSRVRDSCwJCUNQX0JPVFRPTSAgIH0sCkBA IC02OSwxNyArNzMsMjAgQEAgUm9vdFBhZ2U6OmNoZWNrX2lmX2VuYWJsZV9uZXh0IChIV05E IGgpCiB9CiAKIHN0YXRpYyB2b2lkCi1sb2FkX2RpYWxvZyAoSFdORCBoKQorbG9hZF9kaWFs b2cgKEhXTkQgaCwgYm9vbCBjaG93bl9hZG1pbikKIHsKICAgcmJzZXQgKGgsIHN1LCByb290 X3Njb3BlKTsKICAgZXNldCAoaCwgSURDX1JPT1RfRElSLCBnZXRfcm9vdF9kaXIgKCkpOwor ICBDaGVja0RsZ0J1dHRvbiAoaCwgSURDX1JPT1RfQ0hPV05fQURNSU4sCisJCSAgKGNob3du X2FkbWluID8gQlNUX0NIRUNLRUQgOiBCU1RfVU5DSEVDS0VEKSk7CiB9CiAKLXN0YXRpYyB2 b2lkCitzdGF0aWMgYm9vbAogc2F2ZV9kaWFsb2cgKEhXTkQgaCkKIHsKICAgcm9vdF9zY29w ZSA9IHJiZ2V0IChoLCBzdSk7CiAgIHNldF9yb290X2RpciAoZWdldFN0cmluZyAoaCwgSURD X1JPT1RfRElSKSk7CisgIHJldHVybiAhIUlzRGxnQnV0dG9uQ2hlY2tlZCAoaCwgSURDX1JP T1RfQ0hPV05fQURNSU4pOwogfQogCiBzdGF0aWMgaW50IENBTExCQUNLCkBAIC0yMjgsNiAr MjM1LDE1IEBAIFJvb3RQYWdlOjpPbk1lc3NhZ2VDbWQgKGludCBpZCwgSFdORCBod25kY3Rs LCBVSU5UIGNvZGUpCiAgICAgY2FzZSBJRENfUk9PVF9ESVI6CiAgICAgY2FzZSBJRENfUk9P VF9TWVNURU06CiAgICAgY2FzZSBJRENfUk9PVF9VU0VSOgorICAgICAgc3dpdGNoIChpZCkK Kwl7CisJY2FzZSBJRENfUk9PVF9TWVNURU06CisJICBFbmFibGVXaW5kb3coR2V0RGxnSXRl bShJRENfUk9PVF9DSE9XTl9BRE1JTiksIFRSVUUpOworCSAgYnJlYWs7CisJY2FzZSBJRENf Uk9PVF9VU0VSOgorCSAgRW5hYmxlV2luZG93KEdldERsZ0l0ZW0oSURDX1JPT1RfQ0hPV05f QURNSU4pLCBGQUxTRSk7CisJICBicmVhazsKKwl9CiAgICAgICBjaGVja19pZl9lbmFibGVf bmV4dCAoR2V0SFdORCAoKSk7CiAgICAgICBicmVhazsKIApAQCAtMjYwLDE4ICsyNzYsMjYg QEAgUm9vdFBhZ2U6Ok9uSW5pdCAoKQogICAgIHJlYWRfbW91bnRzIChzdGQ6OnN0cmluZyAo KSk7CiAgIG9yaWdfcm9vdF9kaXIgPSBnZXRfcm9vdF9kaXIoKTsKIAorICBjb25zdCBjaGFy ICpyb290X3Njb3BlX3NldHRpbmcgPSBVc2VyU2V0dGluZ3M6Omluc3RhbmNlKCkuZ2V0ICgi cm9vdC1zY29wZSIpOworCiAgIGlmICghbnRfc2VjLmlzUnVuQXNBZG1pbigpKQogICAgIHsK ICAgICAgIC8vIGRpc2FibGUgSURDX1JPT1RfU1lTVEVNIGlmIG5vdCBydW5uaW5nIGFzIGFk bWluCiAgICAgICBFbmFibGVXaW5kb3coR2V0RGxnSXRlbShJRENfUk9PVF9TWVNURU0pLCBG QUxTRSk7CisgICAgICBFbmFibGVXaW5kb3coR2V0RGxnSXRlbShJRENfQUxMVVNFUlNfVEVY VCksIEZBTFNFKTsKICAgICAgIHJvb3Rfc2NvcGUgPSBJRENfUk9PVF9VU0VSOwogICAgIH0K ICAgZWxzZQogICAgIHsKKyAgICAgIC8vIEZJWE1FOiBVc2Ugcm9vdF9zY29wZV9zZXR0aW5n IGlmIHNldD8KICAgICAgIHNldF9kZWZhdWx0X3Jvb3Rfc2NvcGUoKTsKICAgICB9CisgIGlm IChyb290X3Njb3BlID09IElEQ19ST09UX1VTRVIpCisgICAgRW5hYmxlV2luZG93KEdldERs Z0l0ZW0oSURDX1JPT1RfQ0hPV05fQURNSU4pLCBGQUxTRSk7CiAKLSAgbG9hZF9kaWFsb2cg KEdldEhXTkQgKCkpOworICBib29sIGNob3duX2FkbWluID0gKENob3duQWRtaW5PcHRpb24g fHwgKHJvb3Rfc2NvcGVfc2V0dGluZworICAgICAgICAgICAgICAgICAgICAgJiYgIXN0cmNt cCAocm9vdF9zY29wZV9zZXR0aW5nLCAiQWxsVXNlcnMsQ2hvd25BZG1pbiIpKSk7CisgIGxv YWRfZGlhbG9nIChHZXRIV05EICgpLCBjaG93bl9hZG1pbik7CiB9CiAKIHZvaWQKQEAgLTI5 MSw3ICszMTUsOSBAQCBSb290UGFnZTo6T25OZXh0ICgpCiB7CiAgIEhXTkQgaCA9IEdldEhX TkQgKCk7CiAKLSAgc2F2ZV9kaWFsb2cgKGgpOworICBib29sIGNob3duX2FkbWluID0gc2F2 ZV9kaWFsb2cgKGgpOworICBpZiAocm9vdF9zY29wZSA9PSBJRENfUk9PVF9VU0VSKQorICAg IGNob3duX2FkbWluID0gZmFsc2U7CiAKICAgaWYgKCFkaXJlY3RvcnlfaXNfYWJzb2x1dGUg KCkpCiAgICAgewpAQCAtMzA3LDEzICszMzMsMjIgQEAgUm9vdFBhZ2U6Ok9uTmV4dCAoKQog ICAgIHJldHVybiAtMTsKIAogICBMb2cgKExPR19QTEFJTikgPDwgInJvb3Q6ICIgPDwgZ2V0 X3Jvb3RfZGlyICgpCi0gICAgPDwgKHJvb3Rfc2NvcGUgPT0gSURDX1JPT1RfVVNFUiA/ICIg dXNlciIgOiAiIHN5c3RlbSIpIDw8IGVuZExvZzsKKyAgICA8PCAocm9vdF9zY29wZSA9PSBJ RENfUk9PVF9VU0VSID8gIiB1c2VyIiA6ICIgc3lzdGVtIikKKyAgICA8PCAoY2hvd25fYWRt aW4gPyAiLGNob3duX2FkbWluIiA6ICIiKSA8PCBlbmRMb2c7CisKKyAgaWYgKGNob3duX2Fk bWluKQorICAgIG50X3NlYy5zZXRBZG1pbkFzT3duZXIgKCk7CisgIGVsc2UKKyAgICBudF9z ZWMuc2V0VXNlckFzT3duZXIgKCk7CiAKICAgaWYgKHJvb3Rfc2NvcGUgPT0gSURDX1JPT1Rf U1lTVEVNKQogICAgIG50X3NlYy5zZXRBZG1pbkdyb3VwICgpOwogICBlbHNlCiAgICAgbnRf c2VjLnJlc2V0UHJpbWFyeUdyb3VwICgpOwogCisgIFVzZXJTZXR0aW5nczo6aW5zdGFuY2Uo KS5zZXQoInJvb3Qtc2NvcGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChy b290X3Njb3BlID09IElEQ19ST09UX1VTRVIgPyAiQ3VycmVudFVzZXIiIDoKKwkJCSAgICAg ICBjaG93bl9hZG1pbiA/ICJBbGxVc2VycyxDaG93bkFkbWluIiA6ICJBbGxVc2VycyIpKTsK ICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3dpbjMyLmNjIGIvd2luMzIuY2MKaW5k ZXggZWEzZDUzYS4uNDY3YTFiMiAxMDA2NDQKLS0tIGEvd2luMzIuY2MKKysrIGIvd2luMzIu Y2MKQEAgLTI4MSwxMiArMjgxLDM1IEBAIE5UU2VjdXJpdHk6OnNldEJhY2t1cFByaXZpbGVn ZXMgKCkKICAgICB9CiB9CiAKK3ZvaWQKK05UU2VjdXJpdHk6OnNldFVzZXJBc093bmVyICgp Cit7CisgIGlmIChvd25lclNJRC51c2VyLlVzZXIuU2lkKQorICAgIHsKKyAgICAgIFRPS0VO X09XTkVSIG93bmVyID0geyBvd25lclNJRC51c2VyLlVzZXIuU2lkIH07CisgICAgICBMb2cg KExPR19USU1FU1RBTVApIDw8ICJDaGFuZ2luZyB1aWQgdG8gY3VycmVudCB1c2VyIiA8PCBl bmRMb2c7CisgICAgICBpZiAoIVNldFRva2VuSW5mb3JtYXRpb24gKHRva2VuLnRoZUhBTkRM RSAoKSwgVG9rZW5Pd25lciwgJm93bmVyLAorCQkJCXNpemVvZiBvd25lcikpCisJTm90ZUZh aWxlZEFQSSAoIlNldFRva2VuSW5mb3JtYXRpb24ob3duZXIpIik7CisgICAgfQorfQorCit2 b2lkCitOVFNlY3VyaXR5OjpzZXRBZG1pbkFzT3duZXIgKCkKK3sKKyAgVE9LRU5fT1dORVIg b3duZXIgPSB7IGFkbWluaXN0cmF0b3JzU0lELnRoZVNJRCAoKSB9OworICBMb2cgKExPR19U SU1FU1RBTVApIDw8ICJDaGFuZ2luZyB1aWQgdG8gQWRtaW5pc3RyYXRvciIgPDwgZW5kTG9n OworICBpZiAoIVNldFRva2VuSW5mb3JtYXRpb24gKHRva2VuLnRoZUhBTkRMRSAoKSwgVG9r ZW5Pd25lciwgJm93bmVyLAorCQkJICAgIHNpemVvZiBvd25lcikpCisgICAgTm90ZUZhaWxl ZEFQSSAoIlNldFRva2VuSW5mb3JtYXRpb24ob3duZXIpIik7Cit9CisKIHZvaWQKIE5UU2Vj dXJpdHk6OnJlc2V0UHJpbWFyeUdyb3VwICgpCiB7CiAgIGlmIChwcmltYXJ5R3JvdXBTSUQu cGdycC5QcmltYXJ5R3JvdXApCiAgICAgewotICAgICAgTG9nIChMT0dfVElNRVNUQU1QKSA8 PCAiQ2hhbmdpbmcgZ2lkIGJhY2sgdG8gb3JpZ2luYWwiIDw8IGVuZExvZzsKKyAgICAgIExv ZyAoTE9HX1RJTUVTVEFNUCkgPDwgIkNoYW5naW5nIGdpZCB0byBvcmlnaW5hbCIgPDwgZW5k TG9nOwogICAgICAgaWYgKCFTZXRUb2tlbkluZm9ybWF0aW9uICh0b2tlbi50aGVIQU5ETEUg KCksIFRva2VuUHJpbWFyeUdyb3VwLAogCQkJCSZwcmltYXJ5R3JvdXBTSUQsIHNpemVvZiBw cmltYXJ5R3JvdXBTSUQpKQogCU5vdGVGYWlsZWRBUEkgKCJTZXRUb2tlbkluZm9ybWF0aW9u Iik7CkBAIC0zNDIsMTQgKzM2NSw2IEBAIE5UU2VjdXJpdHk6OnNldERlZmF1bHRTZWN1cml0 eSAoKQogICAgICAgTm90ZUZhaWxlZEFQSSAoIkdldFRva2VuSW5mb3JtYXRpb24odXNlciki KTsKICAgICAgIHJldHVybjsKICAgICB9Ci0gIC8qIE1ha2UgaXQgdGhlIG93bmVyICovCi0g IFRPS0VOX09XTkVSIG93bmVyID0geyBvd25lclNJRC51c2VyLlVzZXIuU2lkIH07Ci0gIGlm ICghU2V0VG9rZW5JbmZvcm1hdGlvbiAodG9rZW4udGhlSEFORExFICgpLCBUb2tlbk93bmVy LCAmb3duZXIsCi0JCQkgICAgc2l6ZW9mIG93bmVyKSkKLSAgICB7Ci0gICAgICBOb3RlRmFp bGVkQVBJICgiU2V0VG9rZW5JbmZvcm1hdGlvbihvd25lcikiKTsKLSAgICAgIHJldHVybjsK LSAgICB9CiAgIC8qIEdldCBvcmlnaW5hbCBwcmltYXJ5IGdyb3VwICovCiAgIGlmICghR2V0 VG9rZW5JbmZvcm1hdGlvbiAodG9rZW4udGhlSEFORExFICgpLCBUb2tlblByaW1hcnlHcm91 cCwKIAkJCSAgICAmcHJpbWFyeUdyb3VwU0lELCBzaXplb2YgcHJpbWFyeUdyb3VwU0lELCAm c2l6ZSkpCmRpZmYgLS1naXQgYS93aW4zMi5oIGIvd2luMzIuaAppbmRleCBiZjNmZjEwLi4x ZDMxZDhjIDEwMDY0NAotLS0gYS93aW4zMi5oCisrKyBiL3dpbjMyLmgKQEAgLTEyNyw2ICsx MjcsOCBAQCBwdWJsaWM6CiAgIFBTRUNVUklUWV9ERVNDUklQVE9SIEdldFBvc2l4UGVybXMg KGNvbnN0IGNoYXIgKmZuYW1lLCBQU0lEIG93bmVyX3NpZCwKIAkJCQkgICAgICBQU0lEIGdy b3VwX3NpZCwgbW9kZV90IG1vZGUsCiAJCQkJICAgICAgU0VDVVJJVFlfREVTQ1JJUFRPUiAm b3V0X3NkLCBhY2xfdCAmYWNsKTsKKyAgdm9pZCBzZXRVc2VyQXNPd25lciAoKTsKKyAgdm9p ZCBzZXRBZG1pbkFzT3duZXIgKCk7CiAgIHZvaWQgcmVzZXRQcmltYXJ5R3JvdXAoKTsKICAg dm9pZCBzZXRBZG1pbkdyb3VwICgpOwogICB2b2lkIGluaXRpYWxpc2VXZWxsS25vd25TSURz ICgpOwotLSAKMi4zNy4xCgo= --------------01B96FA13280F3FA1C8C828F--