1
0
forked from aniani/vim

updated for version 7.4.509

Problem:    Users are not aware their encryption is weak.
Solution:   Give a warning when prompting for the key.
This commit is contained in:
Bram Moolenaar
2014-11-12 15:15:42 +01:00
parent 983c4e93dc
commit 3a0c908983
6 changed files with 27 additions and 0 deletions

View File

@@ -503,6 +503,26 @@ crypt_free_key(key)
}
}
/*
* 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

View File

@@ -11524,6 +11524,7 @@ ex_match(eap)
ex_X(eap)
exarg_T *eap UNUSED;
{
crypt_check_current_method();
(void)crypt_get_key(TRUE, TRUE);
}
#endif

View File

@@ -2958,6 +2958,7 @@ check_for_cryptkey(cryptkey, ptr, sizep, filesizep, newfile, fname, did_ask)
* 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;

View File

@@ -854,6 +854,7 @@ vim_main2(int argc UNUSED, char **argv UNUSED)
#ifdef FEAT_CRYPT
if (params.ask_for_key)
{
crypt_check_current_method();
(void)crypt_get_key(TRUE, TRUE);
TIME_MSG("getting crypt key");
}

View File

@@ -19,6 +19,8 @@ void crypt_decode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u
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 : */

View File

@@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
509,
/**/
508,
/**/