Make the memory layout of Port struct independent of USE_OPENSSL
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 22 Nov 2024 15:43:04 +0000 (17:43 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 22 Nov 2024 15:43:04 +0000 (17:43 +0200)
commit8fb5936703e84945766b8425bfe54e0060dea231
treed0cbf43552ecd317bb167e407dc3d629ef344f7f
parentee937f0409d5c75855861bf31f88eeb77623b411
Make the memory layout of Port struct independent of USE_OPENSSL

Commit d39a49c1e4 added new fields to the struct, but missed the "keep
these last" comment on the previous fields. Add placeholder variables
so that the offsets of the fields are the same whether you build with
USE_OPENSSL or not. This is a courtesy to extensions that might peek
at the fields, to make the ABI the same regardless of the options used
to build PostgreSQL.

In reality, I don't expect any extensions to look at the 'raw_buf'
fields. Firstly, they are new in v17, so no one's written such
extensions yet. Secondly, extensions should have no business poking at
those fields anyway. Nevertheless, fix this properly on 'master'. On
v17, we mustn't change the memory layout, so just fix the comments.

Author: Jacob Champion
Discussion: https://www.postgresql.org/message-id/raw/CAOYmi%2BmKVJNzn5_TD_MK%3DhqO64r_w8Gb0FHCLk0oAkW-PJv8jQ@mail.gmail.com
src/include/libpq/libpq-be.h