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 1rY6fZ-00EOYL-5l for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Feb 2024 15:50:34 +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 1rY6fX-001EuT-9M for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Feb 2024 15:50:31 +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 1rY6fW-001EuL-NI for pgsql-hackers@lists.postgresql.org; Thu, 08 Feb 2024 15:50:30 +0000 Received: from mail-cpzbra01olkn2081.outbound.protection.outlook.com ([40.92.97.81] helo=BRA01-CPZ-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 1rY6fS-005jgN-Lt for pgsql-hackers@postgresql.org; Thu, 08 Feb 2024 15:50:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iwpuwtlQ95iArZImCk/mQqkIw87IPyqaCwYpfoRVVJx+ARNt2+bfI7ZoFERraU9AnU4ueePIlyYZaSGbAjqWDTBRtPXp5MOutbJ+YtoTuBkgzEspHUNew3aDzCL5TnheZlmx4/qCpL6OA/Vp/luJ2gWVelkwIXPj1RkATtvaivD57oe3n87tuFvZbs/qttY+TJnolTqexMjqLfhOVAm6wyF7iFSFFI9xoaRRm19jDrBZZjF2+0oPXccCx7ycAajuvc+PZHTWB0fCvw1JabYyy3PhmbERiGMM1dHbvxA3LdDjgdETPQOFoxkglq8JuF/3N54wInT12YQqDX5vY51Fxw== 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=VY0BmTB8iFYLQik5AIcoCeThXVNx+aX7c51hOh/v3wg=; b=d5e+5uZtnXVZFFwV1tlwpUUjQZ735K6qMrLoeaUlSMf3XSx5PEEaSRMYDnf6rAzRk77Xl7n9E56RibbD6ar+IUheXHgu1MfJKuWYZe/D1IMxI6wksA48nDkFq/JtMoj6LMJ2EvC1GwKZTiVCLTLL3p1Hbnqp8PVPozLx57UFyxJXZOxuXUaEKyRvurNMcDIwcemJrRz1iD+fo8WULLK3Z26O0OFUKE67y79AGLdiJjpBLaswADWp0Vr5BrcPQCMHVrrKSvA7qv8m+lEJvrIh/PLmVu1Z58F6dSgd6SF8+4sfZ//luaMWNto2vx6pGQu8jqgSdMFJ5nQwIexJO5AYnw== 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 ROAP284MB2363.BRAP284.PROD.OUTLOOK.COM (2603:10d6:10:df::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.39; Thu, 8 Feb 2024 15:50:20 +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.7249.038; Thu, 8 Feb 2024 15:50:20 +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+O4ABA4CAgABCa74= Date: Thu, 8 Feb 2024 15:50:20 +0000 Message-ID: References: <20240206181919.GA3853632@nathanxps13> <20240206210605.GA3903769@nathanxps13> <20240206211205.GA3903996@nathanxps13> <20240206215022.GA3452@nathanxps13> <852cabef-f596-4826-9a54-d3f75d9a6cc8@postgrespro.ru> <47dcfd6f-d1d8-4a13-9bc5-b43ee9bd534f@uni-muenster.de> In-Reply-To: <47dcfd6f-d1d8-4a13-9bc5-b43ee9bd534f@uni-muenster.de> 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: [BgwgdPjy0MouznRjCAobOR5wo+KZz0Sq] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CP8P284MB2496:EE_|ROAP284MB2363:EE_ x-ms-office365-filtering-correlation-id: b47ec074-e371-4593-082d-08dc28bda7c1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +qDWM6WvQHlIhSy9YA3qN0gcLunnGuXmY+rdM6FxkRgRihUtz2FhIaAVuVDzIK4RSZNWdUTIOnVJPk9FIXOlH7wHkUS4QwiGl8XX/XhTXOwI9vodLcD9tIAYzzM3zY3giG2f2qM/ynhJtymA+FDs9xlfzQhM2TN62hUy4zdpZ/A2RYVA+Wa54Aus9W9UKVmyBISycwoDhfMBZYvjWIT/YAvUZz7FLLJRtsrz9WHXwkHuixk/1hQrSXJD71kIJ5g6um4YI3SLNA/ak+PSSs8hdGi6h22ppOpKcvaPXBg3/dGRK402nI3baGCFtbquSkPtOnYObb6Yrs97KoDrv0Sz8XEZb4GWWCEdiKodeaI0uAk7zCzfzlJ/bM3cXkoqBF/94kb+ALh7OKjP6hzkOoUTeCKoEvC0RvUqJf4uUAGxC8DcK+JUSrftS8tMEbHjM2Be5Br/laTjtWC4bRw9Vy8V/uLhKqLIeZJrrj1MfPwzZDvWUv0Yt0Hy8+0c450r+inUSXo2t9yfzvaCTE+G8tnidvZcg0I6602dBMbY6l25bUPAB1/eWDD6N8vcZp/i/WAp+OPy+CeJiBktNpI8AumtxgZAq8qpBG6RRWNftMkJavPKZavh6okdTZwKmICxKSNy x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Oo9fdKqx7WGf9GHY/XuPOv68cMpeIRrCIREnUtpwps1I/QRUiVYrak7rfY?= =?iso-8859-1?Q?7hxidfxKqkmKliNJFTxFQ37hR0f5VqD5KVTe95FGIBpS/MsNOmcBxR6i3j?= =?iso-8859-1?Q?CF7G7cl5itKtWn1vTWH0oOyCKntaxQA1ywUN1y+SruzT8VfUyyuYsQ+VJ4?= =?iso-8859-1?Q?GM/D7FQDUsIziLATQ4VP6mJWFSz8r9JwGuvBRba/UM9BSAFMmueMiwGvVL?= =?iso-8859-1?Q?B2E7V92CzMtPBg1qm8khD8iorq9h+7kNWPwAu5cwNTTt9hiviyJf4ieM38?= =?iso-8859-1?Q?OuRWIELMOop5ArU83Bd/EpCcvwHsCtqeRO2Qb3XZh3zq1h9EBxXBbViEIr?= =?iso-8859-1?Q?CkFnD1QyZ629uAcnynbBvAeI2e8kKiXNbbdxQubLBXpQasilKiq9hHlwi3?= =?iso-8859-1?Q?90By2MTruTmIylmBaKSge+k7EbR15Pq0kT6tm/p8dSMa+d6K8p5PEuz58v?= =?iso-8859-1?Q?6EMato2mJdoN01Mc1pB87wrDBabLkDzbQdhZ0HQw4lykgOFsGdP1F4irRI?= =?iso-8859-1?Q?RHIpBIVEwtbUxRv4AMzdDrCZSQCBBr4XwJFqBh/ZH1H0iVSjFmNIiW8BC/?= =?iso-8859-1?Q?zmbsXBvyGcqAVb6YjsJiHobEypeURK2G0PfYuhP22cMIz+EXjCLNDQy2zS?= =?iso-8859-1?Q?yA92tiGERHsCfKCWyDF8XdclXYPEl970MTKEpKvkVRzz5NdZGGdtLRqCfI?= =?iso-8859-1?Q?UCPZlEYLHEnhurqPkTdhHnoXXkIzott/PCEA1fL3JiJO66usJFsTTdWNFB?= =?iso-8859-1?Q?d3v/O+DX/7s88XqPYeZF2/6qQsO3QxaqTdl/9r5MNJm0bLjy7qkCvfP3tK?= =?iso-8859-1?Q?6DiDt8tbZSG30yFa1J7Dm+49FR0gVjOxU8dVmDFh4PGY4veKeQzkPvK8mG?= =?iso-8859-1?Q?rJ3kQHwYicFzDul765S0b/xYBvtmMUbXXSEd26r0HkX2xcoSHmjEvz7XQO?= =?iso-8859-1?Q?TtSKrHn494bR2tdIo1zrpUnxBjE08NfsNMcx0ywxJd8whaxtM9colf83qH?= =?iso-8859-1?Q?sO80FExMTAn6BOj/3fNJZP3WbbOm3JngrJ0O4OZyJsyiR5r4NzdezLQH09?= =?iso-8859-1?Q?Qy/WF932fCMUVQqxHhZZ+CzNU0H6Oubek6Yh1B+TVkrG2gDK31mfwQ3xCV?= =?iso-8859-1?Q?qz0dsHStLMqNj2p9QGXBttmxRAQZV29EXWKXVLxgH/d62RaoNm0AyDJfSL?= =?iso-8859-1?Q?mitjoIN2qGnmfYc+R7n82LEjOoOW88AZ+gAXrQzE4MBI1NkTv4GUNitRlO?= =?iso-8859-1?Q?/YjgbUVg+YW0g1qlEObA=3D=3D?= Content-Type: multipart/mixed; boundary="_004_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_" 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: b47ec074-e371-4593-082d-08dc28bda7c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2024 15:50:20.8000 (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: ROAP284MB2363 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_ Content-Type: multipart/alternative; boundary="_000_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_" --_000_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable > On 07.02.24 21:13, Maiquel Grassi wrote: >> >> I believe in v7 patch we have a quite substantial meta-command feature. >> >> > Thanks for implementing this. I find it very handy. > > I was just wondering if a "permission denied" error for non-superusers > is the best choice for "\conninfo+": > > postgres=3D> \conninfo+ > ERROR: permission denied to examine "unix_socket_directories" > DETAIL: Only roles with privileges of the "pg_read_all_settings" role > may examine this parameter. > > .. since it is not the case with "\conninfo": > > postgres=3D> \conninfo > You are connected to database "postgres" as user "jim" via socket in > "/tmp" at port "5432". > > Perhaps excluding the column from the result set or returning NULL in > the affected columns would be less confusing? > > There are also some indentation issues in your patch: > > /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch:142: > indent with spaces. > PGresult *res; > /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch:143: > indent with spaces. > PQExpBufferData buf; > /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch:144: > indent with spaces. > printQueryOpt myopt =3D pset.popt; > /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch:146: > indent with spaces. > initPQExpBuffer(&buf); > /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch:148: > indent with spaces. > printfPQExpBuffer(&buf, > warning: squelched 34 whitespace errors > warning: 39 lines add whitespace errors. > > Looking forward to see the documentation and tests! --//-- Hi Jim, Thank you for your support on this patch! As I believe in its usability, I have been dedicating efforts to make it re= ally interesting. I hadn't thought about the permissioning issue for "unix_socket_directories= ". I appreciate that. I thought about solving this situation using the same approach as \conninfo= . I added the validation if (is_unixsock_path(host) && !(hostaddr && *hosta= ddr)) in the SQL part along with an "append". In case of a negative result,= another "append" adds NULL. Regarding the whitespace issue, before generating v8 patch file, I used pgi= ndent to adjust each modified file. I believe it should be ok now. If you c= ould verify, I'd be grateful. Below are the tests after adjusting for the permissioning issues: [postgres@localhost bin]$ ./psql psql (17devel) Type "help" for help. postgres=3D# \conninfo You are connected to database "postgres" as user "postgres" via socket in "= /tmp" at port "5432". postgres=3D# \conninfo+ = Current Connection Information Database | Authenticated User | System User | Current User | Session User = | Session PID | Server Version | Server Address | Server Port | Client Addr= ess | Client Port | Socket Directory | Host ----------+--------------------+-------------+--------------+--------------= +-------------+----------------+----------------+-------------+------------= ----+-------------+------------------+------ postgres | postgres | | postgres | postgres = | 31479 | 17devel | | 5432 | = | | /tmp | (1 row) postgres=3D# CREATE USER maiquel; CREATE ROLE postgres=3D# \q [postgres@localhost bin]$ ./psql -U maiquel -d postgres psql (17devel) Type "help" for help. postgres=3D> \conninfo You are connected to database "postgres" as user "maiquel" via socket in "/= tmp" at port "5432". postgres=3D> \conninfo+ = Current Connection Information Database | Authenticated User | System User | Current User | Session User = | Session PID | Server Version | Server Address | Server Port | Client Addr= ess | Client Port | Socket Directory | Host ----------+--------------------+-------------+--------------+--------------= +-------------+----------------+----------------+-------------+------------= ----+-------------+------------------+------ postgres | maiquel | | maiquel | maiquel = | 31482 | 17devel | | 5432 | = | | /tmp | (1 row) postgres=3D> \q [postgres@localhost bin]$ ./psql -h localhost -U maiquel -d postgres psql (17devel) Type "help" for help. postgres=3D> \conninfo You are connected to database "postgres" as user "maiquel" on host "localho= st" (address "::1") at port "5432". postgres=3D> \conninfo+ = Current Connection Information Database | Authenticated User | System User | Current User | Session User = | Session PID | Server Version | Server Address | Server Port | Client Addr= ess | Client Port | Socket Directory | Host ----------+--------------------+-------------+--------------+--------------= +-------------+----------------+----------------+-------------+------------= ----+-------------+------------------+----------- postgres | maiquel | | maiquel | maiquel = | 31485 | 17devel | ::1 | 5432 | ::1 = | 47482 | | localhost (1 row) postgres=3D> \q [postgres@localhost bin]$ ./psql -h localhost psql (17devel) Type "help" for help. postgres=3D# \conninfo You are connected to database "postgres" as user "postgres" on host "localh= ost" (address "::1") at port "5432". postgres=3D# \conninfo+ = Current Connection Information Database | Authenticated User | System User | Current User | Session User = | Session PID | Server Version | Server Address | Server Port | Client Addr= ess | Client Port | Socket Directory | Host ----------+--------------------+-------------+--------------+--------------= +-------------+----------------+----------------+-------------+------------= ----+-------------+------------------+----------- postgres | postgres | | postgres | postgres = | 31488 | 17devel | ::1 | 5432 | ::1 = | 47484 | | localhost (1 row) Regards, Maiquel. --_000_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
> On 07.= 02.24 21:13, Maiquel Grassi wrote:
>>
>> I believe in v7 patch we have a quite substantial meta-command fea= ture.
>>
>>
> Thanks for implementing this. I find it very handy.

> I was just wondering if a "permission denied" error for= non-superusers
> is the best choice for "\conninfo+":

> postgres=3D> \conninfo+
> ERROR:  permission denied to examine "unix_socket_direc= tories"
> DETAIL:  Only roles with privileges of the "pg_read_all= _settings" role
> may examine this parameter.

> .. since it is not the case with "\conninfo":

> postgres=3D> \conninfo
> You are connected to database "postgres" as user "= jim" via socket in
> "/tmp" at port "5432".

> Perhaps excluding the column from the result set or returning NUL= L in
> the affected columns would be less confusing?

> There are also some indentation issues in your patch:

> /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch= :142:
> indent with spaces.
>     PGresult   *res;
> /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch= :143:
> indent with spaces.
>     PQExpBufferData buf;
> /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch= :144:
> indent with spaces.
>     printQueryOpt myopt =3D pset.popt;
> /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch= :146:
> indent with spaces.
>     initPQExpBuffer(&buf);
> /home/jim/Downloads/v7-0001-psql-meta-command-conninfo-plus.patch= :148:
> indent with spaces.
>     printfPQExpBuffer(&buf,
> warning: squelched 34 whitespace errors
> warning: 39 lines add whitespace errors.

> Looking forward to see the documentation and tests!

--//--

Hi Jim,
Thank you for your support on this patch!
As I believe in its u= sability, I have been dedicating efforts to make it really interesting.
I hadn't thought abou= t the permissioning issue for "unix_socket_directories". I apprec= iate that.
I thought about solvi= ng this situation using the same approach as \conninfo. I added the validat= ion if (is_unixsock_path(host) && !(hostaddr && *hostaddr)) in the SQL part along with an "append". I= n case of a negative result, another "append" adds NULL.
Regarding the whitesp= ace issue, before generating v8 patch file, I used pgindent to adjust each = modified file. I believe it should be ok now. If you could verify, I'd be grateful.
Below are the tests a= fter adjusting for the permissioning issues:

[postgres@localhost bin]$ ./psql
psql (17devel)
Type "help" for help.

postgres=3D# \conninfo
You are connected to database "postgres&q= uot; as user "postgres" via socket in "/tmp" at port &q= uot;5432".
postgres=3D# \conninfo+
            &nbs= p;                     &n= bsp;                     =                      = ;     Current Connection Information
 Database | Authenticated User | System U= ser | Current User | Session User | Session PID | Server Version | Server A= ddress | Server Port | Client Address | Client Port | Socket Directory | Host
----------+--------------------+-------------+= --------------+--------------+-------------+----------------+--------------= --+-------------+----------------+-------------+------------------+------
 postgres | postgres      =     |             | postgres  = ;   | postgres     |       31479 | 17devel &n= bsp;      |              =  | 5432        |         &nbs= p;      |             | /tmp       &nbs= p;     |
(1 row)

postgres=3D# CREATE USER maiquel;
CREATE ROLE
postgres=3D# \q
[postgres@localhost bin]$ ./psql -U maiquel -d= postgres
psql (17devel)
Type "help" for help.

postgres=3D> \conninfo
You are connected to database "postgres&q= uot; as user "maiquel" via socket in "/tmp" at port &qu= ot;5432".
postgres=3D> \conninfo+
            &nbs= p;                     &n= bsp;                     =                      = ;     Current Connection Information
 Database | Authenticated User | System U= ser | Current User | Session User | Session PID | Server Version | Server A= ddress | Server Port | Client Address | Client Port | Socket Directory | Host
----------+--------------------+-------------+= --------------+--------------+-------------+----------------+--------------= --+-------------+----------------+-------------+------------------+------
 postgres | maiquel       =      |             | maiquel &= nbsp;    | maiquel      |       314= 82 | 17devel        |          = ;      | 5432        |     &nb= sp;          |             | /tmp       &nbs= p;     |
(1 row)

postgres=3D> \q
[postgres@localhost bin]$ ./psql -h localhost = -U maiquel -d postgres
psql (17devel)
Type "help" for help.

postgres=3D> \conninfo
You are connected to database "postgres&q= uot; as user "maiquel" on host "localhost" (address &qu= ot;::1") at port "5432".
postgres=3D> \conninfo+
            &nbs= p;                     &n= bsp;                     =                      = ;       Current Connection Information
 Database | Authenticated User | System U= ser | Current User | Session User | Session PID | Server Version | Server A= ddress | Server Port | Client Address | Client Port | Socket Directory |   Host
----------+--------------------+-------------+= --------------+--------------+-------------+----------------+--------------= --+-------------+----------------+-------------+------------------+--------= ---
 postgres | maiquel       =      |             | maiquel &= nbsp;    | maiquel      |       314= 85 | 17devel        | ::1         &= nbsp;  | 5432        | ::1       &n= bsp;    |       47482 |             &nb= sp;    | localhost
(1 row)

postgres=3D> \q
[postgres@localhost bin]$ ./psql -h localhost<= /span>
psql (17devel)
Type "help" for help.

postgres=3D# \conninfo
You are connected to database "postgres&q= uot; as user "postgres" on host "localhost" (address &q= uot;::1") at port "5432".
postgres=3D# \conninfo+
            &nbs= p;                     &n= bsp;                     =                      = ;       Current Connection Information
 Database | Authenticated User | System U= ser | Current User | Session User | Session PID | Server Version | Server A= ddress | Server Port | Client Address | Client Port | Socket Directory |   Host
----------+--------------------+-------------+= --------------+--------------+-------------+----------------+--------------= --+-------------+----------------+-------------+------------------+--------= ---
 postgres | postgres      =     |             | postgres  = ;   | postgres     |       31488 | 17devel &n= bsp;      | ::1            | 5= 432        | ::1           &nb= sp;|       47484 |             &nb= sp;    | localhost
(1 row)

Regards,
Maiquel.
--_000_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_-- --_004_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_ Content-Type: application/octet-stream; name="v8-0001-psql-meta-command-conninfo-plus.patch" Content-Description: v8-0001-psql-meta-command-conninfo-plus.patch Content-Disposition: attachment; filename="v8-0001-psql-meta-command-conninfo-plus.patch"; size=8313; creation-date="Thu, 08 Feb 2024 15:50:07 GMT"; modification-date="Thu, 08 Feb 2024 15:50:20 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMgYi9zcmMvYmluL3BzcWwvY29tbWFu ZC5jCmluZGV4IDVjOTA2ZTQuLmJmOTNjYjEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9jb21t YW5kLmMKKysrIGIvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYwpAQCAtNjgsNyArNjgsOCBAQCBzdGF0 aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9DKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0 ZSwgYm9vbCBhY3RpdmVfYnJhbgogc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVjX2NvbW1hbmRf Y29ubmVjdChQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCk7CiBz dGF0aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9jZChQc3FsU2NhblN0YXRlIHNjYW5f c3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCwKIAkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKmNtZCk7 Ci1zdGF0aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9jb25uaW5mbyhQc3FsU2NhblN0 YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCk7CitzdGF0aWMgYmFja3NsYXNoUmVz dWx0IGV4ZWNfY29tbWFuZF9jb25uaW5mbyhQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wg YWN0aXZlX2JyYW5jaCwKKwkJCQkJCQkJCQkJIGNvbnN0IGNoYXIgKmNtZCk7CiBzdGF0aWMgYmFj a3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9jb3B5KFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwg Ym9vbCBhY3RpdmVfYnJhbmNoKTsKIHN0YXRpYyBiYWNrc2xhc2hSZXN1bHQgZXhlY19jb21tYW5k X2NvcHlyaWdodChQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCk7 CiBzdGF0aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9jcm9zc3RhYnZpZXcoUHNxbFNj YW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gpOwpAQCAtMzE3LDggKzMxOCw4 IEBAIGV4ZWNfY29tbWFuZChjb25zdCBjaGFyICpjbWQsCiAJCXN0YXR1cyA9IGV4ZWNfY29tbWFu ZF9jb25uZWN0KHNjYW5fc3RhdGUsIGFjdGl2ZV9icmFuY2gpOwogCWVsc2UgaWYgKHN0cmNtcChj bWQsICJjZCIpID09IDApCiAJCXN0YXR1cyA9IGV4ZWNfY29tbWFuZF9jZChzY2FuX3N0YXRlLCBh Y3RpdmVfYnJhbmNoLCBjbWQpOwotCWVsc2UgaWYgKHN0cmNtcChjbWQsICJjb25uaW5mbyIpID09 IDApCi0JCXN0YXR1cyA9IGV4ZWNfY29tbWFuZF9jb25uaW5mbyhzY2FuX3N0YXRlLCBhY3RpdmVf YnJhbmNoKTsKKwllbHNlIGlmIChzdHJjbXAoY21kLCAiY29ubmluZm8iKSA9PSAwIHx8IHN0cmNt cChjbWQsICJjb25uaW5mbysiKSA9PSAwKQorCQlzdGF0dXMgPSBleGVjX2NvbW1hbmRfY29ubmlu Zm8oc2Nhbl9zdGF0ZSwgYWN0aXZlX2JyYW5jaCwgY21kKTsKIAllbHNlIGlmIChwZ19zdHJjYXNl Y21wKGNtZCwgImNvcHkiKSA9PSAwKQogCQlzdGF0dXMgPSBleGVjX2NvbW1hbmRfY29weShzY2Fu X3N0YXRlLCBhY3RpdmVfYnJhbmNoKTsKIAllbHNlIGlmIChzdHJjbXAoY21kLCAiY29weXJpZ2h0 IikgPT0gMCkKQEAgLTY0Myw0NyArNjQ0LDc0IEBAIGV4ZWNfY29tbWFuZF9jZChQc3FsU2NhblN0 YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCwgY29uc3QgY2hhciAqY21kKQogfQog CiAvKgotICogXGNvbm5pbmZvIC0tIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJl bnQgY29ubmVjdGlvbgorICogXGNvbm5pbmZvLCBcY29ubmluZm8rIC0tIGRpc3BsYXkgaW5mb3Jt YXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgY29ubmVjdGlvbgogICovCiBzdGF0aWMgYmFja3NsYXNo UmVzdWx0Ci1leGVjX2NvbW1hbmRfY29ubmluZm8oUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBi b29sIGFjdGl2ZV9icmFuY2gpCitleGVjX2NvbW1hbmRfY29ubmluZm8oUHNxbFNjYW5TdGF0ZSBz Y2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gsIGNvbnN0IGNoYXIgKmNtZCkKIHsKKwlib29s CQlzdWNjZXNzID0gdHJ1ZTsKKwogCWlmIChhY3RpdmVfYnJhbmNoKQogCXsKIAkJY2hhcgkgICAq ZGIgPSBQUWRiKHBzZXQuZGIpOworCQljaGFyCSAgICpwYXR0ZXJuOworCQlib29sCQlzaG93X3Zl cmJvc2U7CiAKLQkJaWYgKGRiID09IE5VTEwpCi0JCQlwcmludGYoXygiWW91IGFyZSBjdXJyZW50 bHkgbm90IGNvbm5lY3RlZCB0byBhIGRhdGFiYXNlLlxuIikpOwotCQllbHNlCisJCXBhdHRlcm4g PSBwc3FsX3NjYW5fc2xhc2hfb3B0aW9uKHNjYW5fc3RhdGUsIE9UX05PUk1BTCwgTlVMTCwgdHJ1 ZSk7CisKKwkJc2hvd192ZXJib3NlID0gc3RyY2hyKGNtZCwgJysnKSA/IHRydWUgOiBmYWxzZTsK KworCQkvKgorCQkgKiBcY29ubmluZm8rCisJCSAqLworCQlpZiAoc2hvd192ZXJib3NlKQogCQl7 Ci0JCQljaGFyCSAgICpob3N0ID0gUFFob3N0KHBzZXQuZGIpOwotCQkJY2hhcgkgICAqaG9zdGFk ZHIgPSBQUWhvc3RhZGRyKHBzZXQuZGIpOworCQkJc3VjY2VzcyA9IGxpc3RDb25uZWN0aW9uSW5m b3JtYXRpb24ocGF0dGVybik7CisJCQlmcmVlKHBhdHRlcm4pOworCQkJcHJpbnRTU0xJbmZvKCk7 CisJCQlwcmludEdTU0luZm8oKTsKKwkJfQogCi0JCQlpZiAoaXNfdW5peHNvY2tfcGF0aChob3N0 KSkKLQkJCXsKLQkJCQkvKiBob3N0YWRkciBvdmVycmlkZXMgaG9zdCAqLwotCQkJCWlmIChob3N0 YWRkciAmJiAqaG9zdGFkZHIpCi0JCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBk YXRhYmFzZSBcIiVzXCIgYXMgdXNlciBcIiVzXCIgb24gYWRkcmVzcyBcIiVzXCIgYXQgcG9ydCBc IiVzXCIuXG4iKSwKLQkJCQkJCSAgIGRiLCBQUXVzZXIocHNldC5kYiksIGhvc3RhZGRyLCBQUXBv cnQocHNldC5kYikpOwotCQkJCWVsc2UKLQkJCQkJcHJpbnRmKF8oIllvdSBhcmUgY29ubmVjdGVk IHRvIGRhdGFiYXNlIFwiJXNcIiBhcyB1c2VyIFwiJXNcIiB2aWEgc29ja2V0IGluIFwiJXNcIiBh dCBwb3J0IFwiJXNcIi5cbiIpLAotCQkJCQkJICAgZGIsIFBRdXNlcihwc2V0LmRiKSwgaG9zdCwg UFFwb3J0KHBzZXQuZGIpKTsKLQkJCX0KKwkJLyoKKwkJICogXGNvbm5pbmZvCisJCSAqLworCQll bHNlCisJCXsKKwkJCWlmIChkYiA9PSBOVUxMKQorCQkJCXByaW50ZihfKCJZb3UgYXJlIGN1cnJl bnRseSBub3QgY29ubmVjdGVkIHRvIGEgZGF0YWJhc2UuXG4iKSk7CiAJCQllbHNlCiAJCQl7Ci0J CQkJaWYgKGhvc3RhZGRyICYmICpob3N0YWRkciAmJiBzdHJjbXAoaG9zdCwgaG9zdGFkZHIpICE9 IDApCi0JCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFzZSBcIiVzXCIg YXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgKGFkZHJlc3MgXCIlc1wiKSBhdCBwb3J0IFwi JXNcIi5cbiIpLAotCQkJCQkJICAgZGIsIFBRdXNlcihwc2V0LmRiKSwgaG9zdCwgaG9zdGFkZHIs IFBRcG9ydChwc2V0LmRiKSk7CisJCQkJY2hhcgkgICAqaG9zdCA9IFBRaG9zdChwc2V0LmRiKTsK KwkJCQljaGFyCSAgICpob3N0YWRkciA9IFBRaG9zdGFkZHIocHNldC5kYik7CisKKwkJCQlpZiAo aXNfdW5peHNvY2tfcGF0aChob3N0KSkKKwkJCQl7CisJCQkJCS8qIGhvc3RhZGRyIG92ZXJyaWRl cyBob3N0ICovCisJCQkJCWlmIChob3N0YWRkciAmJiAqaG9zdGFkZHIpCisJCQkJCQlwcmludGYo XygiWW91IGFyZSBjb25uZWN0ZWQgdG8gZGF0YWJhc2UgXCIlc1wiIGFzIHVzZXIgXCIlc1wiIG9u IGFkZHJlc3MgXCIlc1wiIGF0IHBvcnQgXCIlc1wiLlxuIiksCisJCQkJCQkJICAgZGIsIFBRdXNl cihwc2V0LmRiKSwgaG9zdGFkZHIsIFBRcG9ydChwc2V0LmRiKSk7CisJCQkJCWVsc2UKKwkJCQkJ CXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFzZSBcIiVzXCIgYXMgdXNlciBc IiVzXCIgdmlhIHNvY2tldCBpbiBcIiVzXCIgYXQgcG9ydCBcIiVzXCIuXG4iKSwKKwkJCQkJCQkg ICBkYiwgUFF1c2VyKHBzZXQuZGIpLCBob3N0LCBQUXBvcnQocHNldC5kYikpOworCQkJCX0KIAkJ CQllbHNlCi0JCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFzZSBcIiVz XCIgYXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgYXQgcG9ydCBcIiVzXCIuXG4iKSwKLQkJ CQkJCSAgIGRiLCBQUXVzZXIocHNldC5kYiksIGhvc3QsIFBRcG9ydChwc2V0LmRiKSk7CisJCQkJ eworCQkJCQlpZiAoaG9zdGFkZHIgJiYgKmhvc3RhZGRyICYmIHN0cmNtcChob3N0LCBob3N0YWRk cikgIT0gMCkKKwkJCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBkYXRhYmFzZSBc IiVzXCIgYXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgKGFkZHJlc3MgXCIlc1wiKSBhdCBw b3J0IFwiJXNcIi5cbiIpLAorCQkJCQkJCSAgIGRiLCBQUXVzZXIocHNldC5kYiksIGhvc3QsIGhv c3RhZGRyLCBQUXBvcnQocHNldC5kYikpOworCQkJCQllbHNlCisJCQkJCQlwcmludGYoXygiWW91 IGFyZSBjb25uZWN0ZWQgdG8gZGF0YWJhc2UgXCIlc1wiIGFzIHVzZXIgXCIlc1wiIG9uIGhvc3Qg XCIlc1wiIGF0IHBvcnQgXCIlc1wiLlxuIiksCisJCQkJCQkJICAgZGIsIFBRdXNlcihwc2V0LmRi KSwgaG9zdCwgUFFwb3J0KHBzZXQuZGIpKTsKKwkJCQl9CisJCQkJcHJpbnRTU0xJbmZvKCk7CisJ CQkJcHJpbnRHU1NJbmZvKCk7CiAJCQl9Ci0JCQlwcmludFNTTEluZm8oKTsKLQkJCXByaW50R1NT SW5mbygpOwogCQl9CiAJfQorCWVsc2UKKwkJaWdub3JlX3NsYXNoX29wdGlvbnMoc2Nhbl9zdGF0 ZSk7CiAKLQlyZXR1cm4gUFNRTF9DTURfU0tJUF9MSU5FOworCXJldHVybiBzdWNjZXNzID8gUFNR TF9DTURfU0tJUF9MSU5FIDogUFNRTF9DTURfRVJST1I7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9z cmMvYmluL3BzcWwvZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCmluZGV4IGI2 YTRlYjEuLjEzZjBkMWYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCisrKyBi L3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiZmVf dXRpbHMvbWJwcmludC5oIgogI2luY2x1ZGUgImZlX3V0aWxzL3ByaW50LmgiCiAjaW5jbHVkZSAi ZmVfdXRpbHMvc3RyaW5nX3V0aWxzLmgiCisjaW5jbHVkZSAibGlicHEvcHFjb21tLmgiCiAjaW5j bHVkZSAic2V0dGluZ3MuaCIKICNpbmNsdWRlICJ2YXJpYWJsZXMuaCIKIApAQCAtOTAxLDYgKzkw Miw3MCBAQCBlcnJvcl9yZXR1cm46CiAJcmV0dXJuIGZhbHNlOwogfQogCisvKgorICogbGlzdENv bm5lY3Rpb25JbmZvcm1hdGlvbgorICoKKyAqIGZvciBcY29ubmluZm8rCisgKi8KK2Jvb2wKK2xp c3RDb25uZWN0aW9uSW5mb3JtYXRpb24oY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwlQR3Jlc3Vs dCAgICpyZXM7CisJUFFFeHBCdWZmZXJEYXRhIGJ1ZjsKKwlwcmludFF1ZXJ5T3B0IG15b3B0ID0g cHNldC5wb3B0OworCisJY2hhcgkgICAqaG9zdCA9IFBRaG9zdChwc2V0LmRiKTsKKwljaGFyCSAg ICpob3N0YWRkciA9IFBRaG9zdGFkZHIocHNldC5kYik7CisKKwlpbml0UFFFeHBCdWZmZXIoJmJ1 Zik7CisKKwlwcmludGZQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkgICJTRUxFQ1RcbiIKKwkJCQkJ ICAiICBwZ19jYXRhbG9nLmN1cnJlbnRfZGF0YWJhc2UoKSBBUyBcIkRhdGFiYXNlXCIsXG4iCisJ CQkJCSAgIiAgJyVzJyBBUyBcIkF1dGhlbnRpY2F0ZWQgVXNlclwiLFxuIiwKKwkJCQkJICBQUXVz ZXIocHNldC5kYikpOworCWlmIChwc2V0LnN2ZXJzaW9uID49IDE2MDAwMCkKKwkJYXBwZW5kUFFF eHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIiAgcGdfY2F0YWxvZy5zeXN0ZW1fdXNlcigpIEFTIFwi U3lzdGVtIFVzZXJcIixcbiIpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIiAg cGdfY2F0YWxvZy5jdXJyZW50X3VzZXIoKSBBUyBcIkN1cnJlbnQgVXNlclwiLFxuIgorCQkJCQkg ICIgIHBnX2NhdGFsb2cuc2Vzc2lvbl91c2VyKCkgQVMgXCJTZXNzaW9uIFVzZXJcIixcbiIKKwkJ CQkJICAiICBwZ19jYXRhbG9nLnBnX2JhY2tlbmRfcGlkKCkgQVMgXCJTZXNzaW9uIFBJRFwiLFxu IgorCQkJCQkgICIgIHBnX2NhdGFsb2cuY3VycmVudF9zZXR0aW5nKCdzZXJ2ZXJfdmVyc2lvbicp IEFTIFwiU2VydmVyIFZlcnNpb25cIixcbiIKKwkJCQkJICAiICBwZ19jYXRhbG9nLmluZXRfc2Vy dmVyX2FkZHIoKSBBUyBcIlNlcnZlciBBZGRyZXNzXCIsXG4iCisJCQkJCSAgIiAgcGdfY2F0YWxv Zy5jdXJyZW50X3NldHRpbmcoJ3BvcnQnKSBBUyBcIlNlcnZlciBQb3J0XCIsXG4iCisJCQkJCSAg IiAgcGdfY2F0YWxvZy5pbmV0X2NsaWVudF9hZGRyKCkgQVMgXCJDbGllbnQgQWRkcmVzc1wiLFxu IgorCQkJCQkgICIgIHBnX2NhdGFsb2cuaW5ldF9jbGllbnRfcG9ydCgpIEFTIFwiQ2xpZW50IFBv cnRcIixcbiIpOworCWlmIChpc191bml4c29ja19wYXRoKGhvc3QpICYmICEoaG9zdGFkZHIgJiYg Kmhvc3RhZGRyKSkKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIiAgJyVzJyBB UyBcIlNvY2tldCBEaXJlY3RvcnlcIixcbiIsCisJCQkJCQkgIGhvc3QpOworCWVsc2UKKwkJYXBw ZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIiAgTlVMTCBBUyBcIlNvY2tldCBEaXJlY3Rv cnlcIixcbiIpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIiAgQ0FTRVxuIgor CQkJCQkgICIgICAgV0hFTlxuIgorCQkJCQkgICIgICAgICBwZ19jYXRhbG9nLmluZXRfc2VydmVy X2FkZHIoKSBJUyBOVUxMXG4iCisJCQkJCSAgIiAgICAgIEFORCBwZ19jYXRhbG9nLmluZXRfY2xp ZW50X2FkZHIoKSBJUyBOVUxMXG4iCisJCQkJCSAgIiAgICBUSEVOIE5VTExcbiIKKwkJCQkJICAi ICAgIEVMU0UgJyVzJ1xuIgorCQkJCQkgICIgIEVORCBBUyBcIkhvc3RcIjsiLAorCQkJCQkgIGhv c3QpOworCisJcmVzID0gUFNRTGV4ZWMoYnVmLmRhdGEpOworCXRlcm1QUUV4cEJ1ZmZlcigmYnVm KTsKKwlpZiAoIXJlcykKKwkJcmV0dXJuIGZhbHNlOworCisJbXlvcHQudGl0bGUgPSBfKCJDdXJy ZW50IENvbm5lY3Rpb24gSW5mb3JtYXRpb24iKTsKKwlteW9wdC50cmFuc2xhdGVfaGVhZGVyID0g dHJ1ZTsKKworCXByaW50UXVlcnkocmVzLCAmbXlvcHQsIHBzZXQucXVlcnlGb3V0LCBmYWxzZSwg cHNldC5sb2dmaWxlKTsKKworCVBRY2xlYXIocmVzKTsKKwlyZXR1cm4gdHJ1ZTsKK30KIAogLyoK ICAqIGxpc3RBbGxEYnMKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5oIGIvc3Jj L2Jpbi9wc3FsL2Rlc2NyaWJlLmgKaW5kZXggMjczZjk3NC4uNzc5OTE4YiAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmgKKysrIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmgKQEAg LTE0OSw0ICsxNDksNyBAQCBleHRlcm4gYm9vbCBsaXN0T3BGYW1pbHlGdW5jdGlvbnMoY29uc3Qg Y2hhciAqYWNjZXNzX21ldGhvZF9wYXR0ZXJuLAogLyogXGRsIG9yIFxsb19saXN0ICovCiBleHRl cm4gYm9vbCBsaXN0TGFyZ2VPYmplY3RzKGJvb2wgdmVyYm9zZSk7CiAKKy8qIFxjb25uaW5mbyAq LworZXh0ZXJuIGJvb2wgbGlzdENvbm5lY3Rpb25JbmZvcm1hdGlvbihjb25zdCBjaGFyICpwYXR0 ZXJuKTsKKwogI2VuZGlmCQkJCQkJCS8qIERFU0NSSUJFX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9i aW4vcHNxbC9oZWxwLmMgYi9zcmMvYmluL3BzcWwvaGVscC5jCmluZGV4IDRlNzlhODEuLjJjNTQy NmQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9oZWxwLmMKKysrIGIvc3JjL2Jpbi9wc3FsL2hl bHAuYwpAQCAtMzEwLDcgKzMxMCw3IEBAIHNsYXNoVXNhZ2UodW5zaWduZWQgc2hvcnQgaW50IHBh Z2VyKQogCWVsc2UKIAkJSEVMUDAoIiAgXFxjW29ubmVjdF0ge1tEQk5BTUV8LSBVU0VSfC0gSE9T VHwtIFBPUlR8LV0gfCBjb25uaW5mb31cbiIKIAkJCSAgIiAgICAgICAgICAgICAgICAgICAgICAg ICBjb25uZWN0IHRvIG5ldyBkYXRhYmFzZSAoY3VycmVudGx5IG5vIGNvbm5lY3Rpb24pXG4iKTsK LQlIRUxQMCgiICBcXGNvbm5pbmZvICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFi b3V0IGN1cnJlbnQgY29ubmVjdGlvblxuIik7CisJSEVMUDAoIiAgXFxjb25uaW5mb1srXSAgICAg ICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjdXJyZW50IGNvbm5lY3Rpb25cbiIpOwog CUhFTFAwKCIgIFxcZW5jb2RpbmcgW0VOQ09ESU5HXSAgIHNob3cgb3Igc2V0IGNsaWVudCBlbmNv ZGluZ1xuIik7CiAJSEVMUDAoIiAgXFxwYXNzd29yZCBbVVNFUk5BTUVdICAgc2VjdXJlbHkgY2hh bmdlIHRoZSBwYXNzd29yZCBmb3IgYSB1c2VyXG4iKTsKIAlIRUxQMCgiXG4iKTsK --_004_CP8P284MB2496D053FD15C80780B72F46EC442CP8P284MB2496BRAP_--