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 1neu7v-0007e6-NA for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Apr 2022 07:42:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1neu7s-00057N-RA for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Apr 2022 07:42:48 +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 1neu7s-00057E-FT for pgsql-hackers@lists.postgresql.org; Thu, 14 Apr 2022 07:42:48 +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 1neu7p-0001Dh-6v for pgsql-hackers@postgresql.org; Thu, 14 Apr 2022 07:42:48 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 3904A6094A; Thu, 14 Apr 2022 16:42:39 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.5 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_777ab6e526f2bd6873ad12b760053ce7" Content-Transfer-Encoding: 7bit Date: Thu, 14 Apr 2022 16:42:39 +0900 From: Shinya Kato To: Kyotaro Horiguchi , robertmhaas@gmail.com Cc: michael@paquier.xyz, pgsql-hackers@postgresql.org Subject: Re: Add --{no-,}bypassrls flags to createuser In-Reply-To: <20220413.173502.518232247235383609.horikyota.ntt@gmail.com> References: <69a9851035cf0f0477bcc5d742b031a3@oss.nttdata.com> <20220413.154625.2001259434473326066.horikyota.ntt@gmail.com> <20220413.173502.518232247235383609.horikyota.ntt@gmail.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: Shinya11.Kato@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_777ab6e526f2bd6873ad12b760053ce7 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2022-04-13 17:35, Kyotaro Horiguchi wrote: > At Wed, 13 Apr 2022 16:10:01 +0900, Michael Paquier > wrote in >> On Wed, Apr 13, 2022 at 03:46:25PM +0900, Kyotaro Horiguchi wrote: >> > It is sensible to rig createuser command with full capability of >> > CREATE ROLE is reasonable. >> > >> > Only --replication is added by commit 9b8aff8c19 (2010) since >> > 8ae0d476a9 (2005). BYPASSRLS and NOBYPASSRLS were introduced by >> > 491c029dbc (2014) but it seems to have forgotten to add the >> > corresponding createuser options. >> > >> > By a quick search, found a few other CREATE ROLE optinos that are not >> > supported by createuser. >> >> My question is: is BYPASSRLS common enough to justify having a switch >> to createuser? As the development cycle of 15 has just finished and >> that we are in feature freeze, you may want to hold on new patches for >> a bit. The next commit fest is planned for July. > > I don't think there's a definitive criteria (other than feasibility) > for whether each CREATE ROLE option should have the correspondent > option in the createuser command. I don't see a clear reason why > createuser command should not have the option. Thank you for the review! I created a new patch containing 'VALID UNTIL', 'ADMIN', and 'ROLE'. To add the ROLE clause, the originally existing --role option (corresponding to the IN ROLE clause) is changed to the --in-role option. Would this not be good from a backward compatibility standpoint? > As far as schedules are concerned, I don't think this has anything to > do with 15. I have registered this patch for the July commit fest. -- Regards, -- Shinya Kato Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --=_777ab6e526f2bd6873ad12b760053ce7 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v2-add-bypassrls-flag-to-createuser.patch Content-Disposition: attachment; filename=v2-add-bypassrls-flag-to-createuser.patch; size=11037 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRldXNlci5zZ21sIGIvZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGV1c2VyLnNnbWwKaW5kZXggMTc1NzllNTBhZi4uZmM0Nzc2MDVmNiAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGV1c2VyLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGV1c2VyLnNnbWwKQEAgLTc2LDYgKzc2LDIwIEBAIFBvc3RncmVTUUwgZG9j dW1lbnRhdGlvbgogICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAg ICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+LWEgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnJvbGU8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKyAgICAg IDx0ZXJtPjxvcHRpb24+LS1hZG1pbj08cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cm9s ZTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAg IDxwYXJhPgorICAgICAgICAgVGhlIG5ldyByb2xlIHdpbGwgYmUgYWRkZWQgaW1tZWRpYXRlbHkg YXMgYSBtZW1iZXIgd2l0aCBhZG1pbiBvcHRpb24KKyAgICAgICAgIG9mIHRoaXMgcm9sZS4KKyAg ICAgICAgIE11bHRpcGxlIHJvbGVzIHRvIHdoaWNoIG5ldyByb2xlIHdpbGwgYmUgYWRkZWQgYXMg YSBtZW1iZXIgd2l0aCBhZG1pbgorICAgICAgICAgb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgYnkg d3JpdGluZyBtdWx0aXBsZQorICAgICAgICAgPG9wdGlvbj4tYTwvb3B0aW9uPiBzd2l0Y2hlcy4K KyAgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5 PgorCiAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICA8dGVybT48b3B0aW9uPi1jIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1iZXI8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVy bT4KICAgICAgIDx0ZXJtPjxvcHRpb24+LS1jb25uZWN0aW9uLWxpbWl0PTxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5udW1iZXI8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KQEAg LTEzMiw3ICsxNDYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAogICAgICA8dmFybGlz dGVudHJ5PgogICAgICAgPHRlcm0+PG9wdGlvbj4tZyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+cm9sZTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgotICAgICAgPHRlcm0+PG9w dGlvbj4tLXJvbGU9PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGU8L3JlcGxhY2Vh YmxlPjwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+LS1pbi1yb2xlPTxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yb2xlPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rl cm0+CiAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgPHBhcmE+CiAgICAgICAgICBJbmRpY2F0ZXMg cm9sZSB0byB3aGljaCB0aGlzIHJvbGUgd2lsbCBiZSBhZGRlZCBpbW1lZGlhdGVseSBhcyBhIG5l dwpAQCAtMTQzLDYgKzE1NywxOSBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgIDwv bGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgIDx2YXJsaXN0ZW50cnk+Cisg ICAgICA8dGVybT48b3B0aW9uPi1HIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yb2xl PC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisgICAgICA8dGVybT48b3B0aW9uPi0tcm9s ZT08cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cm9sZTwvcmVwbGFjZWFibGU+PC9vcHRp b24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICAgVGhl IG5ldyByb2xlIHdpbGwgYmUgYWRkZWQgaW1tZWRpYXRlbHkgYXMgYSBtZW1iZXIgb2YgdGhpcyBy b2xlLgorICAgICAgICAgTXVsdGlwbGUgcm9sZXMgdG8gd2hpY2ggbmV3IHJvbGUgd2lsbCBiZSBh ZGRlZCBhcyBhIG1lbWJlcgorICAgICAgICAgY2FuIGJlIHNwZWNpZmllZCBieSB3cml0aW5nIG11 bHRpcGxlCisgICAgICAgICA8b3B0aW9uPi1HPC9vcHRpb24+IHN3aXRjaGVzLgorICAgICAgICAg PC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKICAgICAg PHZhcmxpc3RlbnRyeT4KICAgICAgIDx0ZXJtPjxvcHRpb24+LWk8L29wdGlvbj48L3Rlcm0+CiAg ICAgICA8dGVybT48b3B0aW9uPi0taW5oZXJpdDwvb3B0aW9uPjwvdGVybT4KQEAgLTI1OCw2ICsy ODUsMTcgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICAgICA8L2xpc3RpdGVtPgogICAg ICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PG9w dGlvbj4tdiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGltZXN0YW1wPC9yZXBsYWNl YWJsZT48L29wdGlvbj48L3Rlcm0+CisgICAgICA8dGVybT48b3B0aW9uPi0tdmFsaWQtdW50aWw9 PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRpbWVzdGFtcDwvcmVwbGFjZWFibGU+PC9v cHRpb24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBT ZXQgYSB0aW1lc3RhbXAgYWZ0ZXIgd2hpY2ggdGhlIHJvbGUncyBwYXNzd29yZCBpcyBubyBsb25n ZXIgdmFsaWQuCisgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRvIHNldCBubyBleHBpcmF0aW9uLgor ICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5Pgor CiAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICAgPHRlcm0+PG9wdGlvbj4tVjwvb3B0aW9uPjwv dGVybT4KICAgICAgICA8dGVybT48b3B0aW9uPi0tdmVyc2lvbjwvb3B0aW9uPjwvdGVybT4KQEAg LTI5MCw2ICszMjgsMjggQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICAgICA8L2xpc3Rp dGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlzdGVudHJ5PgorICAgICAg PHRlcm0+PG9wdGlvbj4tLWJ5cGFzc3Jsczwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDxsaXN0aXRl bT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIG5ldyB1c2VyIHdpbGwgaGF2ZSB0aGUgPGxp dGVyYWw+QllQQVNTUkxTPC9saXRlcmFsPiBwcml2aWxlZ2UsCisgICAgICAgIHdoaWNoIGlzIGRl c2NyaWJlZCBtb3JlIGZ1bGx5IGluIHRoZSBkb2N1bWVudGF0aW9uIGZvciA8eHJlZgorICAgICAg ICBsaW5rZW5kPSJzcWwtY3JlYXRlcm9sZSIvPi4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xp c3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5PgorICAg ICAgPHRlcm0+PG9wdGlvbj4tLW5vLWJ5cGFzc3Jsczwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDxs aXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIG5ldyB1c2VyIHdpbGwgbm90IGhh dmUgdGhlIDxsaXRlcmFsPkJZUEFTU1JMUzwvbGl0ZXJhbD4KKyAgICAgICAgcHJpdmlsZWdlLCB3 aGljaCBpcyBkZXNjcmliZWQgbW9yZSBmdWxseSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgPHhy ZWYKKyAgICAgICAgbGlua2VuZD0ic3FsLWNyZWF0ZXJvbGUiLz4uCisgICAgICAgPC9wYXJhPgor ICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKICAgICAgPHZhcmxpc3Rl bnRyeT4KICAgICAgICA8dGVybT48b3B0aW9uPi0/PC9vcHRpb24+PC90ZXJtPgogICAgICAgIDx0 ZXJtPjxvcHRpb24+LS1oZWxwPC9vcHRpb24+PC90ZXJtPgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w Z19iYXNlYmFja3VwL3QvMDEwX3BnX2Jhc2ViYWNrdXAucGwgYi9zcmMvYmluL3BnX2Jhc2ViYWNr dXAvdC8wMTBfcGdfYmFzZWJhY2t1cC5wbAppbmRleCA3MzA5ZWJkZGVhLi4zZThkODRkZTM2IDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvdC8wMTBfcGdfYmFzZWJhY2t1cC5wbAor KysgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvdC8wMTBfcGdfYmFzZWJhY2t1cC5wbApAQCAtNTg3 LDcgKzU4Nyw3IEBAIG9rKC1mICIkdGVtcGRpci9iYWNrdXBvbnNlcnZlci9iYXNlLnRhciIsICdi YWNrdXAgdGFyIHdhcyBjcmVhdGVkJyk7CiBybXRyZWUoIiR0ZW1wZGlyL2JhY2t1cG9uc2VydmVy Iik7CiAKICRub2RlLT5jb21tYW5kX29rKAotCVtxdyhjcmVhdGV1c2VyIC0tcmVwbGljYXRpb24g LS1yb2xlPXBnX3dyaXRlX3NlcnZlcl9maWxlcyBiYWNrdXB1c2VyKV0sCisJW3F3KGNyZWF0ZXVz ZXIgLS1yZXBsaWNhdGlvbiAtLWluLXJvbGU9cGdfd3JpdGVfc2VydmVyX2ZpbGVzIGJhY2t1cHVz ZXIpXSwKIAknY3JlYXRlIGJhY2t1cCB1c2VyJyk7CiAkbm9kZS0+Y29tbWFuZF9vaygKIAlbIEBw Z19iYXNlYmFja3VwX2RlZnMsICctVScsICdiYWNrdXB1c2VyJywgJy0tdGFyZ2V0JywgInNlcnZl cjokdGVtcGRpci9iYWNrdXBvbnNlcnZlciIsICctWCcsICdub25lJyBdLApkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9zY3JpcHRzL2NyZWF0ZXVzZXIuYyBiL3NyYy9iaW4vc2NyaXB0cy9jcmVhdGV1c2Vy LmMKaW5kZXggYmZiYTBkMDlkMS4uMGEzMTU5MzA1NSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9zY3Jp cHRzL2NyZWF0ZXVzZXIuYworKysgYi9zcmMvYmluL3NjcmlwdHMvY3JlYXRldXNlci5jCkBAIC0z MSw3ICszMSw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJeyJob3N0IiwgcmVx dWlyZWRfYXJndW1lbnQsIE5VTEwsICdoJ30sCiAJCXsicG9ydCIsIHJlcXVpcmVkX2FyZ3VtZW50 LCBOVUxMLCAncCd9LAogCQl7InVzZXJuYW1lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdV J30sCi0JCXsicm9sZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZyd9LAorCQl7ImluLXJv bGUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2cnfSwKIAkJeyJuby1wYXNzd29yZCIsIG5v X2FyZ3VtZW50LCBOVUxMLCAndyd9LAogCQl7InBhc3N3b3JkIiwgbm9fYXJndW1lbnQsIE5VTEws ICdXJ30sCiAJCXsiZWNobyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZSd9LApAQCAtNTEsNyArNTEs MTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQl7ImNvbm5lY3Rpb24tbGltaXQi LCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnfSwKIAkJeyJwd3Byb21wdCIsIG5vX2FyZ3Vt ZW50LCBOVUxMLCAnUCd9LAogCQl7ImVuY3J5cHRlZCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnRSd9 LAotCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwkJeyJieXBhc3NybHMiLCBub19hcmd1bWVudCwgTlVM TCwgNH0sCisJCXsibm8tYnlwYXNzcmxzIiwgbm9fYXJndW1lbnQsIE5VTEwsIDV9LAorCQl7InZh bGlkLXVudGlsIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd2J30sCisJCXsicm9sZSIsIHJl cXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnRyd9LAorCQl7ImFkbWluIiwgcmVxdWlyZWRfYXJndW1l bnQsIE5VTEwsICdhJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfSwKIAl9OwogCiAJY29uc3QgY2hh ciAqcHJvZ25hbWU7CkBAIC02OSw2ICs3NCw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb XSkKIAlpbnQJCQljb25uX2xpbWl0ID0gLTI7CS8qIGxlc3MgdGhhbiBtaW5pbXVtIHZhbGlkIHZh bHVlICovCiAJYm9vbAkJcHdwcm9tcHQgPSBmYWxzZTsKIAljaGFyCSAgICpuZXdwYXNzd29yZCA9 IE5VTEw7CisJU2ltcGxlU3RyaW5nTGlzdCBpbl9yb2xlcyA9IHtOVUxMLCBOVUxMfTsKKwlTaW1w bGVTdHJpbmdMaXN0IGFkbWlucyA9IHtOVUxMLCBOVUxMfTsKKwljaGFyCSAgICp0aW1lc3RhbXAg PSBOVUxMOwogCiAJLyogVHJpLXZhbHVlZCB2YXJpYWJsZXMuICAqLwogCWVudW0gdHJpdmFsdWUg Y3JlYXRlZGIgPSBUUklfREVGQVVMVCwKQEAgLTc2LDcgKzg0LDggQEAgbWFpbihpbnQgYXJnYywg Y2hhciAqYXJndltdKQogCQkJCWNyZWF0ZXJvbGUgPSBUUklfREVGQVVMVCwKIAkJCQlpbmhlcml0 ID0gVFJJX0RFRkFVTFQsCiAJCQkJbG9naW4gPSBUUklfREVGQVVMVCwKLQkJCQlyZXBsaWNhdGlv biA9IFRSSV9ERUZBVUxUOworCQkJCXJlcGxpY2F0aW9uID0gVFJJX0RFRkFVTFQsCisJCQkJYnlw YXNzcmxzID0gVFJJX0RFRkFVTFQ7CiAKIAlQUUV4cEJ1ZmZlckRhdGEgc3FsOwogCkBAIC04OSw3 ICs5OCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAogCWhhbmRsZV9oZWxwX3Zl cnNpb25fb3B0cyhhcmdjLCBhcmd2LCAiY3JlYXRldXNlciIsIGhlbHApOwogCi0Jd2hpbGUgKChj ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImg6cDpVOmc6d1dlZERzU3JSaUlsTGM6UEUiLAor CXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoOnA6VTpnOndXZWREc1NyUmlJ bExjOlBFdjpHOmE6IiwKIAkJCQkJCQlsb25nX29wdGlvbnMsICZvcHRpbmRleCkpICE9IC0xKQog CXsKIAkJc3dpdGNoIChjKQpAQCAtMTA0LDcgKzExMyw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKIAkJCQl1c2VybmFtZSA9IHBnX3N0cmR1cChvcHRhcmcpOwogCQkJCWJyZWFrOwog CQkJY2FzZSAnZyc6Ci0JCQkJc2ltcGxlX3N0cmluZ19saXN0X2FwcGVuZCgmcm9sZXMsIG9wdGFy Zyk7CisJCQkJc2ltcGxlX3N0cmluZ19saXN0X2FwcGVuZCgmaW5fcm9sZXMsIG9wdGFyZyk7CiAJ CQkJYnJlYWs7CiAJCQljYXNlICd3JzoKIAkJCQlwcm9tcHRfcGFzc3dvcmQgPSBUUklfTk87CkBA IC0xNjUsNiArMTc0LDIxIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCWNhc2Ug MzoKIAkJCQlpbnRlcmFjdGl2ZSA9IHRydWU7CiAJCQkJYnJlYWs7CisJCQljYXNlIDQ6CisJCQkJ YnlwYXNzcmxzID0gVFJJX1lFUzsKKwkJCQlicmVhazsKKwkJCWNhc2UgNToKKwkJCQlieXBhc3Ny bHMgPSBUUklfTk87CisJCQkJYnJlYWs7CisJCQljYXNlICd2JzoKKwkJCQl0aW1lc3RhbXAgPSBw Z19zdHJkdXAob3B0YXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ0cnOgorCQkJCXNpbXBsZV9z dHJpbmdfbGlzdF9hcHBlbmQoJnJvbGVzLCBvcHRhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSAn YSc6CisJCQkJc2ltcGxlX3N0cmluZ19saXN0X2FwcGVuZCgmYWRtaW5zLCBvcHRhcmcpOworCQkJ CWJyZWFrOwogCQkJZGVmYXVsdDoKIAkJCQkvKiBnZXRvcHRfbG9uZyBhbHJlYWR5IGVtaXR0ZWQg YSBjb21wbGFpbnQgKi8KIAkJCQlwZ19sb2dfZXJyb3JfaGludCgiVHJ5IFwiJXMgLS1oZWxwXCIg Zm9yIG1vcmUgaW5mb3JtYXRpb24uIiwgcHJvZ25hbWUpOwpAQCAtMzA0LDE0ICszMjgsMzQgQEAg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmc3Fs LCAiIFJFUExJQ0FUSU9OIik7CiAJaWYgKHJlcGxpY2F0aW9uID09IFRSSV9OTykKIAkJYXBwZW5k UFFFeHBCdWZmZXJTdHIoJnNxbCwgIiBOT1JFUExJQ0FUSU9OIik7CisJaWYgKGJ5cGFzc3JscyA9 PSBUUklfWUVTKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmc3FsLCAiIEJZUEFTU1JMUyIpOwor CWlmIChieXBhc3NybHMgPT0gVFJJX05PKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmc3FsLCAi IE5PQllQQVNTUkxTIik7CiAJaWYgKGNvbm5fbGltaXQgPj0gLTEpCiAJCWFwcGVuZFBRRXhwQnVm ZmVyKCZzcWwsICIgQ09OTkVDVElPTiBMSU1JVCAlZCIsIGNvbm5fbGltaXQpOwotCWlmIChyb2xl cy5oZWFkICE9IE5VTEwpCisJaWYgKHRpbWVzdGFtcCAhPSBOVUxMKQorCQlhcHBlbmRQUUV4cEJ1 ZmZlcigmc3FsLCAiIFZBTElEIFVOVElMICclcyciLCB0aW1lc3RhbXApOworCWlmIChpbl9yb2xl cy5oZWFkICE9IE5VTEwpCiAJewogCQlTaW1wbGVTdHJpbmdMaXN0Q2VsbCAqY2VsbDsKIAogCQlh cHBlbmRQUUV4cEJ1ZmZlclN0cigmc3FsLCAiIElOIFJPTEUgIik7CiAKKwkJZm9yIChjZWxsID0g aW5fcm9sZXMuaGVhZDsgY2VsbDsgY2VsbCA9IGNlbGwtPm5leHQpCisJCXsKKwkJCWlmIChjZWxs LT5uZXh0KQorCQkJCWFwcGVuZFBRRXhwQnVmZmVyKCZzcWwsICIlcywiLCBmbXRJZChjZWxsLT52 YWwpKTsKKwkJCWVsc2UKKwkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmc3FsLCBmbXRJZChjZWxs LT52YWwpKTsKKwkJfQorCX0KKwlpZiAocm9sZXMuaGVhZCAhPSBOVUxMKQorCXsKKwkJU2ltcGxl U3RyaW5nTGlzdENlbGwgKmNlbGw7CisKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJnNxbCwgIiBS T0xFICIpOworCiAJCWZvciAoY2VsbCA9IHJvbGVzLmhlYWQ7IGNlbGw7IGNlbGwgPSBjZWxsLT5u ZXh0KQogCQl7CiAJCQlpZiAoY2VsbC0+bmV4dCkKQEAgLTMyMCw2ICszNjQsMjEgQEAgbWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdKQogCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZzcWwsIGZt dElkKGNlbGwtPnZhbCkpOwogCQl9CiAJfQorCWlmIChhZG1pbnMuaGVhZCAhPSBOVUxMKQorCXsK KwkJU2ltcGxlU3RyaW5nTGlzdENlbGwgKmNlbGw7CisKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIo JnNxbCwgIiBBRE1JTiAiKTsKKworCQlmb3IgKGNlbGwgPSBhZG1pbnMuaGVhZDsgY2VsbDsgY2Vs bCA9IGNlbGwtPm5leHQpCisJCXsKKwkJCWlmIChjZWxsLT5uZXh0KQorCQkJCWFwcGVuZFBRRXhw QnVmZmVyKCZzcWwsICIlcywiLCBmbXRJZChjZWxsLT52YWwpKTsKKwkJCWVsc2UKKwkJCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cigmc3FsLCBmbXRJZChjZWxsLT52YWwpKTsKKwkJfQorCX0KKwogCWFw cGVuZFBRRXhwQnVmZmVyQ2hhcigmc3FsLCAnOycpOwogCiAJaWYgKGVjaG8pCkBAIC0zNDYsMTEg KzQwNSwxNCBAQCBoZWxwKGNvbnN0IGNoYXIgKnByb2duYW1lKQogCXByaW50ZihfKCJVc2FnZTpc biIpKTsKIAlwcmludGYoXygiICAlcyBbT1BUSU9OXS4uLiBbUk9MRU5BTUVdXG4iKSwgcHJvZ25h bWUpOwogCXByaW50ZihfKCJcbk9wdGlvbnM6XG4iKSk7CisJcHJpbnRmKF8oIiAgLWEsIC0tYWRt aW49Uk9MRSAgICAgICAgICB0aGlzIHJvbGUgd2lsbCBiZSBhIG1lbWJlciBvZiBuZXcgcm9sZVxu IgorCQkJICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhZG1pbiBvcHRpb25cbiIp KTsKIAlwcmludGYoXygiICAtYywgLS1jb25uZWN0aW9uLWxpbWl0PU4gIGNvbm5lY3Rpb24gbGlt aXQgZm9yIHJvbGUgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIikpOwogCXByaW50ZihfKCIgIC1kLCAt LWNyZWF0ZWRiICAgICAgICAgICAgcm9sZSBjYW4gY3JlYXRlIG5ldyBkYXRhYmFzZXNcbiIpKTsK IAlwcmludGYoXygiICAtRCwgLS1uby1jcmVhdGVkYiAgICAgICAgIHJvbGUgY2Fubm90IGNyZWF0 ZSBkYXRhYmFzZXMgKGRlZmF1bHQpXG4iKSk7CiAJcHJpbnRmKF8oIiAgLWUsIC0tZWNobyAgICAg ICAgICAgICAgICBzaG93IHRoZSBjb21tYW5kcyBiZWluZyBzZW50IHRvIHRoZSBzZXJ2ZXJcbiIp KTsKLQlwcmludGYoXygiICAtZywgLS1yb2xlPVJPTEUgICAgICAgICAgIG5ldyByb2xlIHdpbGwg YmUgYSBtZW1iZXIgb2YgdGhpcyByb2xlXG4iKSk7CisJcHJpbnRmKF8oIiAgLWcsIC0taW4tcm9s ZT1ST0xFICAgICAgICBuZXcgcm9sZSB3aWxsIGJlIGEgbWVtYmVyIG9mIHRoaXMgcm9sZVxuIikp OworCXByaW50ZihfKCIgIC1HLCAtLXJvbGU9Uk9MRSAgICAgICAgICAgdGhpcyByb2xlIHdpbGwg YmUgYSBtZW1iZXIgb2YgbmV3IHJvbGVcbiIpKTsKIAlwcmludGYoXygiICAtaSwgLS1pbmhlcml0 ICAgICAgICAgICAgIHJvbGUgaW5oZXJpdHMgcHJpdmlsZWdlcyBvZiByb2xlcyBpdCBpcyBhXG4i CiAJCQkgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXIgb2YgKGRlZmF1bHQpXG4i KSk7CiAJcHJpbnRmKF8oIiAgLUksIC0tbm8taW5oZXJpdCAgICAgICAgICByb2xlIGRvZXMgbm90 IGluaGVyaXQgcHJpdmlsZWdlc1xuIikpOwpAQCAtMzYxLDExICs0MjMsMTQgQEAgaGVscChjb25z dCBjaGFyICpwcm9nbmFtZSkKIAlwcmludGYoXygiICAtUiwgLS1uby1jcmVhdGVyb2xlICAgICAg IHJvbGUgY2Fubm90IGNyZWF0ZSByb2xlcyAoZGVmYXVsdClcbiIpKTsKIAlwcmludGYoXygiICAt cywgLS1zdXBlcnVzZXIgICAgICAgICAgIHJvbGUgd2lsbCBiZSBzdXBlcnVzZXJcbiIpKTsKIAlw cmludGYoXygiICAtUywgLS1uby1zdXBlcnVzZXIgICAgICAgIHJvbGUgd2lsbCBub3QgYmUgc3Vw ZXJ1c2VyIChkZWZhdWx0KVxuIikpOworCXByaW50ZihfKCIgIC12LCAtLXZhbGlkLXVudGlsICAg ICAgICAgcGFzc3dvcmQgZXhwaXJhdGlvbiB0aW1lc3RhbXAgZm9yIHJvbGVcbiIpKTsKIAlwcmlu dGYoXygiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0 aW9uLCB0aGVuIGV4aXRcbiIpKTsKIAlwcmludGYoXygiICAtLWludGVyYWN0aXZlICAgICAgICAg ICAgIHByb21wdCBmb3IgbWlzc2luZyByb2xlIG5hbWUgYW5kIGF0dHJpYnV0ZXMgcmF0aGVyXG4i CiAJCQkgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHVzaW5nIGRlZmF1bHRzXG4i KSk7CiAJcHJpbnRmKF8oIiAgLS1yZXBsaWNhdGlvbiAgICAgICAgICAgICByb2xlIGNhbiBpbml0 aWF0ZSByZXBsaWNhdGlvblxuIikpOwogCXByaW50ZihfKCIgIC0tbm8tcmVwbGljYXRpb24gICAg ICAgICAgcm9sZSBjYW5ub3QgaW5pdGlhdGUgcmVwbGljYXRpb25cbiIpKTsKKwlwcmludGYoXygi ICAtLWJ5cGFzc3JscyAgICAgICAgICAgICAgIHJvbGUgY2FuIGJ5cGFzcyByb3ctbGV2ZWwgc2Vj dXJpdHkgKFJMUykgcG9saWN5XG4iKSk7CisJcHJpbnRmKF8oIiAgLS1uby1ieXBhc3NybHMgICAg ICAgICAgICByb2xlIGNhbm5vdCBieXBhc3Mgcm93LWxldmVsIHNlY3VyaXR5IChSTFMpIHBvbGlj eVxuIikpOwogCXByaW50ZihfKCIgIC0/LCAtLWhlbHAgICAgICAgICAgICAgICAgc2hvdyB0aGlz IGhlbHAsIHRoZW4gZXhpdFxuIikpOwogCXByaW50ZihfKCJcbkNvbm5lY3Rpb24gb3B0aW9uczpc biIpKTsKIAlwcmludGYoXygiICAtaCwgLS1ob3N0PUhPU1ROQU1FICAgICAgIGRhdGFiYXNlIHNl cnZlciBob3N0IG9yIHNvY2tldCBkaXJlY3RvcnlcbiIpKTsK --=_777ab6e526f2bd6873ad12b760053ce7--