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

Commit051e976

Browse files
committed
fix
1 parentf3329a8 commit051e976

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

‎src/backend/storage/file/cfs.c

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -321,34 +321,50 @@ static int extract_fname_parts(const char* fname, uint32* part1, uint32* part2,
321321
/* Encryption and decryption using AES in CTR mode */
322322
staticvoidcfs_aes_crypt_block(constchar*fname,void*block,uint32offs,uint32size)
323323
{
324+
#defineAES_DEBUG 1
324325
uint32aes_in[4];/* 16 bytes, 128 bits */
325326
uint32aes_out[4];
326327
uint8*plaintext= (uint8*)block;
327328
uint8*pgamma= (uint8*)&aes_out;
329+
rijndael_ctxtemp_ctx=cfs_state->aes_context;
328330
uint32i,fname_part1,fname_part2,fname_part3;
329331

330332
if(extract_fname_parts(fname,&fname_part1,&fname_part2,&fname_part3)<0)
331333
fname_part1=fname_part2=fname_part3=0;
332334

333-
// AALEKSEEV TODO MAKE DEBUG4
335+
#ifdefAES_DEBUG
334336
elog(LOG,"cfs_aes_crypt_block, fname = %s, part1 = %d, part2 = %d, part3 = %d, offs = %d, size = %d",
335337
fname,fname_part1,fname_part2,fname_part3,offs,size);
338+
#endif
336339

337-
aes_in[0]=fname_part1;
338-
aes_in[1]=fname_part2;
339-
aes_in[2]=fname_part3;
340+
aes_in[0]=0;//fname_part1;
341+
aes_in[1]=0;//fname_part2;
342+
aes_in[2]=0;//fname_part3;
340343
aes_in[3]=offs&0xFFFFFFF0;
341-
rijndael_encrypt(&cfs_state->aes_context, (u4byte*)&aes_in, (u4byte*)&aes_out);
344+
rijndael_encrypt(&temp_ctx, (u4byte*)&aes_in, (u4byte*)&aes_out);
345+
346+
#ifdefAES_DEBUG
347+
elog(LOG,"cfs_aes_crypt_block, in = %08X %08X %08X %08X, out = %08X %08X %08X %08X",
348+
aes_in[0],aes_in[1],aes_in[2],aes_in[3],
349+
aes_out[0],aes_out[1],aes_out[2],aes_out[3]);
350+
#endif
342351

343352
for(i=0;i<size;i++)
344353
{
345-
plaintext[i] ^=aes_out[offs&0xF];
354+
plaintext[i] ^=pgamma[offs&0xF];
346355
offs++;
347356
if((offs&0xF)==0)
348357
{
349358
/* Prepare next gamma part */
350359
aes_in[3]=offs;
351-
rijndael_encrypt(&cfs_state->aes_context, (u4byte*)&aes_in, (u4byte*)&aes_out);
360+
temp_ctx=cfs_state->aes_context;
361+
rijndael_encrypt(&temp_ctx, (u4byte*)&aes_in, (u4byte*)&aes_out);
362+
363+
#ifdefAES_DEBUG
364+
elog(LOG,"cfs_aes_crypt_block, in = %08X %08X %08X %08X, out = %08X %08X %08X %08X",
365+
aes_in[0],aes_in[1],aes_in[2],aes_in[3],
366+
aes_out[0],aes_out[1],aes_out[2],aes_out[3]);
367+
#endif
352368
}
353369
}
354370
}

‎src/include/storage/cfs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include"port/atomics.h"
77
#include"storage/rijndael.h"
88

9-
#defineCFS_VERSION "0.22"
9+
#defineCFS_VERSION "0.23"
1010

1111
#defineCFS_GC_LOCK 0x10000000
1212

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp