Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lmWLb-00070b-49 for pgsql-hackers@arkaria.postgresql.org; Fri, 28 May 2021 06:51:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lmWLY-0001QF-RD for pgsql-hackers@arkaria.postgresql.org; Fri, 28 May 2021 06:51:52 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lmWLY-0001Q7-GX for pgsql-hackers@lists.postgresql.org; Fri, 28 May 2021 06:51:52 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lmWLP-00041h-SV for pgsql-hackers@postgresql.org; Fri, 28 May 2021 06:51:51 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id A16B36021C; Fri, 28 May 2021 15:51:37 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.2 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_215ae3561d9ac523162b05c387278e38" Content-Transfer-Encoding: 7bit Date: Fri, 28 May 2021 15:51:37 +0900 From: torikoshia To: Dilip Kumar Cc: Bharath Rupireddy , Pgsql Hackers Subject: Re: RFC: Logging plan of the running query In-Reply-To: References: User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: torikoshia@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_215ae3561d9ac523162b05c387278e38 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2021-05-13 21:57, Dilip Kumar wrote: > On Thu, May 13, 2021 at 5:18 PM Dilip Kumar > wrote: >> >> On Thu, May 13, 2021 at 5:15 PM Bharath Rupireddy >> wrote: >> > >> > On Thu, May 13, 2021 at 5:14 PM Dilip Kumar wrote: >> > > >> > > On Thu, May 13, 2021 at 4:16 PM Bharath Rupireddy >> > > wrote: >> > > > >> > > > I'm saying that - currently, queries are logged with LOG level when >> > > > the log_statement GUC is set. The queries might be sent to the >> > > > non-superuser clients. So, your point of "sending the plan to those >> > > > clients is not a good idea from a security perspective" gets violated >> > > > right? Should the log level be changed(in the below code) from "LOG" >> > > > to "LOG_SERVER_ONLY"? I think we can discuss this separately so as not >> > > > to sidetrack the main feature. >> > > > >> > > > /* Log immediately if dictated by log_statement */ >> > > > if (check_log_statement(parsetree_list)) >> > > > { >> > > > ereport(LOG, >> > > > (errmsg("statement: %s", query_string), >> > > > errhidestmt(true), >> > > > errdetail_execute(parsetree_list))); >> > > > >> > > >> > > Yes, that was my exact point, that in this particular code log with >> > > LOG_SERVER_ONLY. >> > > >> > > Like this. >> > > /* Log immediately if dictated by log_statement */ >> > > if (check_log_statement(parsetree_list)) >> > > { >> > > ereport(LOG_SERVER_ONLY, >> > >> > Agree, but let's discuss that in a separate thread. >> >> Did not understand why separate thread? this is part of this thread >> no? but anyways now everyone agreed that we will log with >> LOG_SERVER_ONLY. Modified elevel from LOG to LOG_SERVER_ONLY. I also modified the patch to log JIT Summary and GUC settings information. If there is other useful information to log, I would appreciate it if you could point it out. > Bharat offlist pointed to me that here he was talking about another > log that is logging the query and not specific to this patch, so let's > not discuss this point here. Thanks for sharing the situation! -- Regards, -- Atsushi Torikoshi NTT DATA CORPORATION --=_215ae3561d9ac523162b05c387278e38 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; charset=us-ascii; name=v2-0001-log-running-query-plan.patch Content-Disposition: attachment; filename=v2-0001-log-running-query-plan.patch; size=11740 RnJvbSAwMjI5N2IwMmJiMzA1ZDJiOGI2N2Y4Njk3OWZiOTI1MmVmNWUxMjY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IEZyaSwgMjggTWF5IDIwMjEgMTM6MDY6MDYgKzA5MDAKU3ViamVjdDog W1BBVENIIHYyXSBBZGQgZnVuY3Rpb24gdG8gbG9nIHRoZSB1bnRydW5jYXRlZCBxdWVyeSBzdHJp bmcgYW5kIGl0cwogcGxhbiBmb3IgdGhlIHF1ZXJ5IGN1cnJlbnRseSBydW5uaW5nIG9uIHRoZSBi YWNrZW5kIHdpdGggdGhlIHNwZWNpZmllZAogcHJvY2VzcyBJRC4KCkN1cnJlbnRseSwgd2UgaGF2 ZSB0byB3YWl0IGZvciB0aGUgcXVlcnkgZXhlY3V0aW9uIHRvIGZpbmlzaApiZWZvcmUgd2UgY2hl Y2sgaXRzIHBsYW4uIFRoaXMgaXMgbm90IHNvIGNvbnZlbmllbnQgd2hlbgppbnZlc3RpZ2F0aW5n IGxvbmctcnVubmluZyBxdWVyaWVzIG9uIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzCndoZXJlIHdl IGNhbm5vdCB1c2UgZGVidWdnZXJzLgpUbyBpbXByb3ZlIHRoaXMgc2l0dWF0aW9uLCB0aGlzIHBh dGNoIGFkZHMKcGdfbG9nX2N1cnJlbnRfcGxhbigpIGZ1bmN0aW9uIHRoYXQgcmVxdWVzdHMgdG8g bG9nIHRoZSBwbGFuCm9mIHRoZSBzcGVjaWZpZWQgYmFja2VuZCBwcm9jZXNzLgoKT25seSBzdXBl cnVzZXJzIGFyZSBhbGxvd2VkIHRvIHJlcXVlc3QgdG8gbG9nIHRoZSBwbGFucyBiZWNhdXNlCmFs bG93aW5nIGFueSB1c2VycyB0byBpc3N1ZSB0aGlzIHJlcXVlc3QgYXQgYW4gdW5ib3VuZGVkIHJh dGUKd291bGQgY2F1c2UgbG90cyBvZiBsb2cgbWVzc2FnZXMgYW5kIHdoaWNoIGNhbiBsZWFkIHRv IGRlbmlhbApvZiBzZXJ2aWNlLgoKT24gcmVjZWlwdCBvZiB0aGUgcmVxdWVzdCwgYXQgdGhlIG5l eHQgQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKSwKdGhlIHRhcmdldCBiYWNrZW5kIGxvZ3MgaXRzIHBs YW4gYXQgTE9HX1NFUlZFUl9PTkxZIGxldmVsLCBzbwp0aGF0IHRoZXNlIHBsYW5zIHdpbGwgYXBw ZWFyIGluIHRoZSBzZXJ2ZXIgbG9nIGJ1dCBub3QgYmUgc2VudAp0byB0aGUgY2xpZW50LgotLS0K IGRvYy9zcmMvc2dtbC9mdW5jLnNnbWwgICAgICAgICAgICAgICB8ICAyMSArKysrKwogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvZXhwbGFpbi5jICAgICAgIHwgMTE0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKwogc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY3NpZ25hbC5jIHwgICA0ICsKIHNy Yy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYyAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC91 dGlscy9pbml0L2dsb2JhbHMuYyAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdCAgICAgIHwgICA2ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9leHBsYWluLmggICAg ICAgfCAgIDIgKwogc3JjL2luY2x1ZGUvbWlzY2FkbWluLmggICAgICAgICAgICAgIHwgICAxICsK IHNyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvY3NpZ25hbC5oICAgICB8ICAgMSArCiA5IGZpbGVzIGNo YW5nZWQsIDE1NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2Z1bmMu c2dtbCBiL2RvYy9zcmMvc2dtbC9mdW5jLnNnbWwKaW5kZXggMDhiMDdmNTYxZS4uMzk5ZmExMmFh MiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv ZnVuYy5zZ21sCkBAIC0yNDk0MCw2ICsyNDk0MCwyNyBAQCBTRUxFQ1QgY29sbGF0aW9uIGZvciAo J2ZvbycgQ09MTEFURSAiZGVfREUiKTsKICAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgIDwv cm93PgogCisgICAgICA8cm93PgorICAgICAgIDxlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+CisgICAgICAgIDxpbmRleHRlcm0+CisgICAg ICAgICA8cHJpbWFyeT5wZ19sb2dfY3VycmVudF9wbGFuPC9wcmltYXJ5PgorICAgICAgICA8L2lu ZGV4dGVybT4KKyAgICAgICAgPGZ1bmN0aW9uPnBnX2xvZ19jdXJyZW50X3BsYW48L2Z1bmN0aW9u PiAoIDxwYXJhbWV0ZXI+cGlkPC9wYXJhbWV0ZXI+IDx0eXBlPmludGVnZXI8L3R5cGU+ICkKKyAg ICAgICAgPHJldHVybnZhbHVlPmJvb2xlYW48L3JldHVybnZhbHVlPgorICAgICAgIDwvcGFyYT4K KyAgICAgICA8cGFyYT4KKyAgICAgICAgUmVxdWVzdHMgdG8gbG9nIHRoZSB1bnRydW5jYXRlZCBx dWVyeSBzdHJpbmcgYW5kIGl0cyBwbGFuIGZvcgorICAgICAgICB0aGUgcXVlcnkgY3VycmVudGx5 IHJ1bm5pbmcgb24gdGhlIGJhY2tlbmQgd2l0aCB0aGUgc3BlY2lmaWVkCisgICAgICAgIHByb2Nl c3MgSUQuCisgICAgICAgIFRoZXkgd2lsbCBiZSBsb2dnZWQgYXQgPGxpdGVyYWw+TE9HPC9saXRl cmFsPiBtZXNzYWdlIGxldmVsIGFuZAorICAgICAgICB3aWxsIGFwcGVhciBpbiB0aGUgc2VydmVy IGxvZyBiYXNlZCBvbiB0aGUgbG9nCisgICAgICAgIGNvbmZpZ3VyYXRpb24gc2V0IChTZWUgPHhy ZWYgbGlua2VuZD0icnVudGltZS1jb25maWctbG9nZ2luZyIvPgorICAgICAgICBmb3IgbW9yZSBp bmZvcm1hdGlvbiksIGJ1dCB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjbGllbnQKKyAgICAgICAg cmVnYXJkbGVzcyBvZiA8eHJlZiBsaW5rZW5kPSJndWMtY2xpZW50LW1pbi1tZXNzYWdlcyIvPi4K KyAgICAgICAgT25seSBzdXBlcnVzZXJzIGNhbiByZXF1ZXN0IHRvIGxvZyBwbGFuIG9mIHRoZSBy dW5uaW5nIHF1ZXJ5LgorICAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICAgPC9yb3c+CisKICAg ICAgIDxyb3c+CiAgICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImZ1bmNfc2lnbmF0dXJlIj4KICAgICAgICAgPGluZGV4dGVybT4KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL2V4cGxhaW4uYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V4cGxh aW4uYwppbmRleCA5YTYwODY1ZDE5Li45ZDkzNGYyOGE4IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9leHBsYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXhwbGFpbi5j CkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSAiZXhlY3V0b3Ivbm9kZUhhc2guaCIKICNpbmNs dWRlICJmb3JlaWduL2Zkd2FwaS5oIgogI2luY2x1ZGUgImppdC9qaXQuaCIKKyNpbmNsdWRlICJt aXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9leHRlbnNpYmxlLmgiCiAjaW5jbHVkZSAibm9k ZXMvbWFrZWZ1bmNzLmgiCiAjaW5jbHVkZSAibm9kZXMvbm9kZUZ1bmNzLmgiCkBAIC0yOCw2ICsy OSw4IEBACiAjaW5jbHVkZSAicGFyc2VyL3BhcnNldHJlZS5oIgogI2luY2x1ZGUgInJld3JpdGUv cmV3cml0ZUhhbmRsZXIuaCIKICNpbmNsdWRlICJzdG9yYWdlL2J1Zm1nci5oIgorI2luY2x1ZGUg InN0b3JhZ2UvcHJvY2FycmF5LmgiCisjaW5jbHVkZSAidGNvcC9wcXVlcnkuaCIKICNpbmNsdWRl ICJ0Y29wL3Rjb3Bwcm90LmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRl ICJ1dGlscy9ndWNfdGFibGVzLmgiCkBAIC00OTI4LDMgKzQ5MzEsMTE0IEBAIGVzY2FwZV95YW1s KFN0cmluZ0luZm8gYnVmLCBjb25zdCBjaGFyICpzdHIpCiB7CiAJZXNjYXBlX2pzb24oYnVmLCBz dHIpOwogfQorCisvKgorICogSGFuZGxlTG9nQ3VycmVudFBsYW5JbnRlcnJ1cHQKKyAqCQlIYW5k bGUgcmVjZWlwdCBvZiBhbiBpbnRlcnJ1cHQgaW5kaWNhdGluZyBsb2dnaW5nIHRoZQorICoJCXBs YW4gb2YgYSBjdXJyZW50bHkgcnVubmluZyBxdWVyeS4KKyAqCisgKiBBbGwgdGhlIGFjdHVhbCB3 b3JrIGlzIGRlZmVycmVkIHRvIFByb2Nlc3NMb2dFeHBsYWluSW50ZXJydXB0KCksCisgKiBiZWNh dXNlIHdlIGNhbm5vdCBzYWZlbHkgZW1pdCBhIGxvZyBtZXNzYWdlIGluc2lkZSB0aGUgc2lnbmFs IGhhbmRsZXIuCisgKi8KK3ZvaWQKK0hhbmRsZUxvZ0N1cnJlbnRQbGFuSW50ZXJydXB0KHZvaWQp Cit7CisJSW50ZXJydXB0UGVuZGluZyA9IHRydWU7CisJTG9nQ3VycmVudFBsYW5QZW5kaW5nID0g dHJ1ZTsKKwkvKiBsYXRjaCB3aWxsIGJlIHNldCBieSBwcm9jc2lnbmFsX3NpZ3VzcjFfaGFuZGxl ciAqLworfQorCisvKgorICogUHJvY2Vzc0xvZ0N1cnJlbnRQbGFuSW50ZXJydXB0CisgKiAJCVBl cmZvcm0gbG9nZ2luZyBwbGFuIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyBxdWVyeSBvbiB0aGlz CisgKiAJCWJhY2tlbmQgcHJvY2Vzcy4KKyAqCisgKiBBbnkgYmFja2VuZCB0aGF0IHBhcnRpY2lw YXRlcyBpbiBQcm9jU2lnbmFsIHNpZ25hbGluZyBtdXN0IGFycmFuZ2UgdG8gY2FsbAorICogdGhp cyBmdW5jdGlvbiBpZiB3ZSBzZWUgTG9nQ3VycmVudFBsYW5QZW5kaW5nIHNldC4KKyAqIEl0IGlz IGNhbGxlZCBmcm9tIENIRUNLX0ZPUl9JTlRFUlJVUFRTKCksIHdoaWNoIGlzIGVub3VnaCBiZWNh dXNlIHRoZSB0YXJnZXQKKyAqIHByb2Nlc3MgZm9yIGxvZ2dpbmcgcGxhbiBpcyBhIGJhY2tlbmQu CisgKi8KK3ZvaWQKK1Byb2Nlc3NMb2dDdXJyZW50UGxhbkludGVycnVwdCh2b2lkKQoreworCUV4 cGxhaW5TdGF0ZSAqZXMgPSBOZXdFeHBsYWluU3RhdGUoKTsKKworCUxvZ0N1cnJlbnRQbGFuUGVu ZGluZyA9IGZhbHNlOworCisJZXMtPmZvcm1hdCA9IEVYUExBSU5fRk9STUFUX1RFWFQ7CisJZXMt PnNldHRpbmdzID0gdHJ1ZTsKKworCWlmIChBY3RpdmVQb3J0YWwgJiYgQWN0aXZlUG9ydGFsLT5x dWVyeURlc2MgIT0gTlVMTCkKKwl7CisJCUV4cGxhaW5RdWVyeVRleHQoZXMsIEFjdGl2ZVBvcnRh bC0+cXVlcnlEZXNjKTsKKwkJRXhwbGFpblByaW50UGxhbihlcywgQWN0aXZlUG9ydGFsLT5xdWVy eURlc2MpOworCQlFeHBsYWluUHJpbnRKSVRTdW1tYXJ5KGVzLCBBY3RpdmVQb3J0YWwtPnF1ZXJ5 RGVzYyk7CisKKwkJLyogUmVtb3ZlIGxhc3QgbGluZSBicmVhayAqLworCQlpZiAoZXMtPnN0ci0+ bGVuID4gMCAmJiBlcy0+c3RyLT5kYXRhW2VzLT5zdHItPmxlbiAtIDFdID09ICdcbicpCisJCQll cy0+c3RyLT5kYXRhWy0tZXMtPnN0ci0+bGVuXSA9ICdcMCc7CisKKwkJZXJlcG9ydChMT0dfU0VS VkVSX09OTFksCisJCQkJKGVycm1zZygibG9nZ2luZyBwbGFuIG9mIHRoZSBydW5uaW5nIHF1ZXJ5 IG9uIFBJRCAlZFxuJXMiLAorCQkJCQlNeVByb2NQaWQsCisJCQkJCWVzLT5zdHItPmRhdGEpLAor CQkJCSBlcnJoaWRlc3RtdCh0cnVlKSkpOworCX0KKwllbHNlCisJCWVyZXBvcnQoTE9HX1NFUlZF Ul9PTkxZLAorCQkJCShlcnJtc2coIlBJRCAlZCBpcyBub3QgZXhlY3V0aW5nIHF1ZXJpZXMgbm93 IiwKKwkJCQkJTXlQcm9jUGlkKSkpOworfQorCisvKgorICogcGdfbG9nX2N1cnJlbnRfcGxhbgor ICoJCVNpZ25hbCBhIGJhY2tlbmQgcHJvY2VzcyB0byBsb2cgcGxhbiB0aGUgb2YgcnVubmluZyBx dWVyeS4KKyAqCisgKiBPbmx5IHN1cGVydXNlcnMgYXJlIGFsbG93ZWQgdG8gc2lnbmFsIHRvIGxv ZyBwbGFuIGJlY2F1c2UgYW55IHVzZXJzIHRvCisgKiBpc3N1ZSB0aGlzIHJlcXVlc3QgYXQgYW4g dW5ib3VuZGVkIHJhdGUgd291bGQgY2F1c2UgbG90cyBvZiBsb2cgbWVzc2FnZXMKKyAqIGFuZCB3 aGljaCBjYW4gbGVhZCB0byBkZW5pYWwgb2Ygc2VydmljZS4KKyAqCisgKiBPbiByZWNlaXB0IG9m IHRoaXMgc2lnbmFsLCBhIGJhY2tlbmQgc2V0cyB0aGUgZmxhZyBpbiB0aGUgc2lnbmFsIGhhbmRs ZXIsCisgKiB3aGljaCBjYXVzZXMgdGhlIG5leHQgQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKSB0byBs b2cgcGxhbi4KKyAqLworRGF0dW0KK3BnX2xvZ19jdXJyZW50X3BsYW4oUEdfRlVOQ1RJT05fQVJH UykKK3sKKwlpbnQJCQlwaWQgPSBQR19HRVRBUkdfSU5UMzIoMCk7CisJUEdQUk9DCSAgICpwcm9j ID0gQmFja2VuZFBpZEdldFByb2MocGlkKTsKKworCS8qCisJICogQmFja2VuZFBpZEdldFByb2Mg cmV0dXJucyBOVUxMIGlmIHRoZSBwaWQgaXNuJ3QgdmFsaWQ7IGJ1dCBieSB0aGUgdGltZQorCSAq IHdlIHJlYWNoIGtpbGwoKSwgYSBwcm9jZXNzIGZvciB3aGljaCB3ZSBnZXQgYSB2YWxpZCBwcm9j IGhlcmUgbWlnaHQKKwkgKiBoYXZlIHRlcm1pbmF0ZWQgb24gaXRzIG93bi4gIFRoZXJlJ3Mgbm8g d2F5IHRvIGFjcXVpcmUgYSBsb2NrIG9uIGFuCisJICogYXJiaXRyYXJ5IHByb2Nlc3MgdG8gcHJl dmVudCB0aGF0LiBCdXQgc2luY2UgdGhpcyBtZWNoYW5pc20gaXMgdXN1YWxseQorCSAqIHVzZWQg dG8gbG9vayBpbnRvIHBsYW5zIG9mIGxvbmcgcnVubmluZyBxdWVyaWVzLCB0aGF0IGl0IG1pZ2h0 IGVuZCBpdHMKKwkgKiBvd24gZmlyc3QgYW5kIGl0cyBwbGFuIGlzIG5vdCBsb2dnZWQgaXMgbm90 IGEgcHJvYmxlbS4KKwkgKi8KKwlpZiAocHJvYyA9PSBOVUxMKQorCXsKKwkJLyoKKwkJICogVGhp cyBpcyBqdXN0IGEgd2FybmluZyBzbyBhIGxvb3AtdGhyb3VnaC1yZXN1bHRzZXQgd2lsbCBub3Qg YWJvcnQKKwkJICogaWYgb25lIGJhY2tlbmQgdGVybWluYXRlZCBvbiBpdHMgb3duIGR1cmluZyB0 aGUgcnVuLgorCQkgKi8KKwkJZXJlcG9ydChXQVJOSU5HLAorCQkJCShlcnJtc2coIlBJRCAlZCBp cyBub3QgYSBQb3N0Z3JlU1FMIHNlcnZlciBwcm9jZXNzIiwgcGlkKSkpOworCQlQR19SRVRVUk5f Qk9PTChmYWxzZSk7CisJfQorCisJLyogT25seSBhbGxvdyBzdXBlcnVzZXJzIHRvIGxvZyBwbGFu IG9mIHRoZSBydW5uaW5nIHF1ZXJpZXMuICovCisJaWYgKCFzdXBlcnVzZXIoKSkKKwkJZXJlcG9y dChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAor CQkJCSBlcnJtc2coIm11c3QgYmUgYSBzdXBlcnVzZXIgdG8gbG9nIHBsYW4gb2YgdGhlIHJ1bm5p bmcgcXVlcnkiKSkpOworCisJaWYgKFNlbmRQcm9jU2lnbmFsKHBpZCwgUFJPQ1NJR19MT0dfQ1VS UkVOVF9QTEFOLCBwcm9jLT5iYWNrZW5kSWQpIDwgMCkKKwl7CisJCS8qIEFnYWluLCBqdXN0IGEg d2FybmluZyB0byBhbGxvdyBsb29wcyAqLworCQllcmVwb3J0KFdBUk5JTkcsCisJCQkJKGVycm1z ZygiY291bGQgbm90IHNlbmQgc2lnbmFsIHRvIHByb2Nlc3MgJWQ6ICVtIiwgcGlkKSkpOworCQlQ R19SRVRVUk5fQk9PTChmYWxzZSk7CisJfQorCisJUEdfUkVUVVJOX0JPT0wodHJ1ZSk7Cit9CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9wcm9jc2lnbmFsLmMgYi9zcmMvYmFj a2VuZC9zdG9yYWdlL2lwYy9wcm9jc2lnbmFsLmMKaW5kZXggZGVmYjc1YWEyNi4uOWI5NjUzNTQ0 YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY3NpZ25hbC5jCisrKyBi L3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NzaWduYWwuYwpAQCAtMjAsNiArMjAsNyBAQAog I2luY2x1ZGUgImFjY2Vzcy9wYXJhbGxlbC5oIgogI2luY2x1ZGUgInBvcnQvcGdfYml0dXRpbHMu aCIKICNpbmNsdWRlICJjb21tYW5kcy9hc3luYy5oIgorI2luY2x1ZGUgImNvbW1hbmRzL2V4cGxh aW4uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNs dWRlICJyZXBsaWNhdGlvbi93YWxzZW5kZXIuaCIKQEAgLTY2MSw2ICs2NjIsOSBAQCBwcm9jc2ln bmFsX3NpZ3VzcjFfaGFuZGxlcihTSUdOQUxfQVJHUykKIAlpZiAoQ2hlY2tQcm9jU2lnbmFsKFBS T0NTSUdfTE9HX01FTU9SWV9DT05URVhUKSkKIAkJSGFuZGxlTG9nTWVtb3J5Q29udGV4dEludGVy cnVwdCgpOwogCisJaWYgKENoZWNrUHJvY1NpZ25hbChQUk9DU0lHX0xPR19DVVJSRU5UX1BMQU4p KQorCQlIYW5kbGVMb2dDdXJyZW50UGxhbkludGVycnVwdCgpOworCiAJaWYgKENoZWNrUHJvY1Np Z25hbChQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0RBVEFCQVNFKSkKIAkJUmVjb3ZlcnlDb25m bGljdEludGVycnVwdChQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0RBVEFCQVNFKTsKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jIGIvc3JjL2JhY2tlbmQvdGNvcC9w b3N0Z3Jlcy5jCmluZGV4IDhjZWExMGM5MDEuLmFjOGVhNjdlODEgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3Rjb3AvcG9zdGdyZXMuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMK QEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2FzeW5jLmgiCisjaW5jbHVkZSAi Y29tbWFuZHMvZXhwbGFpbi5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ByZXBhcmUuaCIKICNpbmNs dWRlICJleGVjdXRvci9zcGkuaCIKICNpbmNsdWRlICJqaXQvaml0LmgiCkBAIC0zMzY2LDYgKzMz NjcsOSBAQCBQcm9jZXNzSW50ZXJydXB0cyh2b2lkKQogCiAJaWYgKExvZ01lbW9yeUNvbnRleHRQ ZW5kaW5nKQogCQlQcm9jZXNzTG9nTWVtb3J5Q29udGV4dEludGVycnVwdCgpOworCisJaWYgKExv Z0N1cnJlbnRQbGFuUGVuZGluZykKKwkJUHJvY2Vzc0xvZ0N1cnJlbnRQbGFuSW50ZXJydXB0KCk7 CiB9CiAKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9nbG9iYWxzLmMgYi9z cmMvYmFja2VuZC91dGlscy9pbml0L2dsb2JhbHMuYwppbmRleCAzODFkOWU1NDhkLi4xMjZlZDEw MzYyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9pbml0L2dsb2JhbHMuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9pbml0L2dsb2JhbHMuYwpAQCAtMzYsNiArMzYsNyBAQCB2b2xhdGls ZSBzaWdfYXRvbWljX3QgSWRsZUluVHJhbnNhY3Rpb25TZXNzaW9uVGltZW91dFBlbmRpbmcgPSBm YWxzZTsKIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBJZGxlU2Vzc2lvblRpbWVvdXRQZW5kaW5nID0g ZmFsc2U7CiB2b2xhdGlsZSBzaWdfYXRvbWljX3QgUHJvY1NpZ25hbEJhcnJpZXJQZW5kaW5nID0g ZmFsc2U7CiB2b2xhdGlsZSBzaWdfYXRvbWljX3QgTG9nTWVtb3J5Q29udGV4dFBlbmRpbmcgPSBm YWxzZTsKK3ZvbGF0aWxlIHNpZ19hdG9taWNfdCBMb2dDdXJyZW50UGxhblBlbmRpbmcgPSBmYWxz ZTsKIHZvbGF0aWxlIHVpbnQzMiBJbnRlcnJ1cHRIb2xkb2ZmQ291bnQgPSAwOwogdm9sYXRpbGUg dWludDMyIFF1ZXJ5Q2FuY2VsSG9sZG9mZkNvdW50ID0gMDsKIHZvbGF0aWxlIHVpbnQzMiBDcml0 U2VjdGlvbkNvdW50ID0gMDsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGFjYmNhZTQ2MDcu LmE2YmUxYWIwYjUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK KysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtNzk3NSw2ICs3OTc1LDEy IEBACiAgIHByb3JldHR5cGUgPT4gJ2Jvb2wnLCBwcm9hcmd0eXBlcyA9PiAnaW50NCcsCiAgIHBy b3NyYyA9PiAncGdfbG9nX2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzJyB9LAogCisjIGxvZ2dpbmcg cGxhbiBvZiB0aGUgcnVubmluZyBxdWVyeSBvbiB0aGUgc3BlY2lmaWVkIGJhY2tlbmQKK3sgb2lk ID0+ICc0NTQ0JywgZGVzY3IgPT4gJ2xvZyBwbGFuIG9mIHRoZSBydW5uaW5nIHF1ZXJ5IG9uIHRo ZSBzcGVjaWZpZWQgYmFja2VuZCcsCisgIHByb25hbWUgPT4gJ3BnX2xvZ19jdXJyZW50X3BsYW4n LAorICBwcm92b2xhdGlsZSA9PiAndicsIHByb3JldHR5cGUgPT4gJ2Jvb2wnLAorICBwcm9hcmd0 eXBlcyA9PiAnaW50NCcsIHByb3NyYyA9PiAncGdfbG9nX2N1cnJlbnRfcGxhbicgfSwKKwogIyBu b24tcGVyc2lzdGVudCBzZXJpZXMgZ2VuZXJhdG9yCiB7IG9pZCA9PiAnMTA2NicsIGRlc2NyID0+ ICdub24tcGVyc2lzdGVudCBzZXJpZXMgZ2VuZXJhdG9yJywKICAgcHJvbmFtZSA9PiAnZ2VuZXJh dGVfc2VyaWVzJywgcHJvcm93cyA9PiAnMTAwMCcsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j b21tYW5kcy9leHBsYWluLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9leHBsYWluLmgKaW5kZXgg ZTk0ZDllNDljZi4uZmE4MWJlYjU1MyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMv ZXhwbGFpbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2V4cGxhaW4uaApAQCAtMTI0LDQg KzEyNCw2IEBAIGV4dGVybiB2b2lkIEV4cGxhaW5PcGVuR3JvdXAoY29uc3QgY2hhciAqb2JqdHlw ZSwgY29uc3QgY2hhciAqbGFiZWxuYW1lLAogZXh0ZXJuIHZvaWQgRXhwbGFpbkNsb3NlR3JvdXAo Y29uc3QgY2hhciAqb2JqdHlwZSwgY29uc3QgY2hhciAqbGFiZWxuYW1lLAogCQkJCQkJCSAgYm9v bCBsYWJlbGVkLCBFeHBsYWluU3RhdGUgKmVzKTsKIAorZXh0ZXJuIHZvaWQgSGFuZGxlTG9nQ3Vy cmVudFBsYW5JbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBQcm9jZXNzTG9nQ3VycmVudFBs YW5JbnRlcnJ1cHQodm9pZCk7CiAjZW5kaWYJCQkJCQkJLyogRVhQTEFJTl9IICovCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9taXNjYWRtaW4uaCBiL3NyYy9pbmNsdWRlL21pc2NhZG1pbi5oCmlu ZGV4IDRkYzM0M2NiYzUuLjM1NWUzZGI2MjIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL21pc2Nh ZG1pbi5oCisrKyBiL3NyYy9pbmNsdWRlL21pc2NhZG1pbi5oCkBAIC05NCw2ICs5NCw3IEBAIGV4 dGVybiBQR0RMTElNUE9SVCB2b2xhdGlsZSBzaWdfYXRvbWljX3QgSWRsZUluVHJhbnNhY3Rpb25T ZXNzaW9uVGltZW91dFBlbmRpbmc7CiBleHRlcm4gUEdETExJTVBPUlQgdm9sYXRpbGUgc2lnX2F0 b21pY190IElkbGVTZXNzaW9uVGltZW91dFBlbmRpbmc7CiBleHRlcm4gUEdETExJTVBPUlQgdm9s YXRpbGUgc2lnX2F0b21pY190IFByb2NTaWduYWxCYXJyaWVyUGVuZGluZzsKIGV4dGVybiBQR0RM TElNUE9SVCB2b2xhdGlsZSBzaWdfYXRvbWljX3QgTG9nTWVtb3J5Q29udGV4dFBlbmRpbmc7Citl eHRlcm4gUEdETExJTVBPUlQgdm9sYXRpbGUgc2lnX2F0b21pY190IExvZ0N1cnJlbnRQbGFuUGVu ZGluZzsKIAogZXh0ZXJuIFBHRExMSU1QT1JUIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBDaGVja0Ns aWVudENvbm5lY3Rpb25QZW5kaW5nOwogZXh0ZXJuIFBHRExMSU1QT1JUIHZvbGF0aWxlIHNpZ19h dG9taWNfdCBDbGllbnRDb25uZWN0aW9uTG9zdDsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0 b3JhZ2UvcHJvY3NpZ25hbC5oIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jc2lnbmFsLmgKaW5k ZXggZWVjMTg2YmUyZS4uYzFhNzIxOGQ2OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFn ZS9wcm9jc2lnbmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jc2lnbmFsLmgKQEAg LTM1LDYgKzM1LDcgQEAgdHlwZWRlZiBlbnVtCiAJUFJPQ1NJR19XQUxTTkRfSU5JVF9TVE9QUElO RywJLyogYXNrIHdhbHNlbmRlcnMgdG8gcHJlcGFyZSBmb3Igc2h1dGRvd24gICovCiAJUFJPQ1NJ R19CQVJSSUVSLAkJCS8qIGdsb2JhbCBiYXJyaWVyIGludGVycnVwdCAgKi8KIAlQUk9DU0lHX0xP R19NRU1PUllfQ09OVEVYVCwgLyogYXNrIGJhY2tlbmQgdG8gbG9nIHRoZSBtZW1vcnkgY29udGV4 dHMgKi8KKwlQUk9DU0lHX0xPR19DVVJSRU5UX1BMQU4sIC8qIGFzayBiYWNrZW5kIHRvIGxvZyBw bGFuIG9mIHRoZSBjdXJyZW50IHF1ZXJ5ICovCiAKIAkvKiBSZWNvdmVyeSBjb25mbGljdCByZWFz b25zICovCiAJUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9EQVRBQkFTRSwKCmJhc2UtY29tbWl0 OiA5YWZkZWE5ODI0MjBmOTY3MmI4OGU1YzE3ZDFlZThlZWM2NDEwNWZjCi0tIAoyLjE4LjEKCg== --=_215ae3561d9ac523162b05c387278e38--