[vim] - patchlevel 172

Karsten Hopp karsten at fedoraproject.org
Sat Feb 15 10:57:09 UTC 2014


commit 547f73930cbf4499f99ea67dc28bcfa734deec48
Author: Karsten Hopp <karsten at redhat.com>
Date:   Sat Feb 15 11:56:54 2014 +0100

    - patchlevel 172

 7.4.172 |  346 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 346 insertions(+), 0 deletions(-)
---
diff --git a/7.4.172 b/7.4.172
new file mode 100644
index 0000000..8ad9fca
--- /dev/null
+++ b/7.4.172
@@ -0,0 +1,346 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.4.172
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.172
+Problem:    The blowfish code mentions output feedback, but the code is
+	    actually doing cipher feedback.
+Solution:   Adjust names and comments.
+Files:	    src/blowfish.c, src/fileio.c, src/proto/blowfish.pro,
+	    src/memline.c
+
+
+*** ../vim-7.4.171/src/blowfish.c	2010-12-17 19:58:18.000000000 +0100
+--- src/blowfish.c	2014-02-11 15:18:12.882118804 +0100
+***************
+*** 6,12 ****
+   * Do ":help credits" in Vim to see a list of people who contributed.
+   * See README.txt for an overview of the Vim source code.
+   *
+!  * Blowfish encryption for Vim; in Blowfish output feedback mode.
+   * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
+   * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
+   */
+--- 6,12 ----
+   * Do ":help credits" in Vim to see a list of people who contributed.
+   * See README.txt for an overview of the Vim source code.
+   *
+!  * Blowfish encryption for Vim; in Blowfish cipher feedback mode.
+   * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
+   * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
+   */
+***************
+*** 19,25 ****
+  
+  #define BF_BLOCK    8
+  #define BF_BLOCK_MASK 7
+! #define BF_OFB_LEN  (8*(BF_BLOCK))
+  
+  typedef union {
+      UINT32_T ul[2];
+--- 19,25 ----
+  
+  #define BF_BLOCK    8
+  #define BF_BLOCK_MASK 7
+! #define BF_CFB_LEN  (8*(BF_BLOCK))
+  
+  typedef union {
+      UINT32_T ul[2];
+***************
+*** 554,595 ****
+      return err > 0 ? FAIL : OK;
+  }
+  
+! /* Output feedback mode. */
+  static int randbyte_offset = 0;
+  static int update_offset = 0;
+! static char_u ofb_buffer[BF_OFB_LEN]; /* 64 bytes */
+  
+  /*
+   * Initialize with seed "iv[iv_len]".
+   */
+      void
+! bf_ofb_init(iv, iv_len)
+      char_u *iv;
+      int    iv_len;
+  {
+      int i, mi;
+  
+      randbyte_offset = update_offset = 0;
+!     vim_memset(ofb_buffer, 0, BF_OFB_LEN);
+      if (iv_len > 0)
+      {
+! 	mi = iv_len > BF_OFB_LEN ? iv_len : BF_OFB_LEN;
+  	for (i = 0; i < mi; i++)
+! 	    ofb_buffer[i % BF_OFB_LEN] ^= iv[i % iv_len];
+      }
+  }
+  
+! #define BF_OFB_UPDATE(c) { \
+!     ofb_buffer[update_offset] ^= (char_u)c; \
+!     if (++update_offset == BF_OFB_LEN) \
+  	update_offset = 0; \
+  }
+  
+  #define BF_RANBYTE(t) { \
+      if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
+! 	bf_e_cblock(&ofb_buffer[randbyte_offset]); \
+!     t = ofb_buffer[randbyte_offset]; \
+!     if (++randbyte_offset == BF_OFB_LEN) \
+  	randbyte_offset = 0; \
+  }
+  
+--- 554,595 ----
+      return err > 0 ? FAIL : OK;
+  }
+  
+! /* Cipher feedback mode. */
+  static int randbyte_offset = 0;
+  static int update_offset = 0;
+! static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */
+  
+  /*
+   * Initialize with seed "iv[iv_len]".
+   */
+      void
+! bf_cfb_init(iv, iv_len)
+      char_u *iv;
+      int    iv_len;
+  {
+      int i, mi;
+  
+      randbyte_offset = update_offset = 0;
+!     vim_memset(cfb_buffer, 0, BF_CFB_LEN);
+      if (iv_len > 0)
+      {
+! 	mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN;
+  	for (i = 0; i < mi; i++)
+! 	    cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len];
+      }
+  }
+  
+! #define BF_CFB_UPDATE(c) { \
+!     cfb_buffer[update_offset] ^= (char_u)c; \
+!     if (++update_offset == BF_CFB_LEN) \
+  	update_offset = 0; \
+  }
+  
+  #define BF_RANBYTE(t) { \
+      if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
+! 	bf_e_cblock(&cfb_buffer[randbyte_offset]); \
+!     t = cfb_buffer[randbyte_offset]; \
+!     if (++randbyte_offset == BF_CFB_LEN) \
+  	randbyte_offset = 0; \
+  }
+  
+***************
+*** 610,616 ****
+      {
+  	ztemp = from[i];
+  	BF_RANBYTE(t);
+! 	BF_OFB_UPDATE(ztemp);
+  	to[i] = t ^ ztemp;
+      }
+  }
+--- 610,616 ----
+      {
+  	ztemp = from[i];
+  	BF_RANBYTE(t);
+! 	BF_CFB_UPDATE(ztemp);
+  	to[i] = t ^ ztemp;
+      }
+  }
+***************
+*** 630,636 ****
+      {
+  	BF_RANBYTE(t);
+  	*p ^= t;
+! 	BF_OFB_UPDATE(*p);
+      }
+  }
+  
+--- 630,636 ----
+      {
+  	BF_RANBYTE(t);
+  	*p ^= t;
+! 	BF_CFB_UPDATE(*p);
+      }
+  }
+  
+***************
+*** 646,658 ****
+  
+      for (p = passwd; *p != NUL; ++p)
+      {
+! 	BF_OFB_UPDATE(*p);
+      }
+  }
+  
+  static int save_randbyte_offset;
+  static int save_update_offset;
+! static char_u save_ofb_buffer[BF_OFB_LEN];
+  static UINT32_T save_pax[18];
+  static UINT32_T save_sbx[4][256];
+  
+--- 646,658 ----
+  
+      for (p = passwd; *p != NUL; ++p)
+      {
+! 	BF_CFB_UPDATE(*p);
+      }
+  }
+  
+  static int save_randbyte_offset;
+  static int save_update_offset;
+! static char_u save_cfb_buffer[BF_CFB_LEN];
+  static UINT32_T save_pax[18];
+  static UINT32_T save_sbx[4][256];
+  
+***************
+*** 665,671 ****
+  {
+      save_randbyte_offset = randbyte_offset;
+      save_update_offset = update_offset;
+!     mch_memmove(save_ofb_buffer, ofb_buffer, BF_OFB_LEN);
+      mch_memmove(save_pax, pax, 4 * 18);
+      mch_memmove(save_sbx, sbx, 4 * 4 * 256);
+  }
+--- 665,671 ----
+  {
+      save_randbyte_offset = randbyte_offset;
+      save_update_offset = update_offset;
+!     mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN);
+      mch_memmove(save_pax, pax, 4 * 18);
+      mch_memmove(save_sbx, sbx, 4 * 4 * 256);
+  }
+***************
+*** 679,685 ****
+  {
+      randbyte_offset = save_randbyte_offset;
+      update_offset = save_update_offset;
+!     mch_memmove(ofb_buffer, save_ofb_buffer, BF_OFB_LEN);
+      mch_memmove(pax, save_pax, 4 * 18);
+      mch_memmove(sbx, save_sbx, 4 * 4 * 256);
+  }
+--- 679,685 ----
+  {
+      randbyte_offset = save_randbyte_offset;
+      update_offset = save_update_offset;
+!     mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN);
+      mch_memmove(pax, save_pax, 4 * 18);
+      mch_memmove(sbx, save_sbx, 4 * 4 * 256);
+  }
+*** ../vim-7.4.171/src/fileio.c	2013-11-28 18:53:47.000000000 +0100
+--- src/fileio.c	2014-02-11 15:16:57.546117649 +0100
+***************
+*** 2973,2979 ****
+  	    else
+  	    {
+  		bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
+! 		bf_ofb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
+  	    }
+  
+  	    /* Remove magic number from the text */
+--- 2973,2979 ----
+  	    else
+  	    {
+  		bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
+! 		bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
+  	    }
+  
+  	    /* Remove magic number from the text */
+***************
+*** 3025,3031 ****
+  	if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
+  	    return FAIL;
+  	bf_key_init(curbuf->b_p_key, buffer, salt_len);
+! 	bf_ofb_init(buffer + salt_len, seed_len);
+      }
+      return OK;
+  }
+--- 3025,3031 ----
+  	if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
+  	    return FAIL;
+  	bf_key_init(curbuf->b_p_key, buffer, salt_len);
+! 	bf_cfb_init(buffer + salt_len, seed_len);
+      }
+      return OK;
+  }
+***************
+*** 3064,3070 ****
+  	    seed = salt + salt_len;
+  	    sha2_seed(salt, salt_len, seed, seed_len);
+  	    bf_key_init(buf->b_p_key, salt, salt_len);
+! 	    bf_ofb_init(seed, seed_len);
+  	}
+      }
+      *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
+--- 3064,3070 ----
+  	    seed = salt + salt_len;
+  	    sha2_seed(salt, salt_len, seed, seed_len);
+  	    bf_key_init(buf->b_p_key, salt, salt_len);
+! 	    bf_cfb_init(seed, seed_len);
+  	}
+      }
+      *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
+*** ../vim-7.4.171/src/proto/blowfish.pro	2013-08-10 13:37:06.000000000 +0200
+--- src/proto/blowfish.pro	2014-02-11 15:18:20.382118919 +0100
+***************
+*** 1,6 ****
+  /* blowfish.c */
+  void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
+! void bf_ofb_init __ARGS((char_u *iv, int iv_len));
+  void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
+  void bf_crypt_decode __ARGS((char_u *ptr, long len));
+  void bf_crypt_init_keys __ARGS((char_u *passwd));
+--- 1,6 ----
+  /* blowfish.c */
+  void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
+! void bf_cfb_init __ARGS((char_u *iv, int iv_len));
+  void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
+  void bf_crypt_decode __ARGS((char_u *ptr, long len));
+  void bf_crypt_init_keys __ARGS((char_u *passwd));
+*** ../vim-7.4.171/src/memline.c	2013-11-28 17:41:41.000000000 +0100
+--- src/memline.c	2014-02-11 15:17:02.190117720 +0100
+***************
+*** 4914,4920 ****
+  	 * block for the salt. */
+  	vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
+  	bf_key_init(key, salt, (int)STRLEN(salt));
+! 	bf_ofb_init(seed, MF_SEED_LEN);
+      }
+  }
+  
+--- 4914,4920 ----
+  	 * block for the salt. */
+  	vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
+  	bf_key_init(key, salt, (int)STRLEN(salt));
+! 	bf_cfb_init(seed, MF_SEED_LEN);
+      }
+  }
+  
+*** ../vim-7.4.171/src/version.c	2014-02-11 15:10:38.138111836 +0100
+--- src/version.c	2014-02-11 15:16:01.206116786 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+  {   /* Add new patch number below this line */
++ /**/
++     172,
+  /**/
+
+-- 
+GALAHAD: No look, really, this isn't nescess ...
+PIGLET:  We must examine you.
+GALAHAD: There's nothing wrong with ... that.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list