pgsql: libpq: Be strict about cancel key lengths

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: libpq: Be strict about cancel key lengths
Date: 2025-08-22 11:45:43
Message-ID: E1upQDG-0017qG-1l@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

libpq: Be strict about cancel key lengths

The protocol documentation states that the maximum length of a cancel
key is 256 bytes. This starts checking for that limit in libpq.
Otherwise third party backend implementations will probably start
using more bytes anyway. We also start requiring that a protocol 3.0
connection does not send a longer cancel key, to make sure that
servers don't start breaking old 3.0-only clients by accident. Finally
this also restricts the minimum key length to 4 bytes (both in the
protocol spec and in the libpq implementation).

Author: Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>
Reviewed-by: Jacob Champion <jchampion(at)postgresql(dot)org>
Discussion: https://www.postgresql.org/message-id/df892f9f-5923-4046-9d6f-8c48d8980b50@iki.fi
Backpatch-through: 18

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e7ff96853ea78fd5fc00987fac276a35c265b1bf

Modified Files
--------------
doc/src/sgml/protocol.sgml | 2 +-
src/interfaces/libpq/fe-protocol3.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2025-08-22 11:52:11 pgsql: Revert unnecessary check for NULL
Previous Message Heikki Linnakangas 2025-08-22 11:45:06 pgsql: libpq: Be strict about cancel key lengths