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 1rak2B-00BERF-Sn for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Feb 2024 22:16:48 +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 1rak29-00FkEi-Pq for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Feb 2024 22:16:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rak29-00FkEE-7r for pgsql-hackers@lists.postgresql.org; Thu, 15 Feb 2024 22:16:45 +0000 Received: from mail-roabra01olkn2024.outbound.protection.outlook.com ([40.92.96.24] helo=BRA01-ROA-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rak25-006whG-E3 for pgsql-hackers@postgresql.org; Thu, 15 Feb 2024 22:16:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GM8vHN+DTFGYTlG7+37FZ2joNzdYPiWG5PM6k5gqPno2ZUJrnbFQr7Alte2KGg4C0kQ9GuR5ILejh2JU0s/YY56L2QhoHj/Gl73cPNwYes2sLn6kBnLd8bYc09EPQFfjDZvKPrbSQefIJOWkk61w62UcbA8UZVv+pzK2L65hPuZLJZJ9jdAynLZOT1PZ7GWTD2JkBQAoOs3LfbusclwisLYFaVNlmgWqMOPf2PHMSxO0fcAIIZE7Oia5EuUEiD/suH+x8v74z+7hj8/lu9q1s/8fxLtPrUS1caHZMM+YBPEdfkHRTg5xKqBx1F7xFwumwSIAU6CPU6Twvu2KPf6suw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QJYCBS3kw3RzcUgZ29wfMy7W92UscIyv9sBG9GJLo68=; b=iMJg8k0mhu4m0IYNtsi74rTxk3BfiuBA3YWwvj8ZzbgK+FfagQlH2sJaTmHIxcTRjDiBv7ZwSzxrFtiBrIhwTX41SP4iWqSSL7uSVtDeBb9iXGFUNr54JGqAfb8MCqN9on+/DFOcGwijQ/SdWmzLXHWir1O5xqLbLMoE6r21lLnXYtwnO+a7gBiZLaRWufde9lO676Jb3ePEAFOaCP4aQC8BsiSodVpVsv2bftIxBw7h7amYxfYkwRMFytFu+HeE25olEF2Go0LIHGWvqIUG338TNJFZpiMnz4hHY2i1mT1jlDIEkxudBIwGirsPnpd64El0jBqhe2QIoUsaCoT6Fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM (2603:10d6:103:2dc::11) by CP5P284MB1992.BRAP284.PROD.OUTLOOK.COM (2603:10d6:103:1f7::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.29; Thu, 15 Feb 2024 22:16:33 +0000 Received: from CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM ([fe80::ce6:bf75:3d4a:97cf]) by CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM ([fe80::ce6:bf75:3d4a:97cf%6]) with mapi id 15.20.7292.029; Thu, 15 Feb 2024 22:16:33 +0000 From: Maiquel Grassi To: Jim Jones , Pavel Luzanov , Nathan Bossart CC: Erik Wienhold , "pgsql-hackers@postgresql.org" Subject: RE: Psql meta-command conninfo+ Thread-Topic: Psql meta-command conninfo+ Thread-Index: AQHaWRQuU7L2MD2CX0quiO/hLxQK8bD9n9eAgAAOagCAABlrgoAABsOAgAABrYCAAAkRMoAAAaIAgABfmwKAAJe3AIAAHVoLgAAnEwCAADA+O4ABA4CAgAA4UGOAASa0gIAFGF5sgAMAW4CAAhkLZoAAKvw7 Date: Thu, 15 Feb 2024 22:16:33 +0000 Message-ID: References: <20240206210605.GA3903769@nathanxps13> <20240206211205.GA3903996@nathanxps13> <20240206215022.GA3452@nathanxps13> <852cabef-f596-4826-9a54-d3f75d9a6cc8@postgrespro.ru> <49edac91-d47f-4cac-ae12-d51cabbd87c9@postgrespro.ru> <49635a5b-3d32-4f05-8ce4-c55c70181888@uni-muenster.de> In-Reply-To: Accept-Language: pt-BR, en-US Content-Language: pt-BR X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [xB2normdb6dpuz+NCNyxYP29MxK2gAZMa7s6tHkremeyWMrwRrTlY/hGexWLUNXO] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CP8P284MB2496:EE_|CP5P284MB1992:EE_ x-ms-office365-filtering-correlation-id: 82eb0e78-73a1-42d9-5fb4-08dc2e73c4cc x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: H0tDLHbSHJCsvrmgNjl1A86H9qh4Ob3fGDbOXLphd8apWYK2RYjCp/CIbkeXV4nbVOQGg2Gp2Lh8vyZqPhAVerfv62iLTAXWImWxXOxFiKemSu1SZWDOC6yoX9rS4ephpN5Y6F5DeF4ytgGeuWhZn2GT52LU+GQsRWHRCaYTDFFtFMNDZLNKOEoibXVODMw/d7QUYSWWKUmvH0lrqnIWigOvoPowGlu7DdsD9UPNlJRafk0tsszKcxNyO8LdyIIzGgQOqA4rP9up9T4/9/zp/HV6QCgPJzIGqUujgeteqgoPLlVfJZTDTVHEPxl0sNLJrzEZmrAYQ9HFQ2vAyZQVrJB2p/efohS5RpJLTnjnEJmbYvqalUjVdpKMD5nuGXgqydqJ9S7iKG5xjeMJzdu9XxBwjrySp3ypez0bEJFldVf6TXec5Pr3qprnoYbD55OtNkwYDw3sR8PoqQXKxFjs+TFPN5okGmfhUytWo/JLYz08//4q7FRibEtGlICAdKXRB7V6jUkuRhEfs0Wc7NWZUcevKECkSYez8+M8z82nkkpeiSLWtykUjmPPzUxjnmVVULTWrM2O1Zo6Y9mL5kGL/fYZMoOyd4xdjVY108QxoRM= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?SvwjoAIHSjM+uBdTQJgKyedRO9LmgTHNhKrH8wxkjWPVi6XJntQ4Q/MXwx?= =?iso-8859-1?Q?rMnx7ObdNJh93fir2KpwTYusD9D7EynMMxrvhvjsIJl3UzOZEjgaxpiaOQ?= =?iso-8859-1?Q?tKfL7wDLj/6DfdTjDRsPjZGWwQPQb6gLJxSsElI3OX4umNFAhbg6bRsdiQ?= =?iso-8859-1?Q?yjFemOZpr+dlz0j6z8hMmGp4NemvcEp1L/NWXe9HjWWCH/TmA+MhMhDxSP?= =?iso-8859-1?Q?Cb8bB54pdyxLaC71ZlTo0cLUKtLKSDKH7Fhqu1gIQ1Vt72+SGisdcy4Ykm?= =?iso-8859-1?Q?nsc25CD1I+6Pt/TAHvHweAhD7IhXINhmdzF/poBDjS54/AhrYrLE5jg2sM?= =?iso-8859-1?Q?uoLQCLX4rtrJR9ffgw2eQInNHpRLyQIP6wqZIYaNBWbORzTeZeA70UWgE4?= =?iso-8859-1?Q?hSnLLN4cOF6lTKGAerVwlFNt0k8pSxv/0cUFSlvMgturpgANHIWVSrE9mq?= =?iso-8859-1?Q?zUXI0hEt/Z0T78N7mOuI3x/pwbQdLzHqaK/6KA4lVhPzk8QkEu09FAck5I?= =?iso-8859-1?Q?bpDgOxLA/JHT0oUGpubUEYn2WI0UyRbFMyhYuqHcJi0tDOADTRi5TuHF4Q?= =?iso-8859-1?Q?3A7YkxIWAZzisDlC/L4p7nvSKOvmaTwPiqugsv4jbjtcZLugvg7rqZ8tjm?= =?iso-8859-1?Q?92Ici4SP35srMcfnlQMbVNEfxp5Gl8DrfMdjk2yCRegnK1IrMSnuzMZAt6?= =?iso-8859-1?Q?c6dQ2imXy3olwTzUDku1/mYvMJMtGEseD25tsLAYkyL46bWPTtK2QnmKFx?= =?iso-8859-1?Q?CPqbI0TWpoNLBck2Uj8YY5xcJ61OkA1F6uwY2lXS17feY5vNt/LQa5sE/C?= =?iso-8859-1?Q?nwH+jzFFmZoym+KmJKbnj8062fyXLq9+esYOt0B6/GcGumP6GOwV7+CVht?= =?iso-8859-1?Q?Za5sQgPGfc5e1zXItL0egQpkFx0Cjw7pHnV+sXw70UENd3VwNSDsXSmqp1?= =?iso-8859-1?Q?OCE7stuXen39wCR/4nw4XzJPx91B1m0rEiPUBVfAxzrPS9f8jKQ0JB48BI?= =?iso-8859-1?Q?qhi7ZTmPCOzn9S6Q+npbxz5dxvKKsS26odk+D2SQ8mYFAX1LUI55HER4On?= =?iso-8859-1?Q?xbmDfcNf2CnkDFKxKmXkSiHYiWM83hndQFaYwa8L1dXMs939bueexJXeTl?= =?iso-8859-1?Q?myyzz+JiyCjlE9MFh7pJB0gu1GGmMi7Qlqfu2Sf/z0JW7uRIs0ZZpp3pVA?= =?iso-8859-1?Q?s3odu2EY11Z8j4rHJGf/ONwxFP2pnG5QTsj31T7CXwcjybfr+IQjoKT/ce?= =?iso-8859-1?Q?/phkdawP/ejpBg9bjj2IP7B+f4PQLAiJenpINgYU5OnIgBE+SOIxhgY4m2?= =?iso-8859-1?Q?Pc0aNA7jLwwFmIReTSoCHVrFerElvznSvAdmKSBDVrjDkEM=3D?= Content-Type: multipart/mixed; boundary="_004_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_" MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-7dc52.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 82eb0e78-73a1-42d9-5fb4-08dc2e73c4cc X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Feb 2024 22:16:33.7510 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CP5P284MB1992 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_ Content-Type: multipart/alternative; boundary="_000_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_" --_000_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi! (v16) In this version, I made a small adjustment to the indentation of the \conninfo code and described the columns as returned by \conninfo+ as suggested by Jim Jones. Regards, Maiquel Grassi. --_000_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

= Hi!

(v16)

In this version, I made a small adjustment to the indentation
of the \conninfo code and described the columns as returned
by \conninfo+ as suggested by Jim Jones.


Regards,
Maiquel Grassi.
--_000_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_-- --_004_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_ Content-Type: application/octet-stream; name="v16-0001-psql-meta-command-conninfo-plus.patch" Content-Description: v16-0001-psql-meta-command-conninfo-plus.patch Content-Disposition: attachment; filename="v16-0001-psql-meta-command-conninfo-plus.patch"; size=10576; creation-date="Thu, 15 Feb 2024 22:13:29 GMT"; modification-date="Thu, 15 Feb 2024 22:13:47 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvcHNxbC1yZWYuc2dtbAppbmRleCBjYzdkNzk3Li4zNTk0YWNmIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wc3Fs LXJlZi5zZ21sCkBAIC0xMDI5LDEwICsxMDI5LDI0IEBAIElOU0VSVCBJTlRPIHRibDEgVkFMVUVT ICgkMSwgJDIpIFxiaW5kICdmaXJzdCB2YWx1ZScgJ3NlY29uZCB2YWx1ZScgXGcKICAgICAgIDwv dmFybGlzdGVudHJ5PgogCiAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNv bW1hbmQtY29ubmluZm8iPgotICAgICAgICA8dGVybT48bGl0ZXJhbD5cY29ubmluZm88L2xpdGVy YWw+PC90ZXJtPgorICAgICAgICA8dGVybT48bGl0ZXJhbD5cY29ubmluZm9bK108L2xpdGVyYWw+ PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgogICAgICAgICBPdXRw dXRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGRhdGFiYXNlIGNvbm5lY3Rpb24uCisg ICAgICAgIFdoZW4gbm8gPGxpdGVyYWw+KzwvbGl0ZXJhbD4gaXMgc3BlY2lmaWVkLCBpdCBzaW1w bHkgcHJpbnRzCisgICAgICAgIGEgdGV4dHVhbCBkZXNjcmlwdGlvbiBvZiBhIGZldyBjb25uZWN0 aW9uIG9wdGlvbnMuCisgICAgICAgIFdoZW4gPGxpdGVyYWw+KzwvbGl0ZXJhbD4gaXMgZ2l2ZW4s IG1vcmUgY29tcGxldGUgaW5mb3JtYXRpb24KKyAgICAgICAgaXMgZGlzcGxheWVkIGFzIGEgdGFi bGUuCisgICAgICAgIDwvcGFyYT4KKworICAgICAgICA8cGFyYT4KKyAgICAgICAgIkRhdGFiYXNl IiwgIkF1dGhlbnRpY2F0ZWQgVXNlciIsICJTeXN0ZW0gVXNlciIgKG9ubHkgZm9yIFBvc3RncmVT UUwgMTYgb3IgaGlnaGVyKSwKKyAgICAgICAgIkN1cnJlbnQgVXNlciIsICJTZXNzaW9uIFVzZXIi LCAiQmFja2VuZCBQSUQiLCAiU2VydmVyIEFkZHJlc3MiLCAiU2VydmVyIFBvcnQiLAorICAgICAg ICAiQ2xpZW50IEFkZHJlc3MiLCAiQ2xpZW50IFBvcnQiLCAiU29ja2V0IERpcmVjdG9yeSIsIGFu ZCAiSG9zdCIgY29sdW1ucyBhcmUgbGlzdGVkCisgICAgICAgIGJ5IGRlZmF1bHQgd2hlbiA8bGl0 ZXJhbD5cY29ubmluZm8rPC9saXRlcmFsPiBpcyBpbnZva2VkLiBUaGUgY29sdW1ucyAiRW5jcnlw dGlvbiIsCisgICAgICAgICJQcm90b2NvbCIsICJDaXBoZXIiLCBhbmQgIkNvbXByZXNzaW9uIiBh cmUgYWRkZWQgdG8gdGhpcyBvdXRwdXQgd2hlbiBUTFMgKFNTTCkKKyAgICAgICAgYXV0aGVudGlj YXRpb24gaXMgdXNlZC4gVGhlIHNhbWUgYXBwbGllcyB0byBHU1MgYXV0aGVudGljYXRpb24gaXMg dXNlZCwgd2hlcmUgdGhlCisgICAgICAgICJHU1NBUEkiIGNvbHVtbiBpcyBhbHNvIGFkZGVkIHRv IHRoZSA8bGl0ZXJhbD5cY29ubmluZm8rPC9saXRlcmFsPiBvdXRwdXQuCiAgICAgICAgIDwvcGFy YT4KICAgICAgICAgPC9saXN0aXRlbT4KICAgICAgIDwvdmFybGlzdGVudHJ5PgpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKaW5kZXgg NWM5MDZlNC4uY2I1NDI5ZiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYworKysg Yi9zcmMvYmluL3BzcWwvY29tbWFuZC5jCkBAIC02OCw3ICs2OCw4IEBAIHN0YXRpYyBiYWNrc2xh c2hSZXN1bHQgZXhlY19jb21tYW5kX0MoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFj dGl2ZV9icmFuCiBzdGF0aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9jb25uZWN0KFBz cWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKTsKIHN0YXRpYyBiYWNr c2xhc2hSZXN1bHQgZXhlY19jb21tYW5kX2NkKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9v bCBhY3RpdmVfYnJhbmNoLAogCQkJCQkJCQkJICAgY29uc3QgY2hhciAqY21kKTsKLXN0YXRpYyBi YWNrc2xhc2hSZXN1bHQgZXhlY19jb21tYW5kX2Nvbm5pbmZvKFBzcWxTY2FuU3RhdGUgc2Nhbl9z dGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKTsKK3N0YXRpYyBiYWNrc2xhc2hSZXN1bHQgZXhlY19j b21tYW5kX2Nvbm5pbmZvKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJh bmNoLAorCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqY21kKTsKIHN0YXRpYyBiYWNrc2xhc2hSZXN1 bHQgZXhlY19jb21tYW5kX2NvcHkoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2 ZV9icmFuY2gpOwogc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVjX2NvbW1hbmRfY29weXJpZ2h0 KFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKTsKIHN0YXRpYyBi YWNrc2xhc2hSZXN1bHQgZXhlY19jb21tYW5kX2Nyb3NzdGFidmlldyhQc3FsU2NhblN0YXRlIHNj YW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCk7CkBAIC0zMTcsOCArMzE4LDggQEAgZXhlY19j b21tYW5kKGNvbnN0IGNoYXIgKmNtZCwKIAkJc3RhdHVzID0gZXhlY19jb21tYW5kX2Nvbm5lY3Qo c2Nhbl9zdGF0ZSwgYWN0aXZlX2JyYW5jaCk7CiAJZWxzZSBpZiAoc3RyY21wKGNtZCwgImNkIikg PT0gMCkKIAkJc3RhdHVzID0gZXhlY19jb21tYW5kX2NkKHNjYW5fc3RhdGUsIGFjdGl2ZV9icmFu Y2gsIGNtZCk7Ci0JZWxzZSBpZiAoc3RyY21wKGNtZCwgImNvbm5pbmZvIikgPT0gMCkKLQkJc3Rh dHVzID0gZXhlY19jb21tYW5kX2Nvbm5pbmZvKHNjYW5fc3RhdGUsIGFjdGl2ZV9icmFuY2gpOwor CWVsc2UgaWYgKHN0cmNtcChjbWQsICJjb25uaW5mbyIpID09IDAgfHwgc3RyY21wKGNtZCwgImNv bm5pbmZvKyIpID09IDApCisJCXN0YXR1cyA9IGV4ZWNfY29tbWFuZF9jb25uaW5mbyhzY2FuX3N0 YXRlLCBhY3RpdmVfYnJhbmNoLCBjbWQpOwogCWVsc2UgaWYgKHBnX3N0cmNhc2VjbXAoY21kLCAi Y29weSIpID09IDApCiAJCXN0YXR1cyA9IGV4ZWNfY29tbWFuZF9jb3B5KHNjYW5fc3RhdGUsIGFj dGl2ZV9icmFuY2gpOwogCWVsc2UgaWYgKHN0cmNtcChjbWQsICJjb3B5cmlnaHQiKSA9PSAwKQpA QCAtNjQzLDQ3ICs2NDQsODAgQEAgZXhlY19jb21tYW5kX2NkKFBzcWxTY2FuU3RhdGUgc2Nhbl9z dGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoLCBjb25zdCBjaGFyICpjbWQpCiB9CiAKIC8qCi0gKiBc Y29ubmluZm8gLS0gZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBjb25uZWN0 aW9uCisgKiBcY29ubmluZm8sIFxjb25uaW5mbysgLS0gZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91 dCB0aGUgY3VycmVudCBjb25uZWN0aW9uCiAgKi8KIHN0YXRpYyBiYWNrc2xhc2hSZXN1bHQKLWV4 ZWNfY29tbWFuZF9jb25uaW5mbyhQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZl X2JyYW5jaCkKK2V4ZWNfY29tbWFuZF9jb25uaW5mbyhQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUs IGJvb2wgYWN0aXZlX2JyYW5jaCwgY29uc3QgY2hhciAqY21kKQogeworCWJvb2wJCXN1Y2Nlc3Mg PSB0cnVlOworCiAJaWYgKGFjdGl2ZV9icmFuY2gpCiAJewogCQljaGFyCSAgICpkYiA9IFBRZGIo cHNldC5kYik7CisJCWJvb2wJCXNob3dfdmVyYm9zZTsKKworCQlzaG93X3ZlcmJvc2UgPSBzdHJj aHIoY21kLCAnKycpID8gdHJ1ZSA6IGZhbHNlOwogCi0JCWlmIChkYiA9PSBOVUxMKQotCQkJcHJp bnRmKF8oIllvdSBhcmUgY3VycmVudGx5IG5vdCBjb25uZWN0ZWQgdG8gYSBkYXRhYmFzZS5cbiIp KTsKKwkJLyoKKwkJICogXGNvbm5pbmZvKworCQkgKi8KKwkJaWYgKHNob3dfdmVyYm9zZSkKKwkJ CXN1Y2Nlc3MgPSBsaXN0Q29ubmVjdGlvbkluZm9ybWF0aW9uKCk7CisKKwkJLyoKKwkJICogXGNv bm5pbmZvCisJCSAqLwogCQllbHNlCiAJCXsKLQkJCWNoYXIJICAgKmhvc3QgPSBQUWhvc3QocHNl dC5kYik7Ci0JCQljaGFyCSAgICpob3N0YWRkciA9IFBRaG9zdGFkZHIocHNldC5kYik7CisJCQlQ R3Jlc3VsdCAgICpyZXM7CisJCQlQUUV4cEJ1ZmZlckRhdGEgYnVmOwogCi0JCQlpZiAoaXNfdW5p eHNvY2tfcGF0aChob3N0KSkKLQkJCXsKLQkJCQkvKiBob3N0YWRkciBvdmVycmlkZXMgaG9zdCAq LwotCQkJCWlmIChob3N0YWRkciAmJiAqaG9zdGFkZHIpCi0JCQkJCXByaW50ZihfKCJZb3UgYXJl IGNvbm5lY3RlZCB0byBkYXRhYmFzZSBcIiVzXCIgYXMgdXNlciBcIiVzXCIgb24gYWRkcmVzcyBc IiVzXCIgYXQgcG9ydCBcIiVzXCIuXG4iKSwKLQkJCQkJCSAgIGRiLCBQUXVzZXIocHNldC5kYiks IGhvc3RhZGRyLCBQUXBvcnQocHNldC5kYikpOwotCQkJCWVsc2UKLQkJCQkJcHJpbnRmKF8oIllv dSBhcmUgY29ubmVjdGVkIHRvIGRhdGFiYXNlIFwiJXNcIiBhcyB1c2VyIFwiJXNcIiB2aWEgc29j a2V0IGluIFwiJXNcIiBhdCBwb3J0IFwiJXNcIi5cbiIpLAotCQkJCQkJICAgZGIsIFBRdXNlcihw c2V0LmRiKSwgaG9zdCwgUFFwb3J0KHBzZXQuZGIpKTsKLQkJCX0KKwkJCWluaXRQUUV4cEJ1ZmZl cigmYnVmKTsKKworCQkJcHJpbnRmUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCQkgICJTRUxFQ1Rc biIKKwkJCQkJCQkgICIgIGluZXRfc2VydmVyX2FkZHIoKTsiKTsKKworCQkJcmVzID0gUFNRTGV4 ZWMoYnVmLmRhdGEpOworCisJCQl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7CisKKwkJCWlmICghcmVz KQorCQkJCXJldHVybiBQU1FMX0NNRF9FUlJPUjsKIAkJCWVsc2UKIAkJCXsKLQkJCQlpZiAoaG9z dGFkZHIgJiYgKmhvc3RhZGRyICYmIHN0cmNtcChob3N0LCBob3N0YWRkcikgIT0gMCkKLQkJCQkJ cHJpbnRmKF8oIllvdSBhcmUgY29ubmVjdGVkIHRvIGRhdGFiYXNlIFwiJXNcIiBhcyB1c2VyIFwi JXNcIiBvbiBob3N0IFwiJXNcIiAoYWRkcmVzcyBcIiVzXCIpIGF0IHBvcnQgXCIlc1wiLlxuIiks Ci0JCQkJCQkgICBkYiwgUFF1c2VyKHBzZXQuZGIpLCBob3N0LCBob3N0YWRkciwgUFFwb3J0KHBz ZXQuZGIpKTsKKwkJCQljaGFyCSAgICpob3N0ID0gUFFob3N0KHBzZXQuZGIpOworCQkJCWNoYXIJ ICAgKmhvc3RhZGRyID0gUFFob3N0YWRkcihwc2V0LmRiKTsKKworCQkJCWlmIChpc191bml4c29j a19wYXRoKGhvc3QpKQorCQkJCXsKKwkJCQkJLyogaG9zdGFkZHIgb3ZlcnJpZGVzIGhvc3QgKi8K KwkJCQkJaWYgKGhvc3RhZGRyICYmICpob3N0YWRkcikKKwkJCQkJCXByaW50ZihfKCJZb3UgYXJl IGNvbm5lY3RlZCB0byBkYXRhYmFzZSBcIiVzXCIgYXMgdXNlciBcIiVzXCIgb24gYWRkcmVzcyBc IiVzXCIgYXQgcG9ydCBcIiVzXCIuXG4iKSwKKwkJCQkJCQkgICBkYiwgUFF1c2VyKHBzZXQuZGIp LCBQUWdldHZhbHVlKHJlcywgMCwgMCksIFBRcG9ydChwc2V0LmRiKSk7CisJCQkJCWVsc2UKKwkJ CQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFzZSBcIiVzXCIgYXMgdXNl ciBcIiVzXCIgdmlhIHNvY2tldCBpbiBcIiVzXCIgYXQgcG9ydCBcIiVzXCIuXG4iKSwKKwkJCQkJ CQkgICBkYiwgUFF1c2VyKHBzZXQuZGIpLCBob3N0LCBQUXBvcnQocHNldC5kYikpOworCQkJCX0K IAkJCQllbHNlCi0JCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFzZSBc IiVzXCIgYXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgYXQgcG9ydCBcIiVzXCIuXG4iKSwK LQkJCQkJCSAgIGRiLCBQUXVzZXIocHNldC5kYiksIGhvc3QsIFBRcG9ydChwc2V0LmRiKSk7CisJ CQkJeworCQkJCQlpZiAoaG9zdGFkZHIgJiYgKmhvc3RhZGRyICYmIHN0cmNtcChob3N0LCBob3N0 YWRkcikgIT0gMCkKKwkJCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFz ZSBcIiVzXCIgYXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgKGFkZHJlc3MgXCIlc1wiKSBh dCBwb3J0IFwiJXNcIi5cbiIpLAorCQkJCQkJCSAgIGRiLCBQUXVzZXIocHNldC5kYiksIGhvc3Qs IFBRZ2V0dmFsdWUocmVzLCAwLCAwKSwgUFFwb3J0KHBzZXQuZGIpKTsKKwkJCQkJZWxzZQorCQkJ CQkJcHJpbnRmKF8oIllvdSBhcmUgY29ubmVjdGVkIHRvIGRhdGFiYXNlIFwiJXNcIiBhcyB1c2Vy IFwiJXNcIiBvbiBob3N0IFwiJXNcIiBhdCBwb3J0IFwiJXNcIi5cbiIpLAorCQkJCQkJCSAgIGRi LCBQUXVzZXIocHNldC5kYiksIGhvc3QsIFBRcG9ydChwc2V0LmRiKSk7CisJCQkJfQorCQkJCVBR Y2xlYXIocmVzKTsKKwkJCQlwcmludFNTTEluZm8oKTsKKwkJCQlwcmludEdTU0luZm8oKTsKIAkJ CX0KLQkJCXByaW50U1NMSW5mbygpOwotCQkJcHJpbnRHU1NJbmZvKCk7CiAJCX0KIAl9CisJZWxz ZQorCQlpZ25vcmVfc2xhc2hfb3B0aW9ucyhzY2FuX3N0YXRlKTsKIAotCXJldHVybiBQU1FMX0NN RF9TS0lQX0xJTkU7CisJcmV0dXJuIHN1Y2Nlc3MgPyBQU1FMX0NNRF9TS0lQX0xJTkUgOiBQU1FM X0NNRF9FUlJPUjsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5j IGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKaW5kZXggYjZhNGViMS4uMmVmM2RiMCAxMDA2NDQK LS0tIGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJl LmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJmZV91dGlscy9tYnByaW50LmgiCiAjaW5j bHVkZSAiZmVfdXRpbHMvcHJpbnQuaCIKICNpbmNsdWRlICJmZV91dGlscy9zdHJpbmdfdXRpbHMu aCIKKyNpbmNsdWRlICJsaWJwcS9wcWNvbW0uaCIKICNpbmNsdWRlICJzZXR0aW5ncy5oIgogI2lu Y2x1ZGUgInZhcmlhYmxlcy5oIgogCkBAIC05MDEsNiArOTAyLDkxIEBAIGVycm9yX3JldHVybjoK IAlyZXR1cm4gZmFsc2U7CiB9CiAKKy8qCisgKiBsaXN0Q29ubmVjdGlvbkluZm9ybWF0aW9uCisg KgorICogZm9yIFxjb25uaW5mbysKKyAqLworYm9vbAorbGlzdENvbm5lY3Rpb25JbmZvcm1hdGlv bih2b2lkKQoreworCVBHcmVzdWx0ICAgKnJlczsKKwlQUUV4cEJ1ZmZlckRhdGEgYnVmOworCXBy aW50UXVlcnlPcHQgbXlvcHQgPSBwc2V0LnBvcHQ7CisKKwljaGFyCSAgICpob3N0ID0gUFFob3N0 KHBzZXQuZGIpOworCWNoYXIJICAgKmhvc3RhZGRyID0gUFFob3N0YWRkcihwc2V0LmRiKTsKKwlj b25zdCBjaGFyICpwcm90b2NvbDsKKwljb25zdCBjaGFyICpjaXBoZXI7CisJY29uc3QgY2hhciAq Y29tcHJlc3Npb247CisKKwlpbml0UFFFeHBCdWZmZXIoJmJ1Zik7CisKKwlwcmludGZQUUV4cEJ1 ZmZlcigmYnVmLAorCQkJCQkgICJTRUxFQ1RcbiIKKwkJCQkJICAiICBwZ19jYXRhbG9nLmN1cnJl bnRfZGF0YWJhc2UoKSBBUyBcIkRhdGFiYXNlXCIsXG4iCisJCQkJCSAgIiAgJyVzJyBBUyBcIkF1 dGhlbnRpY2F0ZWQgVXNlclwiLFxuIiwKKwkJCQkJICBQUXVzZXIocHNldC5kYikpOworCWlmIChw c2V0LnN2ZXJzaW9uID49IDE2MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJ CSAgIiAgcGdfY2F0YWxvZy5zeXN0ZW1fdXNlcigpIEFTIFwiU3lzdGVtIFVzZXJcIixcbiIpOwor CWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIiAgcGdfY2F0YWxvZy5jdXJyZW50X3Vz ZXIoKSBBUyBcIkN1cnJlbnQgVXNlclwiLFxuIgorCQkJCQkgICIgIHBnX2NhdGFsb2cuc2Vzc2lv bl91c2VyKCkgQVMgXCJTZXNzaW9uIFVzZXJcIixcbiIKKwkJCQkJICAiICBwZ19jYXRhbG9nLnBn X2JhY2tlbmRfcGlkKCkgQVMgXCJCYWNrZW5kIFBJRFwiLFxuIgorCQkJCQkgICIgIHBnX2NhdGFs b2cuaW5ldF9zZXJ2ZXJfYWRkcigpIEFTIFwiU2VydmVyIEFkZHJlc3NcIixcbiIKKwkJCQkJICAi ICBwZ19jYXRhbG9nLmN1cnJlbnRfc2V0dGluZygncG9ydCcpIEFTIFwiU2VydmVyIFBvcnRcIixc biIKKwkJCQkJICAiICBwZ19jYXRhbG9nLmluZXRfY2xpZW50X2FkZHIoKSBBUyBcIkNsaWVudCBB ZGRyZXNzXCIsXG4iCisJCQkJCSAgIiAgcGdfY2F0YWxvZy5pbmV0X2NsaWVudF9wb3J0KCkgQVMg XCJDbGllbnQgUG9ydFwiLFxuIik7CisJaWYgKGlzX3VuaXhzb2NrX3BhdGgoaG9zdCkgJiYgISho b3N0YWRkciAmJiAqaG9zdGFkZHIpKQorCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJ ICAiICAnJXMnIEFTIFwiU29ja2V0IERpcmVjdG9yeVwiLFxuIiwKKwkJCQkJCSAgaG9zdCk7CisJ ZWxzZQorCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiICBOVUxMIEFTIFwiU29j a2V0IERpcmVjdG9yeVwiLFxuIik7CisJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJICAi ICBDQVNFXG4iCisJCQkJCSAgIiAgICBXSEVOXG4iCisJCQkJCSAgIiAgICAgIHBnX2NhdGFsb2cu aW5ldF9zZXJ2ZXJfYWRkcigpIElTIE5VTExcbiIKKwkJCQkJICAiICAgICAgQU5EIHBnX2NhdGFs b2cuaW5ldF9jbGllbnRfYWRkcigpIElTIE5VTExcbiIKKwkJCQkJICAiICAgIFRIRU4gTlVMTFxu IgorCQkJCQkgICIgICAgRUxTRSAnJXMnXG4iCisJCQkJCSAgIiAgRU5EIEFTIFwiSG9zdFwiXG4i LAorCQkJCQkgIGhvc3QpOworCWlmIChQUXNzbEluVXNlKHBzZXQuZGIpKQorCXsKKwkJcHJvdG9j b2wgPSBQUXNzbEF0dHJpYnV0ZShwc2V0LmRiLCAicHJvdG9jb2wiKTsKKwkJY2lwaGVyID0gUFFz c2xBdHRyaWJ1dGUocHNldC5kYiwgImNpcGhlciIpOworCQljb21wcmVzc2lvbiA9IFBRc3NsQXR0 cmlidXRlKHBzZXQuZGIsICJjb21wcmVzc2lvbiIpOworCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVm LAorCQkJCQkJICAiICAsJ1NTTCcgQVMgXCJFbmNyeXB0aW9uXCIsXG4iCisJCQkJCQkgICIgICcl cycgQVMgXCJQcm90b2NvbFwiLFxuIgorCQkJCQkJICAiICAnJXMnIEFTIFwiQ2lwaGVyXCIsXG4i CisJCQkJCQkgICIgICclcycgQVMgXCJDb21wcmVzc2lvblwiXG4iLAorCQkJCQkJICBwcm90b2Nv bCA/IHByb3RvY29sIDogXygidW5rbm93biIpLAorCQkJCQkJICBjaXBoZXIgPyBjaXBoZXIgOiBf KCJ1bmtub3duIiksCisJCQkJCQkgIChjb21wcmVzc2lvbiAmJiBzdHJjbXAoY29tcHJlc3Npb24s ICJvZmYiKSAhPSAwKSA/IF8oIm9uIikgOiBfKCJvZmYiKSk7CisJfQorCWlmIChQUWdzc0VuY0lu VXNlKHBzZXQuZGIpKQorCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiICAsJ0dT U0FQSScgQVMgXCJFbmNyeXB0aW9uXCJcbiIpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJ CQkJCSAgIiAgOyIpOworCisJcmVzID0gUFNRTGV4ZWMoYnVmLmRhdGEpOworCXRlcm1QUUV4cEJ1 ZmZlcigmYnVmKTsKKwlpZiAoIXJlcykKKwkJcmV0dXJuIGZhbHNlOworCisJbXlvcHQudGl0bGUg PSBfKCJDdXJyZW50IENvbm5lY3Rpb24gSW5mb3JtYXRpb24iKTsKKwlteW9wdC50cmFuc2xhdGVf aGVhZGVyID0gdHJ1ZTsKKworCXByaW50UXVlcnkocmVzLCAmbXlvcHQsIHBzZXQucXVlcnlGb3V0 LCBmYWxzZSwgcHNldC5sb2dmaWxlKTsKKworCVBRY2xlYXIocmVzKTsKKwlyZXR1cm4gdHJ1ZTsK K30KIAogLyoKICAqIGxpc3RBbGxEYnMKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmli ZS5oIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmgKaW5kZXggMjczZjk3NC4uOGE0ZTgzZiAxMDA2 NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmgKKysrIGIvc3JjL2Jpbi9wc3FsL2Rlc2Ny aWJlLmgKQEAgLTY0LDYgKzY0LDkgQEAgZXh0ZXJuIGJvb2wgbGlzdFRTRGljdGlvbmFyaWVzKGNv bnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSk7CiAvKiBcZEZ0ICovCiBleHRlcm4gYm9v bCBsaXN0VFNUZW1wbGF0ZXMoY29uc3QgY2hhciAqcGF0dGVybiwgYm9vbCB2ZXJib3NlKTsKIAor LyogXGNvbm5pbmZvICovCitleHRlcm4gYm9vbCBsaXN0Q29ubmVjdGlvbkluZm9ybWF0aW9uKHZv aWQpOworCiAvKiBcbCAqLwogZXh0ZXJuIGJvb2wgbGlzdEFsbERicyhjb25zdCBjaGFyICpwYXR0 ZXJuLCBib29sIHZlcmJvc2UpOwogCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvaGVscC5jIGIv c3JjL2Jpbi9wc3FsL2hlbHAuYwppbmRleCA0ZTc5YTgxLi4yYzU0MjZkIDEwMDY0NAotLS0gYS9z cmMvYmluL3BzcWwvaGVscC5jCisrKyBiL3NyYy9iaW4vcHNxbC9oZWxwLmMKQEAgLTMxMCw3ICsz MTAsNyBAQCBzbGFzaFVzYWdlKHVuc2lnbmVkIHNob3J0IGludCBwYWdlcikKIAllbHNlCiAJCUhF TFAwKCIgIFxcY1tvbm5lY3RdIHtbREJOQU1FfC0gVVNFUnwtIEhPU1R8LSBQT1JUfC1dIHwgY29u bmluZm99XG4iCiAJCQkgICIgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdCB0byBuZXcg ZGF0YWJhc2UgKGN1cnJlbnRseSBubyBjb25uZWN0aW9uKVxuIik7Ci0JSEVMUDAoIiAgXFxjb25u aW5mbyAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjdXJyZW50IGNvbm5l Y3Rpb25cbiIpOworCUhFTFAwKCIgIFxcY29ubmluZm9bK10gICAgICAgICAgIGRpc3BsYXkgaW5m b3JtYXRpb24gYWJvdXQgY3VycmVudCBjb25uZWN0aW9uXG4iKTsKIAlIRUxQMCgiICBcXGVuY29k aW5nIFtFTkNPRElOR10gICBzaG93IG9yIHNldCBjbGllbnQgZW5jb2RpbmdcbiIpOwogCUhFTFAw KCIgIFxccGFzc3dvcmQgW1VTRVJOQU1FXSAgIHNlY3VyZWx5IGNoYW5nZSB0aGUgcGFzc3dvcmQg Zm9yIGEgdXNlclxuIik7CiAJSEVMUDAoIlxuIik7Cg== --_004_CP8P284MB249664C44A1793823C4546F8EC4D2CP8P284MB2496BRAP_--