Re: libpq compression

Поиск
Список
Период
Сортировка
От Konstantin Knizhnik
Тема Re: libpq compression
Дата
Msg-id 26003e29-5f01-ff42-0859-9d6f69a55148@postgrespro.ru
обсуждение исходный текст
Ответ на libpq compression  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-hackers

On 28.10.2020 17:57, Даниил Захлыстов wrote:
> Hi, thanks for the patch!
> I’ve made a quick review and found one issue.
> If the backend sends a CompressionAck message followed by some already 
> compressed message (for example, AuthenticationOk), then there is a 
> chance that pqReadData() will read both messages into the read buffer 
> at once. In this case, the CompressionAck message will be read 
> normally, but the client will fail to recognize the next message (for 
> example, AuthenticationOk) since it came in a compressed form but was 
> incorrectly read as a regular message. So the client would not be able 
> to recognize the second message and will crash.
> Example of a successful launch (added some debug output):
> usernamedt-osx: ~ usernamedt $ psql -d "host = x.x.x.x port = 6432 
> dbname = testdb user = testuser compression = 1"
> NUM_READ: 6 (pqReadData read CompressionAck (6 bytes) and nothing more)
> pqReadData RC: 1
> NUM_READ: 346
> pqReadData RC: 1
> psql (14devel)
> Type "help" for help.
> testdb => // OK
> Example of a failed launch:
> usernamedt-osx: ~ usernamedt $ psql -d "host = x.x.x.x port = 6432 
> dbname = testdb user = testuser compression = 1"
> NUM_READ: 24 (pqReadData read CompressionAck (6 bytes) and compressed 
> AuthenticationOk (18 bytes) came after it)
> pqReadData RC: 1
> psql: error: could not connect to server: expected authentication 
> request from server, but received x // FAIL

Thank you for reporting the problem.
Fix is attached.

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Internal key management system
Следующее
От: Tom Lane
Дата:
Сообщение: Re: duplicate function oid symbols