Patch 7.4.509
Problem:    Users are not aware their encryption is weak.
Solution:   Give a warning when prompting for the key.
Files:      src/crypt.c, src/ex_docmd.c, src/fileio.c, src/main.c,
            src/proto/crypt.pro


*** ../vim-7.4.508/src/crypt.c  2014-08-13 22:05:49.032892299 +0200
--- src/crypt.c 2014-11-12 15:10:22.359161977 +0100
***************
*** 504,509 ****
--- 504,529 ----
  }
  
  /*
+  * Check the crypt method and give a warning if it's outdated.
+  */
+     void
+ crypt_check_method(method)
+     int method;
+ {
+     if (method < CRYPT_M_BF2)
+     {
+       msg_scroll = TRUE;
+       MSG(_("Warning: Using a weak encryption method; see :help 'cm'"));
+     }
+ }
+ 
+     void
+ crypt_check_current_method()
+ {
+     crypt_check_method(crypt_get_method_nr(curbuf));
+ }
+ 
+ /*
   * Ask the user for a crypt key.
   * When "store" is TRUE, the new key is stored in the 'key' option, and the
   * 'key' option value is returned: Don't free it.
*** ../vim-7.4.508/src/ex_docmd.c       2014-11-05 09:53:19.989153321 +0100
--- src/ex_docmd.c      2014-11-12 14:53:09.621921631 +0100
***************
*** 11524,11529 ****
--- 11524,11530 ----
  ex_X(eap)
      exarg_T   *eap UNUSED;
  {
+     crypt_check_current_method();
      (void)crypt_get_key(TRUE, TRUE);
  }
  #endif
*** ../vim-7.4.508/src/fileio.c 2014-10-31 19:51:33.010698056 +0100
--- src/fileio.c        2014-11-12 15:10:44.986925300 +0100
***************
*** 2958,2963 ****
--- 2958,2964 ----
                 * Happens when retrying to detect encoding. */
                smsg((char_u *)_(need_key_msg), fname);
                msg_scroll = TRUE;
+               crypt_check_method(method);
                cryptkey = crypt_get_key(newfile, FALSE);
                *did_ask = TRUE;
  
*** ../vim-7.4.508/src/main.c   2014-09-19 13:46:49.550399801 +0200
--- src/main.c  2014-11-12 14:52:47.866169622 +0100
***************
*** 854,859 ****
--- 854,860 ----
  #ifdef FEAT_CRYPT
      if (params.ask_for_key)
      {
+       crypt_check_current_method();
        (void)crypt_get_key(TRUE, TRUE);
        TIME_MSG("getting crypt key");
      }
*** ../vim-7.4.508/src/proto/crypt.pro  2014-08-10 13:34:59.060785459 +0200
--- src/proto/crypt.pro 2014-11-12 15:06:51.349363319 +0100
***************
*** 19,24 ****
--- 19,26 ----
  void crypt_encode_inplace __ARGS((cryptstate_T *state, char_u *buf, size_t 
len));
  void crypt_decode_inplace __ARGS((cryptstate_T *state, char_u *buf, size_t 
len));
  void crypt_free_key __ARGS((char_u *key));
+ void crypt_check_method __ARGS((int method));
+ void crypt_check_current_method __ARGS((void));
  char_u *crypt_get_key __ARGS((int store, int twice));
  void crypt_append_msg __ARGS((buf_T *buf));
  /* vim: set ft=c : */
*** ../vim-7.4.508/src/version.c        2014-11-12 13:07:48.774069557 +0100
--- src/version.c       2014-11-12 14:45:09.979391243 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     509,
  /**/

-- 
Q: How do you tell the difference between a female cat and a male cat?
A: You ask it a question and if HE answers, it's a male but, if SHE
   answers, it's a female.

 /// Bram Moolenaar -- b...@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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui