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.96) (envelope-from ) id 1x3XKA-006UfU-1J for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Sep 2026 11:15:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1x3XK9-001EIs-0H for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Sep 2026 11:15:41 +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.96) (envelope-from ) id 1x3XK8-001EIk-2Y for pgsql-hackers@lists.postgresql.org; Mon, 07 Sep 2026 11:15:40 +0000 Received: from email.dnscdc.tech ([194.226.250.15]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x3XK6-00000003OY2-1T7f for pgsql-hackers@lists.postgresql.org; Mon, 07 Sep 2026 11:15:40 +0000 Received: with id B006F280D64; Mon, 7 Sep 2026 18:15:35 +0700 (+07) Received: with id 643FE28004F; Mon, 7 Sep 2026 18:15:35 +0700 (+07) From: Grigorev Jurij To: Diego , "pgsql-hackers@lists.postgresql.org" CC: Denis Smirnov , Jacob Champion Subject: RE: [PATCH] libpq: Add PQpassfileLookup() Thread-Topic: [PATCH] libpq: Add PQpassfileLookup() Thread-Index: AQIqvYvk14BeS9hVPUmteHfaeDijmLYn+Ldg Date: Mon, 7 Sep 2026 11:15:30 +0000 Message-ID: <56a73ea31de54ebea53877367cdd6abf@localhost.localdomain> References: In-Reply-To: Accept-Language: ru-RU, en-US Content-Language: ru-RU X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-KLMS-Rule-ID: 1 X-KLMS-Message-Action: clean X-KLMS-AntiSpam-Lua-Profiles: 205765 [Sep 07 2026] X-KLMS-AntiSpam-Version: 6.1.1.27 X-KLMS-AntiSpam-Envelope-From: ju.grigorev@ftdata.ru X-KLMS-AntiSpam-Rate: 0 X-KLMS-AntiSpam-Status: not_detected X-KLMS-AntiSpam-Method: none X-KLMS-AntiSpam-Auth: dkim=none X-MS-Exchange-Organization-SCL: -1 X-KLMS-AntiSpam-Interceptor-Info: scan successful X-KLMS-AntiPhishing: Clean, bases: 2026/09/07 10:19:00 X-KLMS-AntiVirus: Kaspersky Security for Linux Mail Server, version 8.0.3.30, bases: 2026/09/07 10:26:00 #28547578 X-KLMS-AntiVirus-Status: Clean, skipped List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGkgRGllZ28sDQoNCkkgcmV2aWV3ZWQgdjEgKENGIDcyNjEpLiAgVGhhbmtzIGZvciB3cml0aW5n IHRoaXMsIGFuZCB0aGFua3MgdG8gRGVuaXMNCmZvciB0aGUgb3JpZ2luYWwgc3VnZ2VzdGlvbi4N Cg0KSSB0aGluayBleHBvc2luZyB0aGUgZXhpc3RpbmcgcGFzc2ZpbGUgbG9va3VwIGlzIGEgdXNl ZnVsIEFQSSBmb3IgdGhlDQpTU0gtdHVubmVsL2R5bmFtaWMtcG9ydCBjYXNlLg0KDQpKdXN0IGZv dW5kIGEgY291cGxlIG9mIGlzc3VlcyBhbmQgc29tZSBzbWFsbGVyIHRlc3QvZG9jdW1lbnRhdGlv biBwb2ludHMuDQoNCjEuIEVycm9yIGhhbmRsaW5nIGlzIGxvc3QgYnkgUFFwYXNzZmlsZUxvb2t1 cCgpDQoNClRoZSBuZXcgZnVuY3Rpb24gY2FsbHM6DQoNCiAgICBjb25zdCBjaGFyICplcnJtc2c7 DQoNCiAgICByZXR1cm4gcGFzc3dvcmRGcm9tRmlsZShob3N0bmFtZSwgcG9ydCwgZGJuYW1lLCB1 c2VybmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzZmlsZSwgJmVycm1zZyk7 DQoNCmJ1dCBuZXZlciBleGFtaW5lcyBlcnJtc2cuICBwYXNzd29yZEZyb21GaWxlKCkgdXNlcyBp dCB0byBkaXN0aW5ndWlzaA0KYW4gYWxsb2NhdGlvbiBmYWlsdXJlIGZyb20gYW4gb3JkaW5hcnkg bG9va3VwIG1pc3MuICBUaGUgY29ubmVjdGlvbg0KcGF0aCB0dXJucyB0aGF0IGVycm9yIGludG8g Q09OTkVDVElPTl9CQUQsIHdoZXJlYXMgUFFwYXNzZmlsZUxvb2t1cCgpDQpyZXR1cm5zIE5VTEwg aW4gYm90aCBjYXNlcy4NCg0KVGhlIGRvY3VtZW50YXRpb24gY3VycmVudGx5IHNheXM6DQoNCiAg ICBOVUxMIGlmIG5vIHBhc3N3b3JkIGNvdWxkIGJlIGZvdW5kDQoNCndoaWNoIGRvZXMgbm90IG1h a2UgdGhlIGRpc3RpbmN0aW9uIGNsZWFyLg0KDQpJIHRoaW5rIHRoZSBzaW1wbGVzdCBvcHRpb24g aXMgdG8ga2VlcCB0aGUgcHJvcG9zZWQgcHVibGljIHNpZ25hdHVyZQ0KYW5kIGRvY3VtZW50IHRo YXQgTlVMTCBpcyByZXR1cm5lZCBpZiBubyBtYXRjaGluZyBwYXNzd29yZCBpcyBmb3VuZCBvcg0K aWYgdGhlIGxvb2t1cCBjYW5ub3QgYmUgY29tcGxldGVkLCBmb3IgZXhhbXBsZSBiZWNhdXNlIG9m IGFuIGFsbG9jYXRpb24NCmZhaWx1cmUuICBBbHRlcm5hdGl2ZWx5LCB0aGUgcHVibGljIEFQSSB3 b3VsZCBuZWVkIGFuIGVycm9yIG91dHB1dA0KcGFyYW1ldGVyLg0KDQpUaGUgbG9jYWwgZXJybXNn IHZhcmlhYmxlIGlzIHN0aWxsIHJlcXVpcmVkIGJ5IHRoZSBjdXJyZW50IGludGVybmFsDQpwYXNz d29yZEZyb21GaWxlKCkgc2lnbmF0dXJlIHVubGVzcyB0aGF0IGZ1bmN0aW9uIGlzIGNoYW5nZWQg dG8gcGVybWl0DQphIE5VTEwgZXJyb3IgcG9pbnRlci4NCg0KMi4gUEdQQVNTRklMRSBjYW4gYmUg c2lsZW50bHkgdHJ1bmNhdGVkDQoNCldoZW4gcGFzc2ZpbGUgaXMgTlVMTCBvciBlbXB0eSwgdGhl IHdyYXBwZXIgY29waWVzIFBHUEFTU0ZJTEUgaW50byBhDQpNQVhQR1BBVEgtc2l6ZWQgYnVmZmVy Og0KDQogICAgc3RybGNweShwZ3Bhc3NmaWxlLCBwZ3Bhc3NlbnYsIHNpemVvZihwZ3Bhc3NmaWxl KSk7DQoNCkEgdmFsdWUgbG9uZ2VyIHRoYW4gTUFYUEdQQVRIIGlzIHRoZXJlZm9yZSBzaWxlbnRs eSB0cnVuY2F0ZWQuICBUaGlzDQpkaWZmZXJzIGZyb20gbm9ybWFsIGNvbm5lY3Rpb24gb3B0aW9u IHByb2Nlc3NpbmcsIHdoZXJlIHRoZSB2YWx1ZSBvZg0KUEdQQVNTRklMRSBpcyBkeW5hbWljYWxs eSBhbGxvY2F0ZWQuDQoNClRoZXJlIGlzIG5vIG5lZWQgdG8gY29weSB0aGUgZW52aXJvbm1lbnQg dmFsdWUgaGVyZS4gIHBhc3NmaWxlIGNhbg0KcG9pbnQgZGlyZWN0bHkgdG8gcGdwYXNzZW52OyB0 aGUgbG9jYWwgYnVmZmVyIGlzIG5lZWRlZCBvbmx5IHdoZW4NCmNvbnN0cnVjdGluZyB0aGUgZGVm YXVsdCBwYXRoLg0KDQozLiBUZXN0IGNvdmVyYWdlIGZvciBhcmd1bWVudCBkZWZhdWx0cw0KDQpU aGUgVEFQIHRlc3QgY292ZXJzIG1hdGNoaW5nLCB3aWxkY2FyZHMsIGZpcnN0LW1hdGNoLXdpbnMs IGVzY2FwaW5nLA0KUEdQQVNTRklMRSwgYW5kIHRoZSBwZXJtaXNzaW9ucyBjaGVjay4gIEEgZmV3 IGJlaGF2aW91cnMgZG9jdW1lbnRlZCBieQ0KdGhlIG5ldyBBUEkgYXJlIG5vdCBleGVyY2lzZWQ6 DQoNCiAgKiBOVUxMIGFuZCBlbXB0eSBwb3J0IHNob3VsZCB1c2UgREVGX1BHUE9SVF9TVFIuICBU aGUgY3VycmVudA0KICAgIGxvY2FsaG9zdCB0ZXN0IHVzZXMgYSB3aWxkY2FyZCBwb3J0LCBzbyBp dCBkb2VzIG5vdCB0ZXN0IHRoYXQNCiAgICBkZWZhdWx0LiAgVGhlIHRlc3Qgc2hvdWxkIGFjY291 bnQgZm9yIGEgbm9uLXN0YW5kYXJkIGNvbXBpbGVkLWluDQogICAgcG9ydCByYXRoZXIgdGhhbiBh c3N1bWluZyA1NDMyLg0KDQogICogTlVMTCBkYm5hbWUgYW5kIHVzZXJuYW1lIGFyZSB0ZXN0ZWQs IGJ1dCB0aGVpciBlbXB0eS1zdHJpbmcgZm9ybXMNCiAgICBhcmUgbm90Lg0KDQogICogTlVMTCBw YXNzZmlsZSB3aXRoIFBHUEFTU0ZJTEUgaXMgdGVzdGVkLCBidXQgZW1wdHkgcGFzc2ZpbGUgYW5k IHRoZQ0KICAgIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IHBhc3N3b3JkIGZpbGUgbG9jYXRpb24g YXJlIG5vdC4gIFRoZSB0ZXN0DQogICAgY2xpZW50IGFscmVhZHkgcHJlc2VydmVzIGFuIGVtcHR5 IGFyZ3VtZW50LCBzbyB0aGUgZm9ybWVyIG9ubHkNCiAgICBuZWVkcyBhbm90aGVyIFRBUCBjYXNl Lg0KDQogICogVGhlIGRvY3VtZW50ZWQgZGVmYXVsdC1zb2NrZXQtZGlyZWN0b3J5LXRvLWxvY2Fs aG9zdCBydWxlIGlzIG5vdA0KICAgIGN1cnJlbnRseSB0ZXN0ZWQuDQoNClRoZSBsYXN0IHR3byBt YXkgcmVxdWlyZSBzb21lIHBsYXRmb3JtLXNwZWNpZmljIGhhbmRsaW5nLCBidXQgdGhlDQpkZWZh dWx0LXBvcnQgYW5kIGVtcHR5LWFyZ3VtZW50IGNhc2VzIHNob3VsZCBiZSBzdHJhaWdodGZvcndh cmQuDQoNCkkgYW0gbGVzcyBzdXJlIGFib3V0IHRoaXMgdGVzdDoNCg0KICAgICo6KjoqOmZhbGxi YWNrOmZhbGxwdzphbnl0aGluZyBhZnRlciBhbiB1bmVzY2FwZWQgY29sb24gaXMgaWdub3JlZA0K DQpUaGUgZG9jdW1lbnRlZCBmb3JtYXQgcmVxdWlyZXMgYSBjb2xvbiBpbiBhIGZpZWxkIHRvIGJl IGVzY2FwZWQuDQpUZXN0aW5nIHRoYXQgdHJhaWxpbmcgZmllbGRzIGFyZSBzaWxlbnRseSBpZ25v cmVkIGFwcGVhcnMgdG8gcHJlc2VydmUNCmFuIHVuZG9jdW1lbnRlZCBwYXJzZXIgYmVoYXZpb3Vy LiAgU2luY2UgdGhhdCBiZWhhdmlvdXIgaXMgaW5oZXJpdGVkDQpmcm9tIHBhc3N3b3JkRnJvbUZp bGUoKSByYXRoZXIgdGhhbiBpbnRyb2R1Y2VkIGJ5IHRoaXMgQVBJLCBJIHdvdWxkDQpwcmVmZXIg dG8gbGVhdmUgaXQgb3V0IG9mIHRoaXMgcGF0Y2guDQoNCkEgY291cGxlIG9mIHNtYWxsZXIgcG9p bnRzOg0KDQogICogdGVzdF9wYXNzZmlsZV9sb29rdXAoKSBjaGVja3MgYXJnYyA8IDcgYW5kIHNp bGVudGx5IGFjY2VwdHMgZXh0cmENCiAgICBhcmd1bWVudHMuICBhcmdjICE9IDcgd291bGQgbWF0 Y2ggdGhlIHVzYWdlIHN0cmluZyBtb3JlIGNsb3NlbHkuDQoNCiAgKiBUaGUgQyBjb21tZW50IGRl c2NyaWJpbmcgaG9zdG5hbWUgZGVmYXVsdHMgZG9lcyBub3QgbWVudGlvbiB0aGUNCiAgICBkZWZh dWx0IHNvY2tldCBkaXJlY3RvcnkgcnVsZSB0aGF0IGlzIGRlc2NyaWJlZCBpbiB0aGUgU0dNTCBk b2NzLg0KDQogICogVGhlIHJldHVybmVkIGFsbG9jYXRpb24gY29udGFpbnMgYSBwbGFpbnRleHQg cGFzc3dvcmQuDQogICAgUFFmcmVlbWVtKCkgZG9lcyBub3QgZXJhc2UgaXQsIHdoZXJlYXMgbGli cHEgZXhwbGljaXRseSBjbGVhcnMNCiAgICBwYXNzd29yZHMgc3RvcmVkIGluIFBHY29ubiBiZWZv cmUgZnJlZWluZyB0aGVtLiAgSXQgd291bGQgYmUgdXNlZnVsDQogICAgZm9yIHRoZSBkb2N1bWVu dGF0aW9uIHRvIG1lbnRpb24gdGhhdCBjYWxsZXJzIGFyZSByZXNwb25zaWJsZSBmb3INCiAgICBz ZWN1cmVseSBjbGVhcmluZyB0aGUgcmVzdWx0IHdoZXJlIGFwcHJvcHJpYXRlLg0KDQpUaGUgcmVz dCBsb29rcyBnb29kIHRvIG1lOiByZXVzaW5nIHBhc3N3b3JkRnJvbUZpbGUoKSwgdGhlIGZlYXR1 cmUNCm1hY3JvLCBleHBvcnRzLnR4dCBlbnRyeSwgTWVzb24gaW50ZWdyYXRpb24sIGFuZCB0aGUg Z2VuZXJhbCB0ZXN0DQpzdHJ1Y3R1cmUgYWxsIGxvb2sgYXBwcm9wcmlhdGUuICBDb25uZWN0aW9u IGVzdGFibGlzaG1lbnQgcmVtYWlucw0KdW5jaGFuZ2VkLCBhcyBpbnRlbmRlZC4NCg0KSSB3aWxs IG1hcmsgdGhlIENGIGVudHJ5IGFzIFdhaXRpbmcgb24gQXV0aG9yLiAgSGFwcHkgdG8gcmV2aWV3 IHRoZQ0KbmV4dCB2ZXJzaW9uIQ0KDQpCZXN0IHJlZ2FyZHMsDQogIFl1cml5IEdyaWdvcnlldg0K