Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sqQw3-009hO3-AE for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Sep 2024 05:39:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sqQw2-0051JY-Tf for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Sep 2024 05:39:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sqQw2-0051JQ-He for pgsql-hackers@lists.postgresql.org; Tue, 17 Sep 2024 05:39:34 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sqQvx-001b2e-5L for pgsql-hackers@lists.postgresql.org; Tue, 17 Sep 2024 05:39:33 +0000 Received: from [192.168.11.3] (p3755046-ipxg13301funabasi.chiba.ocn.ne.jp [114.178.136.46]) by oss.nttdata.com (Postfix) with ESMTPSA id 4C6806094C; Tue, 17 Sep 2024 14:39:24 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com Content-Type: multipart/mixed; boundary="------------0Z4FqeDpKRNsQo6nG1Vbl4lL" Message-ID: <05651293-d783-4a0d-8756-9ffc5b3d9279@oss.nttdata.com> Date: Tue, 17 Sep 2024 14:39:19 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [Proposal] Add foreign-server health checks infrastructure Content-Language: en-US To: "Hayato Kuroda (Fujitsu)" Cc: 'Katsuragi Yuta' , 'vignesh C' , 'Ted Yu' , 'Tom Lane' , "'pgsql-hackers@lists.postgresql.org'" , =?UTF-8?B?J8OWbmRlciBLYWxhY8SxJw==?= , "'Shinya11.Kato@oss.nttdata.com'" , 'Kyotaro Horiguchi' , 'Shubham Khanna' References: <613adbf9-c86e-41dc-ab97-27dc4e7281c7@oss.nttdata.com> <768032ee-fb57-494b-b674-1ccb65b6f969@oss.nttdata.com> <1aa89c91-e3f1-4071-9fa9-14bffa600dd2@oss.nttdata.com> <4ab30d00-d434-4e82-af5d-260609075ff7@oss.nttdata.com> From: Fujii Masao In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------0Z4FqeDpKRNsQo6nG1Vbl4lL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2024/08/08 11:38, Hayato Kuroda (Fujitsu) wrote: > Dear Fujii-san, > > Thanks for reviewing! PSA new version. Thanks for updating the patch! LGTM. I made a couple of small adjustments and attached the updated version. If that's ok, I'll go ahead and commit it. + Name of the local user mapped to the foreign server of this + connection, or "public" if a public mapping is used. If the user I enclosed "public" with tag, i.e., public. > I did not done that be cause either of server_name or user_name is NULL and > it might be strange. But yes, the example should have more information. > Based on that, I added a tuple so that the example has below. Thought? > > loopback1 - user is "postgres", valid > loopback2 - user is "public", valid > loopback3 - user is NULL, invalid LGTM. Also I added the following to the example for clarity: postgres=# SELECT * FROM postgres_fdw_get_connections(true); Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------0Z4FqeDpKRNsQo6nG1Vbl4lL Content-Type: text/plain; charset=UTF-8; name="v4-0001-postgres_fdw-Extend-postgres_fdw_get_connections-.patch" Content-Disposition: attachment; filename*0="v4-0001-postgres_fdw-Extend-postgres_fdw_get_connections-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxYjUwOTc5Yjg0ZDJmODcxOGEzYWY0MWJkNDA3YTc2YTBkMDQ4ZWE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXlhdG8gS3Vyb2RhIDxrdXJvZGEuaGF5YXRvQGZ1 aml0c3UuY29tPgpEYXRlOiBUaHUsIDE4IEp1bCAyMDI0IDEwOjExOjAzICswMDAwClN1Ympl Y3Q6IFtQQVRDSCB2NF0gcG9zdGdyZXNfZmR3OiBFeHRlbmQgcG9zdGdyZXNfZmR3X2dldF9j b25uZWN0aW9ucyB0bwogcmV0dXJuIHVzZXIgbmFtZS4KClRoaXMgY29tbWl0IGFkZHMgYSAi dXNlcl9uYW1lIiBvdXRwdXQgY29sdW1uIHRvCnRoZSBwb3N0Z3Jlc19mZHdfZ2V0X2Nvbm5l Y3Rpb25zIGZ1bmN0aW9uLCByZXR1cm5pbmcgdGhlIG5hbWUKb2YgdGhlIGxvY2FsIHVzZXIg bWFwcGVkIHRvIHRoZSBmb3JlaWduIHNlcnZlciBmb3IgZWFjaCBjb25uZWN0aW9uLgpJZiBh IHB1YmxpYyBtYXBwaW5nIGlzIHVzZWQsIGl0IHJldHVybnMgInB1YmxpYy4iCgpUaGlzIGhl bHBzIGlkZW50aWZ5IHBvc3RncmVzX2ZkdyBjb25uZWN0aW9ucyBtb3JlIGVhc2lseSwKc3Vj aCBhcyBkZXRlcm1pbmluZyB3aGljaCBjb25uZWN0aW9ucyBhcmUgaW52YWxpZCwgY2xvc2Vk LApvciB1c2VkIHdpdGhpbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4KCk5vIGV4dGVuc2lv biB2ZXJzaW9uIGJ1bXAgaXMgbmVlZGVkLCBhcyBjb21taXQgYzI5N2E0N2M1ZgphbHJlYWR5 IGhhbmRsZWQgaXQgZm9yIHYxOH4uCgpBdXRob3I6IEhheWF0byBLdXJvZGEKUmV2aWV3ZWQt Ynk6IEZ1amlpIE1hc2FvCkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vYjQ5MmE5 MzUtNmM3ZS04YzA4LWU0ODUtM2MxZDY0ZDdkMTBmQG9zcy5udHRkYXRhLmNvbQotLS0KIGNv bnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYyAgICAgICAgICAgICB8IDU3ICsrKysr KysrKysrKysrKy0tLS0KIC4uLi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3 Lm91dCAgICB8IDE2ICsrKy0tLQogLi4uL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHctLTEu MS0tMS4yLnNxbCAgIHwgIDMgKy0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jl c19mZHcuc3FsICAgICB8ICA4ICsrLQogZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21s ICAgICAgICAgICAgICAgIHwgMjMgKysrKysrLS0KIDUgZmlsZXMgY2hhbmdlZCwgODEgaW5z ZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0 Z3Jlc19mZHcvY29ubmVjdGlvbi5jIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlv bi5jCmluZGV4IDEyZDFmZWMwZTguLjJlNTMwM2VhYzEgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYworKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9j b25uZWN0aW9uLmMKQEAgLTE5OTcsOCArMTk5Nyw4IEBAIHBnZmR3X2ZpbmlzaF9hYm9ydF9j bGVhbnVwKExpc3QgKnBlbmRpbmdfZW50cmllcywgTGlzdCAqY2FuY2VsX3JlcXVlc3RlZCwK IAogLyogTnVtYmVyIG9mIG91dHB1dCBhcmd1bWVudHMgKGNvbHVtbnMpIGZvciB2YXJpb3Vz IEFQSSB2ZXJzaW9ucyAqLwogI2RlZmluZSBQT1NUR1JFU19GRFdfR0VUX0NPTk5FQ1RJT05T X0NPTFNfVjFfMQkyCi0jZGVmaW5lIFBPU1RHUkVTX0ZEV19HRVRfQ09OTkVDVElPTlNfQ09M U19WMV8yCTQKLSNkZWZpbmUgUE9TVEdSRVNfRkRXX0dFVF9DT05ORUNUSU9OU19DT0xTCTQJ LyogbWF4aW11bSBvZiBhYm92ZSAqLworI2RlZmluZSBQT1NUR1JFU19GRFdfR0VUX0NPTk5F Q1RJT05TX0NPTFNfVjFfMgk1CisjZGVmaW5lIFBPU1RHUkVTX0ZEV19HRVRfQ09OTkVDVElP TlNfQ09MUwk1CS8qIG1heGltdW0gb2YgYWJvdmUgKi8KIAogLyoKICAqIEludGVybmFsIGZ1 bmN0aW9uIHVzZWQgYnkgcG9zdGdyZXNfZmR3X2dldF9jb25uZWN0aW9ucyB2YXJpYW50cy4K QEAgLTIwMTQsMTAgKzIwMTQsMTMgQEAgcGdmZHdfZmluaXNoX2Fib3J0X2NsZWFudXAoTGlz dCAqcGVuZGluZ19lbnRyaWVzLCBMaXN0ICpjYW5jZWxfcmVxdWVzdGVkLAogICoKICAqIEZv ciBBUEkgdmVyc2lvbiAxLjIgYW5kIGxhdGVyLCB0aGlzIGZ1bmN0aW9uIHRha2VzIGFuIGlu cHV0IHBhcmFtZXRlcgogICogdG8gY2hlY2sgYSBjb25uZWN0aW9uIHN0YXR1cyBhbmQgcmV0 dXJucyB0aGUgZm9sbG93aW5nCi0gKiBhZGRpdGlvbmFsIHZhbHVlcyBhbG9uZyB3aXRoIHRo ZSB0d28gdmFsdWVzIGZyb20gdmVyc2lvbiAxLjE6CisgKiBhZGRpdGlvbmFsIHZhbHVlcyBh bG9uZyB3aXRoIHRoZSB0aHJlZSB2YWx1ZXMgZnJvbSB2ZXJzaW9uIDEuMToKICAqCisgKiAt IHVzZXJfbmFtZSAtIHRoZSBsb2NhbCB1c2VyIG5hbWUgb2YgdGhlIGFjdGl2ZSBjb25uZWN0 aW9uLiBJbiBjYXNlIHRoZQorICogICB1c2VyIG1hcHBpbmcgaXMgZHJvcHBlZCBidXQgdGhl IGNvbm5lY3Rpb24gaXMgc3RpbGwgYWN0aXZlLCB0aGVuIHRoZQorICogICB1c2VyIG5hbWUg d2lsbCBiZSBOVUxMIGluIHRoZSBvdXRwdXQuCiAgKiAtIHVzZWRfaW5feGFjdCAtIHRydWUg aWYgdGhlIGNvbm5lY3Rpb24gaXMgdXNlZCBpbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4K LSAqIC0gY2xvc2VkOiB0cnVlIGlmIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4KKyAqIC0g Y2xvc2VkIC0gdHJ1ZSBpZiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQuCiAgKgogICogTm8g cmVjb3JkcyBhcmUgcmV0dXJuZWQgd2hlbiB0aGVyZSBhcmUgbm8gY2FjaGVkIGNvbm5lY3Rp b25zIGF0IGFsbC4KICAqLwpAQCAtMjA1Niw2ICsyMDU5LDcgQEAgcG9zdGdyZXNfZmR3X2dl dF9jb25uZWN0aW9uc19pbnRlcm5hbChGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywKIAkJRm9y ZWlnblNlcnZlciAqc2VydmVyOwogCQlEYXR1bQkJdmFsdWVzW1BPU1RHUkVTX0ZEV19HRVRf Q09OTkVDVElPTlNfQ09MU10gPSB7MH07CiAJCWJvb2wJCW51bGxzW1BPU1RHUkVTX0ZEV19H RVRfQ09OTkVDVElPTlNfQ09MU10gPSB7MH07CisJCWludAkJCWkgPSAwOwogCiAJCS8qIFdl IG9ubHkgbG9vayBmb3Igb3BlbiByZW1vdGUgY29ubmVjdGlvbnMgKi8KIAkJaWYgKCFlbnRy eS0+Y29ubikKQEAgLTIxMDAsMjggKzIxMDQsNjEgQEAgcG9zdGdyZXNfZmR3X2dldF9jb25u ZWN0aW9uc19pbnRlcm5hbChGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywKIAkJCUFzc2VydChl bnRyeS0+Y29ubiAmJiBlbnRyeS0+eGFjdF9kZXB0aCA+IDAgJiYgZW50cnktPmludmFsaWRh dGVkKTsKIAogCQkJLyogU2hvdyBudWxsLCBpZiBubyBzZXJ2ZXIgbmFtZSB3YXMgZm91bmQg Ki8KLQkJCW51bGxzWzBdID0gdHJ1ZTsKKwkJCW51bGxzW2krK10gPSB0cnVlOwogCQl9CiAJ CWVsc2UKLQkJCXZhbHVlc1swXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oc2VydmVyLT5zZXJ2 ZXJuYW1lKTsKKwkJCXZhbHVlc1tpKytdID0gQ1N0cmluZ0dldFRleHREYXR1bShzZXJ2ZXIt PnNlcnZlcm5hbWUpOwogCi0JCXZhbHVlc1sxXSA9IEJvb2xHZXREYXR1bSghZW50cnktPmlu dmFsaWRhdGVkKTsKKwkJaWYgKGFwaV92ZXJzaW9uID49IFBHRkRXX1YxXzIpCisJCXsKKwkJ CUhlYXBUdXBsZQl0cDsKKworCQkJLyogVXNlIHRoZSBzeXN0ZW0gY2FjaGUgdG8gb2J0YWlu IHRoZSB1c2VyIG1hcHBpbmcgKi8KKwkJCXRwID0gU2VhcmNoU3lzQ2FjaGUxKFVTRVJNQVBQ SU5HT0lELCBPYmplY3RJZEdldERhdHVtKGVudHJ5LT5rZXkpKTsKKworCQkJLyoKKwkJCSAq IEp1c3QgbGlrZSBpbiB0aGUgZm9yZWlnbiBzZXJ2ZXIgY2FzZSwgdXNlciBtYXBwaW5ncyBj YW4gYWxzbyBiZQorCQkJICogZHJvcHBlZCBpbiB0aGUgY3VycmVudCBleHBsaWNpdCB0cmFu c2FjdGlvbi4gVGhlcmVmb3JlLCB0aGUKKwkJCSAqIHNpbWlsYXIgY2hlY2sgYXMgaW4gdGhl IHNlcnZlciBjYXNlIGlzIHJlcXVpcmVkLgorCQkJICovCisJCQlpZiAoIUhlYXBUdXBsZUlz VmFsaWQodHApKQorCQkJeworCQkJCS8qCisJCQkJICogSWYgd2UgcmVhY2ggaGVyZSwgdGhp cyBlbnRyeSBtdXN0IGhhdmUgYmVlbiBpbnZhbGlkYXRlZCBpbgorCQkJCSAqIHBnZmR3X2lu dmFsX2NhbGxiYWNrLCBzYW1lIGFzIGluIHRoZSBzZXJ2ZXIgY2FzZS4KKwkJCQkgKi8KKwkJ CQlBc3NlcnQoZW50cnktPmNvbm4gJiYgZW50cnktPnhhY3RfZGVwdGggPiAwICYmCisJCQkJ CSAgIGVudHJ5LT5pbnZhbGlkYXRlZCk7CisKKwkJCQludWxsc1tpKytdID0gdHJ1ZTsKKwkJ CX0KKwkJCWVsc2UKKwkJCXsKKwkJCQlPaWQJCQl1c2VyaWQ7CisKKwkJCQl1c2VyaWQgPSAo KEZvcm1fcGdfdXNlcl9tYXBwaW5nKSBHRVRTVFJVQ1QodHApKS0+dW11c2VyOworCQkJCXZh bHVlc1tpKytdID0gQ1N0cmluZ0dldFRleHREYXR1bShNYXBwaW5nVXNlck5hbWUodXNlcmlk KSk7CisJCQkJUmVsZWFzZVN5c0NhY2hlKHRwKTsKKwkJCX0KKwkJfQorCisJCXZhbHVlc1tp KytdID0gQm9vbEdldERhdHVtKCFlbnRyeS0+aW52YWxpZGF0ZWQpOwogCiAJCWlmIChhcGlf dmVyc2lvbiA+PSBQR0ZEV19WMV8yKQogCQl7CiAJCQlib29sCQljaGVja19jb25uID0gUEdf R0VUQVJHX0JPT0woMCk7CiAKIAkJCS8qIElzIHRoaXMgY29ubmVjdGlvbiB1c2VkIGluIHRo ZSBjdXJyZW50IHRyYW5zYWN0aW9uPyAqLwotCQkJdmFsdWVzWzJdID0gQm9vbEdldERhdHVt KGVudHJ5LT54YWN0X2RlcHRoID4gMCk7CisJCQl2YWx1ZXNbaSsrXSA9IEJvb2xHZXREYXR1 bShlbnRyeS0+eGFjdF9kZXB0aCA+IDApOwogCiAJCQkvKgogCQkJICogSWYgYSBjb25uZWN0 aW9uIHN0YXR1cyBjaGVjayBpcyByZXF1ZXN0ZWQgYW5kIHN1cHBvcnRlZCwgcmV0dXJuCiAJ CQkgKiB3aGV0aGVyIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4gT3RoZXJ3aXNlLCByZXR1 cm4gTlVMTC4KIAkJCSAqLwogCQkJaWYgKGNoZWNrX2Nvbm4gJiYgcGdmZHdfY29ubl9jaGVj a2FibGUoKSkKLQkJCQl2YWx1ZXNbM10gPSBCb29sR2V0RGF0dW0ocGdmZHdfY29ubl9jaGVj ayhlbnRyeS0+Y29ubikgIT0gMCk7CisJCQkJdmFsdWVzW2krK10gPSBCb29sR2V0RGF0dW0o cGdmZHdfY29ubl9jaGVjayhlbnRyeS0+Y29ubikgIT0gMCk7CiAJCQllbHNlCi0JCQkJbnVs bHNbM10gPSB0cnVlOworCQkJCW51bGxzW2krK10gPSB0cnVlOwogCQl9CiAKIAkJdHVwbGVz dG9yZV9wdXR2YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywgdmFs dWVzLCBudWxscyk7CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3Rl ZC9wb3N0Z3Jlc19mZHcub3V0IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9z dGdyZXNfZmR3Lm91dAppbmRleCBmM2ViMDU1ZTJjLi5mMmJjZDZhYTk4IDEwMDY0NAotLS0g YS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBi L2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTEw NDcyLDEzICsxMDQ3MiwxNSBAQCBOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIDIgb3RoZXIg b2JqZWN0cwogREVUQUlMOiAgZHJvcCBjYXNjYWRlcyB0byB1c2VyIG1hcHBpbmcgZm9yIHB1 YmxpYyBvbiBzZXJ2ZXIgbG9vcGJhY2szCiBkcm9wIGNhc2NhZGVzIHRvIGZvcmVpZ24gdGFi bGUgZnQ3CiAtLSBMaXN0IGFsbCB0aGUgZXhpc3RpbmcgY2FjaGVkIGNvbm5lY3Rpb25zLiBs b29wYmFjayBhbmQgbG9vcGJhY2szCi0tLSBzaG91bGQgYmUgb3V0cHV0IGFzIGludmFsaWQg Y29ubmVjdGlvbnMuIEFsc28gdGhlIHNlcnZlciBuYW1lIGZvcgotLS0gbG9vcGJhY2szIHNo b3VsZCBiZSBOVUxMIGJlY2F1c2UgdGhlIHNlcnZlciB3YXMgZHJvcHBlZC4KLVNFTEVDVCAq IEZST00gcG9zdGdyZXNfZmR3X2dldF9jb25uZWN0aW9ucygpIE9SREVSIEJZIDE7Ci0gc2Vy dmVyX25hbWUgfCB2YWxpZCB8IHVzZWRfaW5feGFjdCB8IGNsb3NlZCAKLS0tLS0tLS0tLS0t LS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLQotIGxvb3BiYWNrICAgIHwgZiAg ICAgfCB0ICAgICAgICAgICAgfCAKLSAgICAgICAgICAgICB8IGYgICAgIHwgdCAgICAgICAg ICAgIHwgCistLSBzaG91bGQgYmUgb3V0cHV0IGFzIGludmFsaWQgY29ubmVjdGlvbnMuIEFs c28gdGhlIHNlcnZlciBuYW1lIGFuZCB1c2VyIG5hbWUKKy0tIGZvciBsb29wYmFjazMgc2hv dWxkIGJlIE5VTEwgYmVjYXVzZSBib3RoIHNlcnZlciBhbmQgdXNlciBtYXBwaW5nIHdlcmUK Ky0tIGRyb3BwZWQuCitTRUxFQ1Qgc2VydmVyX25hbWUsIHVzZXJfbmFtZSA9IENVUlJFTlRf VVNFUiBhcyAidXNlcl9uYW1lID0gQ1VSUkVOVF9VU0VSIiwgdmFsaWQsIHVzZWRfaW5feGFj dCwgY2xvc2VkCitGUk9NIHBvc3RncmVzX2Zkd19nZXRfY29ubmVjdGlvbnMoKSBPUkRFUiBC WSAxOworIHNlcnZlcl9uYW1lIHwgdXNlcl9uYW1lID0gQ1VSUkVOVF9VU0VSIHwgdmFsaWQg fCB1c2VkX2luX3hhY3QgfCBjbG9zZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0KKyBsb29wYmFj ayAgICB8IHQgICAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgIHwgdCAgICAgICAgICAg IHwgCisgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmICAgICB8 IHQgICAgICAgICAgICB8IAogKDIgcm93cykKIAogLS0gVGhlIGludmFsaWQgY29ubmVjdGlv bnMgZ2V0IGNsb3NlZCBpbiBwZ2Zkd194YWN0X2NhbGxiYWNrIGR1cmluZyBjb21taXQuCmRp ZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHctLTEuMS0tMS4y LnNxbCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3Fs CmluZGV4IDBkNDA2YzYwMjguLjgxYWFkNGZjZGEgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9z dGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsCisrKyBiL2NvbnRyaWIvcG9z dGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsCkBAIC0xMSw3ICsxMSw4IEBA IERST1AgRlVOQ1RJT04gcG9zdGdyZXNfZmR3X2dldF9jb25uZWN0aW9ucyAoKTsKIAogQ1JF QVRFIEZVTkNUSU9OIHBvc3RncmVzX2Zkd19nZXRfY29ubmVjdGlvbnMgKAogICAgIElOIGNo ZWNrX2Nvbm4gYm9vbGVhbiBERUZBVUxUIGZhbHNlLCBPVVQgc2VydmVyX25hbWUgdGV4dCwK LSAgICBPVVQgdmFsaWQgYm9vbGVhbiwgT1VUIHVzZWRfaW5feGFjdCBib29sZWFuLCBPVVQg Y2xvc2VkIGJvb2xlYW4pCisgICAgT1VUIHVzZXJfbmFtZSB0ZXh0LCBPVVQgdmFsaWQgYm9v bGVhbiwgT1VUIHVzZWRfaW5feGFjdCBib29sZWFuLAorICAgIE9VVCBjbG9zZWQgYm9vbGVh bikKIFJFVFVSTlMgU0VUT0YgcmVjb3JkCiBBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ3Bvc3Rn cmVzX2Zkd19nZXRfY29ubmVjdGlvbnNfMV8yJwogTEFOR1VBR0UgQyBTVFJJQ1QgUEFSQUxM RUwgUkVTVFJJQ1RFRDsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9w b3N0Z3Jlc19mZHcuc3FsIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zk dy5zcWwKaW5kZXggMDczNDcxNmFkOS4uMzcyZmU2ZGFkMSAxMDA2NDQKLS0tIGEvY29udHJp Yi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKKysrIGIvY29udHJpYi9wb3N0 Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKQEAgLTMzODIsOSArMzM4MiwxMSBAQCBT RUxFQ1Qgc2VydmVyX25hbWUgRlJPTSBwb3N0Z3Jlc19mZHdfZ2V0X2Nvbm5lY3Rpb25zKCkg T1JERVIgQlkgMTsKIEFMVEVSIFNFUlZFUiBsb29wYmFjayBPUFRJT05TIChBREQgdXNlX3Jl bW90ZV9lc3RpbWF0ZSAnb2ZmJyk7CiBEUk9QIFNFUlZFUiBsb29wYmFjazMgQ0FTQ0FERTsK IC0tIExpc3QgYWxsIHRoZSBleGlzdGluZyBjYWNoZWQgY29ubmVjdGlvbnMuIGxvb3BiYWNr IGFuZCBsb29wYmFjazMKLS0tIHNob3VsZCBiZSBvdXRwdXQgYXMgaW52YWxpZCBjb25uZWN0 aW9ucy4gQWxzbyB0aGUgc2VydmVyIG5hbWUgZm9yCi0tLSBsb29wYmFjazMgc2hvdWxkIGJl IE5VTEwgYmVjYXVzZSB0aGUgc2VydmVyIHdhcyBkcm9wcGVkLgotU0VMRUNUICogRlJPTSBw b3N0Z3Jlc19mZHdfZ2V0X2Nvbm5lY3Rpb25zKCkgT1JERVIgQlkgMTsKKy0tIHNob3VsZCBi ZSBvdXRwdXQgYXMgaW52YWxpZCBjb25uZWN0aW9ucy4gQWxzbyB0aGUgc2VydmVyIG5hbWUg YW5kIHVzZXIgbmFtZQorLS0gZm9yIGxvb3BiYWNrMyBzaG91bGQgYmUgTlVMTCBiZWNhdXNl IGJvdGggc2VydmVyIGFuZCB1c2VyIG1hcHBpbmcgd2VyZQorLS0gZHJvcHBlZC4KK1NFTEVD VCBzZXJ2ZXJfbmFtZSwgdXNlcl9uYW1lID0gQ1VSUkVOVF9VU0VSIGFzICJ1c2VyX25hbWUg PSBDVVJSRU5UX1VTRVIiLCB2YWxpZCwgdXNlZF9pbl94YWN0LCBjbG9zZWQKK0ZST00gcG9z dGdyZXNfZmR3X2dldF9jb25uZWN0aW9ucygpIE9SREVSIEJZIDE7CiAtLSBUaGUgaW52YWxp ZCBjb25uZWN0aW9ucyBnZXQgY2xvc2VkIGluIHBnZmR3X3hhY3RfY2FsbGJhY2sgZHVyaW5n IGNvbW1pdC4KIENPTU1JVDsKIC0tIEFsbCBjYWNoZWQgY29ubmVjdGlvbnMgd2VyZSBjbG9z ZWQgd2hpbGUgY29tbWl0dGluZyBhYm92ZSB4YWN0LCBzbyBubwpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sIGIvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZk dy5zZ21sCmluZGV4IDQ2ODcyNGU5NGUuLjYyN2JiNWFiNWMgMTAwNjQ0Ci0tLSBhL2RvYy9z cmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcG9zdGdyZXMt ZmR3LnNnbWwKQEAgLTc3OSw3ICs3NzksOCBAQCBPUFRJT05TIChBREQgcGFzc3dvcmRfcmVx dWlyZWQgJ2ZhbHNlJyk7CiAgICA8dmFybGlzdGVudHJ5PgogICAgIDx0ZXJtPjxmdW5jdGlv bj5wb3N0Z3Jlc19mZHdfZ2V0X2Nvbm5lY3Rpb25zKAogICAgICAgSU4gY2hlY2tfY29ubiBi b29sZWFuIERFRkFVTFQgZmFsc2UsIE9VVCBzZXJ2ZXJfbmFtZSB0ZXh0LAotICAgICAgT1VU IHZhbGlkIGJvb2xlYW4sIE9VVCB1c2VkX2luX3hhY3QgYm9vbGVhbiwgT1VUIGNsb3NlZCBi b29sZWFuKQorICAgICAgT1VUIHVzZXJfbmFtZSB0ZXh0LCBPVVQgdmFsaWQgYm9vbGVhbiwg T1VUIHVzZWRfaW5feGFjdCBib29sZWFuLAorICAgICAgT1VUIGNsb3NlZCBib29sZWFuKQog ICAgICAgcmV0dXJucyBzZXRvZiByZWNvcmQ8L2Z1bmN0aW9uPjwvdGVybT4KICAgICA8bGlz dGl0ZW0+CiAgICAgIDxwYXJhPgpAQCAtODA2LDEwICs4MDcsMTIgQEAgT1BUSU9OUyAoQURE IHBhc3N3b3JkX3JlcXVpcmVkICdmYWxzZScpOwogICAgICA8cGFyYT4KICAgICAgIEV4YW1w bGUgdXNhZ2Ugb2YgdGhlIGZ1bmN0aW9uOgogPHNjcmVlbj4KLSBzZXJ2ZXJfbmFtZSB8IHZh bGlkIHwgdXNlZF9pbl94YWN0IHwgY2xvc2VkCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0KLSBsb29wYmFjazEgICB8IHQgICAgIHwgdCAgICAgICAg ICAgIHwKLSBsb29wYmFjazIgICB8IGYgICAgIHwgdCAgICAgICAgICAgIHwKK3Bvc3RncmVz PSMgU0VMRUNUICogRlJPTSBwb3N0Z3Jlc19mZHdfZ2V0X2Nvbm5lY3Rpb25zKHRydWUpOwor IHNlcnZlcl9uYW1lIHwgdXNlcl9uYW1lIHwgdmFsaWQgfCB1c2VkX2luX3hhY3QgfCBjbG9z ZWQKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLQorIGxvb3BiYWNrMSAgIHwgcG9zdGdyZXMgIHwgdCAgICAgfCB0ICAgICAgICAg ICAgfCBmCisgbG9vcGJhY2syICAgfCBwdWJsaWMgICAgfCB0ICAgICB8IHQgICAgICAgICAg ICB8IGYKKyBsb29wYmFjazMgICB8ICAgICAgICAgICB8IGYgICAgIHwgdCAgICAgICAgICAg IHwgZgogPC9zY3JlZW4+CiAgICAgICBUaGUgb3V0cHV0IGNvbHVtbnMgYXJlIGRlc2NyaWJl ZCBpbgogICAgICAgPHhyZWYgbGlua2VuZD0icG9zdGdyZXMtZmR3LWdldC1jb25uZWN0aW9u cy1jb2x1bW5zIi8+LgpAQCAtODM2LDYgKzgzOSwxNiBAQCBPUFRJT05TIChBREQgcGFzc3dv cmRfcmVxdWlyZWQgJ2ZhbHNlJyk7CiAgICAgICAgICBpbnZhbGlkKSwgdGhpcyB3aWxsIGJl IDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+LgogICAgICAgICA8L2VudHJ5PgogICAgICAgIDwv cm93PgorICAgICAgIDxyb3c+CisgICAgICAgIDxlbnRyeT48c3RydWN0ZmllbGQ+dXNlcl9u YW1lPC9zdHJ1Y3RmaWVsZD48L2VudHJ5PgorICAgICAgICA8ZW50cnk+PHR5cGU+dGV4dDwv dHlwZT48L2VudHJ5PgorICAgICAgICA8ZW50cnk+CisgICAgICAgICBOYW1lIG9mIHRoZSBs b2NhbCB1c2VyIG1hcHBlZCB0byB0aGUgZm9yZWlnbiBzZXJ2ZXIgb2YgdGhpcworICAgICAg ICAgY29ubmVjdGlvbiwgb3IgPGxpdGVyYWw+cHVibGljPC9saXRlcmFsPiBpZiBhIHB1Ymxp YyBtYXBwaW5nIGlzIHVzZWQuCisgICAgICAgICBJZiB0aGUgdXNlciBtYXBwaW5nIGlzIGRy b3BwZWQgYnV0IHRoZSBjb25uZWN0aW9uIHJlbWFpbnMgb3BlbgorICAgICAgICAgKGkuZS4s IG1hcmtlZCBhcyBpbnZhbGlkKSwgdGhpcyB3aWxsIGJlIDxsaXRlcmFsPk5VTEw8L2xpdGVy YWw+LgorICAgICAgICA8L2VudHJ5PgorICAgICAgIDwvcm93PgogICAgICAgIDxyb3c+CiAg ICAgICAgIDxlbnRyeT48c3RydWN0ZmllbGQ+dmFsaWQ8L3N0cnVjdGZpZWxkPjwvZW50cnk+ CiAgICAgICAgIDxlbnRyeT48dHlwZT5ib29sZWFuPC90eXBlPjwvZW50cnk+Ci0tIAoyLjQ1 LjIKCg== --------------0Z4FqeDpKRNsQo6nG1Vbl4lL--