Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit03f9cd9

Browse files
committed
Remove useless SHA256 initialization when not using backup manifests
Attempting to take a base backup with Postgres linking to a build ofOpenSSL with FIPS enabled currently fails with or even without a backupmanifest requested because of this mandatory SHA256 initialization usedfor the manifest file itself. However, there is no need to do thisinitialization at all if backup manifests are not needed because thereis no data to append to the manifest.Note that being able to use backup manifests with OpenSSL+FIPS requiresa switch of the SHA2 implementation to use EVP, which would cause an ABIbreakage so this cannot be backpatched to 13 as it has been alreadyreleased, but at least avoiding this SHA256 initialization gives usersthe possibility to take a base backup even when specifying --no-manifestwith pg_basebackup.Author: Michael PaquierDiscussion:https://postgr.es/m/20201110020014.GE1887@paquier.xyzBackpatch-through: 13
1 parent42c63ab commit03f9cd9

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

‎src/backend/replication/backup_manifest.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,17 @@ InitializeBackupManifest(backup_manifest_info *manifest,
5757
backup_manifest_optionwant_manifest,
5858
pg_checksum_typemanifest_checksum_type)
5959
{
60+
memset(manifest,0,sizeof(backup_manifest_info));
61+
manifest->checksum_type=manifest_checksum_type;
62+
6063
if (want_manifest==MANIFEST_OPTION_NO)
6164
manifest->buffile=NULL;
6265
else
66+
{
6367
manifest->buffile=BufFileCreateTemp(false);
64-
manifest->checksum_type=manifest_checksum_type;
65-
pg_sha256_init(&manifest->manifest_ctx);
68+
pg_sha256_init(&manifest->manifest_ctx);
69+
}
70+
6671
manifest->manifest_size=UINT64CONST(0);
6772
manifest->force_encode= (want_manifest==MANIFEST_OPTION_FORCE_ENCODE);
6873
manifest->first_file= true;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp