pgsql: Don't truncate database and user names in startup packets.

From: Nathan Bossart <nathan(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Don't truncate database and user names in startup packets.
Date: 2023-07-03 20:20:00
Message-ID: E1qGQ1g-001lDr-RY@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't truncate database and user names in startup packets.

Unlike commands such as CREATE DATABASE, ProcessStartupPacket()
does not perform multibyte-aware truncation of overlength names.
This means that connection attempts might fail even if the user
provides the same overlength names that were used in CREATE
DATABASE, CREATE ROLE, etc. Ideally, we'd do the same multibyte-
aware truncation in both code paths, but it doesn't seem worth the
added complexity of trying to discover the encoding of the names.
Instead, let's simply skip truncating the names in the startup
packet and let the user/database lookup fail later on. With this
change, users must provide the exact names stored in the catalogs,
even if the names were truncated.

This reverts commit d18c1d1f51.

Author: Bertrand Drouvot
Reviewed-by: Kyotaro Horiguchi, Tom Lane
Discussion: https://postgr.es/m/07436793-1426-29b2-f924-db7422a05fb7%40gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/562bee0fc13dc95710b8db6a48edad2f3d052f2e

Modified Files
--------------
src/backend/postmaster/postmaster.c | 9 ---------
1 file changed, 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2023-07-03 21:58:12 pgsql: Fix race in SSI interaction with empty btrees.
Previous Message Nathan Bossart 2023-07-03 18:19:14 Re: pgsql: Fix search_path to a safe value during maintenance operations.