postgresql/contrib/pgcrypto/sql
Michael Paquier 9e108984fb Fix corner case with PGP decompression in pgcrypto
A compressed stream may end with an empty packet, and PGP decompression
finished before reading this empty packet in the remaining stream.  This
caused a failure in pgcrypto, handling this case as corrupted data.
This commit makes sure to consume such extra data, avoiding a failure
when decompression the entire stream.  This corner case was reproducible
with a data length of 16kB, and existed since its introduction in
e94dd6a.  A cheap regression test is added to cover this case.

Thanks to Jeff Janes for the extra investigation.

Reported-by: Frank Gagnepain
Author: Kyotaro Horiguchi, Michael Paquier
Discussion: https://postgr.es/m/16476-692ef7b84e5fb893@postgresql.org
Backpatch-through: 9.5
2020-07-22 14:52:23 +09:00
..
3des.sql
blowfish.sql
cast5.sql
crypt-blowfish.sql
crypt-des.sql
crypt-md5.sql
crypt-xdes.sql
des.sql
hmac-md5.sql
hmac-sha1.sql Fix typos in SQL scripts of pgcrypto 2019-05-28 06:33:30 -04:00
init.sql
md5.sql
pgp-armor.sql
pgp-compression.sql Fix corner case with PGP decompression in pgcrypto 2020-07-22 14:52:23 +09:00
pgp-decrypt.sql Fix typos in SQL scripts of pgcrypto 2019-05-28 06:33:30 -04:00
pgp-encrypt.sql pgcrypto: support changing S2K iteration count 2016-03-09 14:31:07 -03:00
pgp-info.sql
pgp-pubkey-decrypt.sql
pgp-pubkey-encrypt.sql
pgp-zlib-DISABLED.sql
rijndael.sql pgcrypto's encrypt() supports AES-128, AES-192, and AES-256 2018-01-31 16:33:11 -05:00
sha1.sql
sha2.sql