Skip to content

Commit a09ed7e

Browse files
committed
updated for version 7.4.172
Problem: The blowfish code mentions output feedback, but the code is actually doing cipher feedback. Solution: Adjust names and comments.
1 parent 6cd08ad commit a09ed7e

File tree

5 files changed

+27
-25
lines changed

5 files changed

+27
-25
lines changed

src/blowfish.c

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Do ":help credits" in Vim to see a list of people who contributed.
77
* See README.txt for an overview of the Vim source code.
88
*
9-
* Blowfish encryption for Vim; in Blowfish output feedback mode.
9+
* Blowfish encryption for Vim; in Blowfish cipher feedback mode.
1010
* Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
1111
* Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
1212
*/
@@ -19,7 +19,7 @@
1919

2020
#define BF_BLOCK 8
2121
#define BF_BLOCK_MASK 7
22-
#define BF_OFB_LEN (8*(BF_BLOCK))
22+
#define BF_CFB_LEN (8*(BF_BLOCK))
2323

2424
typedef union {
2525
UINT32_T ul[2];
@@ -554,42 +554,42 @@ bf_self_test()
554554
return err > 0 ? FAIL : OK;
555555
}
556556

557-
/* Output feedback mode. */
557+
/* Cipher feedback mode. */
558558
static int randbyte_offset = 0;
559559
static int update_offset = 0;
560-
static char_u ofb_buffer[BF_OFB_LEN]; /* 64 bytes */
560+
static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */
561561

562562
/*
563563
* Initialize with seed "iv[iv_len]".
564564
*/
565565
void
566-
bf_ofb_init(iv, iv_len)
566+
bf_cfb_init(iv, iv_len)
567567
char_u *iv;
568568
int iv_len;
569569
{
570570
int i, mi;
571571

572572
randbyte_offset = update_offset = 0;
573-
vim_memset(ofb_buffer, 0, BF_OFB_LEN);
573+
vim_memset(cfb_buffer, 0, BF_CFB_LEN);
574574
if (iv_len > 0)
575575
{
576-
mi = iv_len > BF_OFB_LEN ? iv_len : BF_OFB_LEN;
576+
mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN;
577577
for (i = 0; i < mi; i++)
578-
ofb_buffer[i % BF_OFB_LEN] ^= iv[i % iv_len];
578+
cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len];
579579
}
580580
}
581581

582-
#define BF_OFB_UPDATE(c) { \
583-
ofb_buffer[update_offset] ^= (char_u)c; \
584-
if (++update_offset == BF_OFB_LEN) \
582+
#define BF_CFB_UPDATE(c) { \
583+
cfb_buffer[update_offset] ^= (char_u)c; \
584+
if (++update_offset == BF_CFB_LEN) \
585585
update_offset = 0; \
586586
}
587587

588588
#define BF_RANBYTE(t) { \
589589
if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
590-
bf_e_cblock(&ofb_buffer[randbyte_offset]); \
591-
t = ofb_buffer[randbyte_offset]; \
592-
if (++randbyte_offset == BF_OFB_LEN) \
590+
bf_e_cblock(&cfb_buffer[randbyte_offset]); \
591+
t = cfb_buffer[randbyte_offset]; \
592+
if (++randbyte_offset == BF_CFB_LEN) \
593593
randbyte_offset = 0; \
594594
}
595595

@@ -610,7 +610,7 @@ bf_crypt_encode(from, len, to)
610610
{
611611
ztemp = from[i];
612612
BF_RANBYTE(t);
613-
BF_OFB_UPDATE(ztemp);
613+
BF_CFB_UPDATE(ztemp);
614614
to[i] = t ^ ztemp;
615615
}
616616
}
@@ -630,7 +630,7 @@ bf_crypt_decode(ptr, len)
630630
{
631631
BF_RANBYTE(t);
632632
*p ^= t;
633-
BF_OFB_UPDATE(*p);
633+
BF_CFB_UPDATE(*p);
634634
}
635635
}
636636

@@ -646,13 +646,13 @@ bf_crypt_init_keys(passwd)
646646

647647
for (p = passwd; *p != NUL; ++p)
648648
{
649-
BF_OFB_UPDATE(*p);
649+
BF_CFB_UPDATE(*p);
650650
}
651651
}
652652

653653
static int save_randbyte_offset;
654654
static int save_update_offset;
655-
static char_u save_ofb_buffer[BF_OFB_LEN];
655+
static char_u save_cfb_buffer[BF_CFB_LEN];
656656
static UINT32_T save_pax[18];
657657
static UINT32_T save_sbx[4][256];
658658

@@ -665,7 +665,7 @@ bf_crypt_save()
665665
{
666666
save_randbyte_offset = randbyte_offset;
667667
save_update_offset = update_offset;
668-
mch_memmove(save_ofb_buffer, ofb_buffer, BF_OFB_LEN);
668+
mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN);
669669
mch_memmove(save_pax, pax, 4 * 18);
670670
mch_memmove(save_sbx, sbx, 4 * 4 * 256);
671671
}
@@ -679,7 +679,7 @@ bf_crypt_restore()
679679
{
680680
randbyte_offset = save_randbyte_offset;
681681
update_offset = save_update_offset;
682-
mch_memmove(ofb_buffer, save_ofb_buffer, BF_OFB_LEN);
682+
mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN);
683683
mch_memmove(pax, save_pax, 4 * 18);
684684
mch_memmove(sbx, save_sbx, 4 * 4 * 256);
685685
}

src/fileio.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2973,7 +2973,7 @@ check_for_cryptkey(cryptkey, ptr, sizep, filesizep, newfile, fname, did_ask)
29732973
else
29742974
{
29752975
bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
2976-
bf_ofb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
2976+
bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
29772977
}
29782978

29792979
/* Remove magic number from the text */
@@ -3025,7 +3025,7 @@ prepare_crypt_read(fp)
30253025
if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
30263026
return FAIL;
30273027
bf_key_init(curbuf->b_p_key, buffer, salt_len);
3028-
bf_ofb_init(buffer + salt_len, seed_len);
3028+
bf_cfb_init(buffer + salt_len, seed_len);
30293029
}
30303030
return OK;
30313031
}
@@ -3064,7 +3064,7 @@ prepare_crypt_write(buf, lenp)
30643064
seed = salt + salt_len;
30653065
sha2_seed(salt, salt_len, seed, seed_len);
30663066
bf_key_init(buf->b_p_key, salt, salt_len);
3067-
bf_ofb_init(seed, seed_len);
3067+
bf_cfb_init(seed, seed_len);
30683068
}
30693069
}
30703070
*lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;

src/memline.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4914,7 +4914,7 @@ ml_crypt_prepare(mfp, offset, reading)
49144914
* block for the salt. */
49154915
vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
49164916
bf_key_init(key, salt, (int)STRLEN(salt));
4917-
bf_ofb_init(seed, MF_SEED_LEN);
4917+
bf_cfb_init(seed, MF_SEED_LEN);
49184918
}
49194919
}
49204920

src/proto/blowfish.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* blowfish.c */
22
void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
3-
void bf_ofb_init __ARGS((char_u *iv, int iv_len));
3+
void bf_cfb_init __ARGS((char_u *iv, int iv_len));
44
void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
55
void bf_crypt_decode __ARGS((char_u *ptr, long len));
66
void bf_crypt_init_keys __ARGS((char_u *passwd));

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,8 @@ static char *(features[]) =
738738

739739
static int included_patches[] =
740740
{ /* Add new patch number below this line */
741+
/**/
742+
172,
741743
/**/
742744
171,
743745
/**/

0 commit comments

Comments
 (0)