mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
Fixed encryption big/little endian test.
Use uint32_t to avoid crash on 64 bit machines. Added error numbers for Blowfish errors. Fixed the tiny version not building.
This commit is contained in:
@@ -1366,10 +1366,18 @@ this before writing the file. When reading an encrypted file it will be set
|
|||||||
automatically to the method used when that file was written. You can change
|
automatically to the method used when that file was written. You can change
|
||||||
'cryptmethod' before writing that file to change the method.
|
'cryptmethod' before writing that file to change the method.
|
||||||
|
|
||||||
When reading a file that has been encrypted and this option is not empty, it
|
*E817* *E818* *E819*
|
||||||
will be used for decryption. If the value is empty, you will be prompted to
|
When encryption does not work properly, you would be able to write your text
|
||||||
enter the key. If you don't enter a key, the file is edited without being
|
to a file and never be able to read it back. Therefore a test is performed to
|
||||||
decrypted.
|
check if the encryption works as expected. If you get one of these errors
|
||||||
|
don't write the file encrypted! You need to rebuild the Vim binary to fix
|
||||||
|
this.
|
||||||
|
|
||||||
|
When reading a file that has been encrypted and the 'key' option is not empty,
|
||||||
|
it will be used for decryption. If the value is empty, you will be prompted
|
||||||
|
to enter the key. If you don't enter a key, or you enter the wrong key, the
|
||||||
|
file is edited without being decrypted. There is no warning about using the
|
||||||
|
wrong key (this makes brute force methods to find the key more difficult).
|
||||||
|
|
||||||
If want to start reading a file that uses a different key, set the 'key'
|
If want to start reading a file that uses a different key, set the 'key'
|
||||||
option to an empty string, so that Vim will prompt for a new one. Don't use
|
option to an empty string, so that Vim will prompt for a new one. Don't use
|
||||||
|
@@ -2054,8 +2054,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Method used for encryption when the buffer is written to a file:
|
Method used for encryption when the buffer is written to a file:
|
||||||
|
*pkzip*
|
||||||
0 PkZip compatible method. A weak kind of encryption.
|
0 PkZip compatible method. A weak kind of encryption.
|
||||||
backwards compatible with Vim 7.2 and older.
|
backwards compatible with Vim 7.2 and older.
|
||||||
|
*blowfish*
|
||||||
1 Blowfish method. Strong encryption. Not compatible
|
1 Blowfish method. Strong encryption. Not compatible
|
||||||
with Vim 7.2 and older.
|
with Vim 7.2 and older.
|
||||||
When reading an encrypted file 'cryptmethod' will be set automatically
|
When reading an encrypted file 'cryptmethod' will be set automatically
|
||||||
|
@@ -110,6 +110,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
'cinw' options.txt /*'cinw'*
|
'cinw' options.txt /*'cinw'*
|
||||||
'cinwords' options.txt /*'cinwords'*
|
'cinwords' options.txt /*'cinwords'*
|
||||||
'clipboard' options.txt /*'clipboard'*
|
'clipboard' options.txt /*'clipboard'*
|
||||||
|
'cm' options.txt /*'cm'*
|
||||||
'cmdheight' options.txt /*'cmdheight'*
|
'cmdheight' options.txt /*'cmdheight'*
|
||||||
'cmdwinheight' options.txt /*'cmdwinheight'*
|
'cmdwinheight' options.txt /*'cmdwinheight'*
|
||||||
'cmp' options.txt /*'cmp'*
|
'cmp' options.txt /*'cmp'*
|
||||||
@@ -132,6 +133,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
'cpo' options.txt /*'cpo'*
|
'cpo' options.txt /*'cpo'*
|
||||||
'cpoptions' options.txt /*'cpoptions'*
|
'cpoptions' options.txt /*'cpoptions'*
|
||||||
'cpt' options.txt /*'cpt'*
|
'cpt' options.txt /*'cpt'*
|
||||||
|
'cryptmethod' options.txt /*'cryptmethod'*
|
||||||
'cscopepathcomp' options.txt /*'cscopepathcomp'*
|
'cscopepathcomp' options.txt /*'cscopepathcomp'*
|
||||||
'cscopeprg' options.txt /*'cscopeprg'*
|
'cscopeprg' options.txt /*'cscopeprg'*
|
||||||
'cscopequickfix' options.txt /*'cscopequickfix'*
|
'cscopequickfix' options.txt /*'cscopequickfix'*
|
||||||
@@ -4136,6 +4138,9 @@ E813 editing.txt /*E813*
|
|||||||
E814 editing.txt /*E814*
|
E814 editing.txt /*E814*
|
||||||
E815 if_mzsch.txt /*E815*
|
E815 if_mzsch.txt /*E815*
|
||||||
E816 diff.txt /*E816*
|
E816 diff.txt /*E816*
|
||||||
|
E817 editing.txt /*E817*
|
||||||
|
E818 editing.txt /*E818*
|
||||||
|
E819 editing.txt /*E819*
|
||||||
E82 message.txt /*E82*
|
E82 message.txt /*E82*
|
||||||
E83 message.txt /*E83*
|
E83 message.txt /*E83*
|
||||||
E84 windows.txt /*E84*
|
E84 windows.txt /*E84*
|
||||||
@@ -4692,6 +4697,7 @@ blockwise-examples visual.txt /*blockwise-examples*
|
|||||||
blockwise-operators visual.txt /*blockwise-operators*
|
blockwise-operators visual.txt /*blockwise-operators*
|
||||||
blockwise-register change.txt /*blockwise-register*
|
blockwise-register change.txt /*blockwise-register*
|
||||||
blockwise-visual visual.txt /*blockwise-visual*
|
blockwise-visual visual.txt /*blockwise-visual*
|
||||||
|
blowfish options.txt /*blowfish*
|
||||||
bold syntax.txt /*bold*
|
bold syntax.txt /*bold*
|
||||||
bom-bytes mbyte.txt /*bom-bytes*
|
bom-bytes mbyte.txt /*bom-bytes*
|
||||||
book intro.txt /*book*
|
book intro.txt /*book*
|
||||||
@@ -6910,6 +6916,7 @@ pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
|||||||
pi_tar.txt pi_tar.txt /*pi_tar.txt*
|
pi_tar.txt pi_tar.txt /*pi_tar.txt*
|
||||||
pi_vimball.txt pi_vimball.txt /*pi_vimball.txt*
|
pi_vimball.txt pi_vimball.txt /*pi_vimball.txt*
|
||||||
pi_zip.txt pi_zip.txt /*pi_zip.txt*
|
pi_zip.txt pi_zip.txt /*pi_zip.txt*
|
||||||
|
pkzip options.txt /*pkzip*
|
||||||
plaintex.vim syntax.txt /*plaintex.vim*
|
plaintex.vim syntax.txt /*plaintex.vim*
|
||||||
plsql ft_sql.txt /*plsql*
|
plsql ft_sql.txt /*plsql*
|
||||||
plugin usr_05.txt /*plugin*
|
plugin usr_05.txt /*plugin*
|
||||||
|
@@ -31,11 +31,9 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Crypt update:
|
Crypt update:
|
||||||
- Use 'cm' option only when FEAT_CRYPT is defined.
|
|
||||||
- When not full match with magic, check for head and give warning about
|
- When not full match with magic, check for head and give warning about
|
||||||
unsupported crypt method.
|
unsupported crypt method.
|
||||||
- if 'enc' is ucs-2, does utf-8 to ucs-2 encoding always work for seed?
|
- if 'enc' is ucs-2, does utf-8 to ucs-2 encoding always work for seed?
|
||||||
- Update E000 to error number.
|
|
||||||
|
|
||||||
Include cabal and obj syntax files. (Vincent Berthoux, 2010 May 16)
|
Include cabal and obj syntax files. (Vincent Berthoux, 2010 May 16)
|
||||||
|
|
||||||
@@ -1145,6 +1143,9 @@ Patches to include:
|
|||||||
10.4.
|
10.4.
|
||||||
- Patch for adding "J" flag to 'cinoptions': placement of jump label. (Manuel
|
- Patch for adding "J" flag to 'cinoptions': placement of jump label. (Manuel
|
||||||
Konig, 2010 Feb 19) Update by Lech Lorens, Feb 22.
|
Konig, 2010 Feb 19) Update by Lech Lorens, Feb 22.
|
||||||
|
- Add Lua interface? (Wolfgang Oertl) patch by Luis Carvalho, 2008 Sep 5
|
||||||
|
Patch for Make_ming.mak from Paul Moore (2008 Sep 1)
|
||||||
|
http://code.google.com/p/vim-iflua/ Download vim72-lua-0.7.patch.gz
|
||||||
Needs some work:
|
Needs some work:
|
||||||
- Use NSIS 2.45, it includes Windows 7 support.
|
- Use NSIS 2.45, it includes Windows 7 support.
|
||||||
Include "RequestExecutionLevel highest"
|
Include "RequestExecutionLevel highest"
|
||||||
@@ -2194,9 +2195,6 @@ Most interesting new features to be added when all bugs have been fixed:
|
|||||||
- Running a shell command from the GUI still has limitations. Look into how
|
- Running a shell command from the GUI still has limitations. Look into how
|
||||||
the terminal emulator of the Vim shell project can help:
|
the terminal emulator of the Vim shell project can help:
|
||||||
http://vimshell.wana.at
|
http://vimshell.wana.at
|
||||||
- Add Lua interface? (Wolfgang Oertl) patch by Luis Carvalho, 2008 Sep 5
|
|
||||||
Patch for Make_ming.mak from Paul Moore (2008 Sep 1)
|
|
||||||
http://vim-iflua.googlecode.com/files/vim72-lua-0.7.patch.gz
|
|
||||||
8 Add a command to jump to a certain kind of tag. Allow the user to specify
|
8 Add a command to jump to a certain kind of tag. Allow the user to specify
|
||||||
values for the optional fields. E.g., ":tag size type=m".
|
values for the optional fields. E.g., ":tag size type=m".
|
||||||
Also allow specifying the file and command, so that the result of
|
Also allow specifying the file and command, so that the result of
|
||||||
|
293
src/auto/configure
vendored
293
src/auto/configure
vendored
@@ -1957,6 +1957,60 @@ $as_echo "$ac_res" >&6; }
|
|||||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||||
|
|
||||||
} # ac_fn_c_check_type
|
} # ac_fn_c_check_type
|
||||||
|
|
||||||
|
# ac_fn_c_find_uintX_t LINENO BITS VAR
|
||||||
|
# ------------------------------------
|
||||||
|
# Finds an unsigned integer type with width BITS, setting cache variable VAR
|
||||||
|
# accordingly.
|
||||||
|
ac_fn_c_find_uintX_t ()
|
||||||
|
{
|
||||||
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
|
||||||
|
$as_echo_n "checking for uint$2_t... " >&6; }
|
||||||
|
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
eval "$3=no"
|
||||||
|
# Order is important - never check a type that is potentially smaller
|
||||||
|
# than half of the expected target width.
|
||||||
|
for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
|
||||||
|
'unsigned long long int' 'unsigned short int' 'unsigned char'; do
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$ac_includes_default
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
|
||||||
|
test_array [0] = 0
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
case $ac_type in #(
|
||||||
|
uint$2_t) :
|
||||||
|
eval "$3=yes" ;; #(
|
||||||
|
*) :
|
||||||
|
eval "$3=\$ac_type" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
eval as_val=\$$3
|
||||||
|
if test "x$as_val" = x""no; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
eval ac_res=\$$3
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
$as_echo "$ac_res" >&6; }
|
||||||
|
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||||
|
|
||||||
|
} # ac_fn_c_find_uintX_t
|
||||||
cat >auto/config.log <<_ACEOF
|
cat >auto/config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
@@ -8965,6 +9019,20 @@ $as_echo "#define gid_t int" >>confdefs.h
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
|
||||||
|
case $ac_cv_c_uint32_t in #(
|
||||||
|
no|yes) ;; #(
|
||||||
|
*)
|
||||||
|
|
||||||
|
$as_echo "#define _UINT32_T 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define uint32_t $ac_cv_c_uint32_t
|
||||||
|
_ACEOF
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
|
||||||
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
|
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
|
||||||
if test "${ac_cv_header_time+set}" = set; then :
|
if test "${ac_cv_header_time+set}" = set; then :
|
||||||
@@ -9022,6 +9090,230 @@ _ACEOF
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
|
||||||
|
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
|
||||||
|
if test "${ac_cv_c_bigendian+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_cv_c_bigendian=unknown
|
||||||
|
# See if we're dealing with a universal compiler.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#ifndef __APPLE_CC__
|
||||||
|
not a universal capable compiler
|
||||||
|
#endif
|
||||||
|
typedef int dummy;
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
|
# Check for potential -arch flags. It is not universal unless
|
||||||
|
# there are at least two -arch flags with different values.
|
||||||
|
ac_arch=
|
||||||
|
ac_prev=
|
||||||
|
for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
|
||||||
|
if test -n "$ac_prev"; then
|
||||||
|
case $ac_word in
|
||||||
|
i?86 | x86_64 | ppc | ppc64)
|
||||||
|
if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
|
||||||
|
ac_arch=$ac_word
|
||||||
|
else
|
||||||
|
ac_cv_c_bigendian=universal
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
ac_prev=
|
||||||
|
elif test "x$ac_word" = "x-arch"; then
|
||||||
|
ac_prev=arch
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
if test $ac_cv_c_bigendian = unknown; then
|
||||||
|
# See if sys/param.h defines the BYTE_ORDER macro.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
|
||||||
|
&& defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
|
||||||
|
&& LITTLE_ENDIAN)
|
||||||
|
bogus endian macros
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
# It does; now see whether it defined to BIG_ENDIAN or not.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#if BYTE_ORDER != BIG_ENDIAN
|
||||||
|
not big endian
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
ac_cv_c_bigendian=yes
|
||||||
|
else
|
||||||
|
ac_cv_c_bigendian=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
if test $ac_cv_c_bigendian = unknown; then
|
||||||
|
# See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
|
||||||
|
bogus endian macros
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
# It does; now see whether it defined to _BIG_ENDIAN or not.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#ifndef _BIG_ENDIAN
|
||||||
|
not big endian
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
ac_cv_c_bigendian=yes
|
||||||
|
else
|
||||||
|
ac_cv_c_bigendian=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
if test $ac_cv_c_bigendian = unknown; then
|
||||||
|
# Compile a test program.
|
||||||
|
if test "$cross_compiling" = yes; then :
|
||||||
|
# Try to guess by grepping values from an object file.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
short int ascii_mm[] =
|
||||||
|
{ 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
|
||||||
|
short int ascii_ii[] =
|
||||||
|
{ 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
|
||||||
|
int use_ascii (int i) {
|
||||||
|
return ascii_mm[i] + ascii_ii[i];
|
||||||
|
}
|
||||||
|
short int ebcdic_ii[] =
|
||||||
|
{ 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
|
||||||
|
short int ebcdic_mm[] =
|
||||||
|
{ 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
|
||||||
|
int use_ebcdic (int i) {
|
||||||
|
return ebcdic_mm[i] + ebcdic_ii[i];
|
||||||
|
}
|
||||||
|
extern int foo;
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return use_ascii (foo) == use_ebcdic (foo);
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
|
||||||
|
ac_cv_c_bigendian=yes
|
||||||
|
fi
|
||||||
|
if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
|
||||||
|
if test "$ac_cv_c_bigendian" = unknown; then
|
||||||
|
ac_cv_c_bigendian=no
|
||||||
|
else
|
||||||
|
# finding both strings is unlikely to happen, but who knows?
|
||||||
|
ac_cv_c_bigendian=unknown
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$ac_includes_default
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
/* Are we little or big endian? From Harbison&Steele. */
|
||||||
|
union
|
||||||
|
{
|
||||||
|
long int l;
|
||||||
|
char c[sizeof (long int)];
|
||||||
|
} u;
|
||||||
|
u.l = 1;
|
||||||
|
return u.c[sizeof (long int) - 1] == 1;
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_run "$LINENO"; then :
|
||||||
|
ac_cv_c_bigendian=no
|
||||||
|
else
|
||||||
|
ac_cv_c_bigendian=yes
|
||||||
|
fi
|
||||||
|
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||||
|
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
|
||||||
|
$as_echo "$ac_cv_c_bigendian" >&6; }
|
||||||
|
case $ac_cv_c_bigendian in #(
|
||||||
|
yes)
|
||||||
|
$as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
|
||||||
|
;; #(
|
||||||
|
no)
|
||||||
|
;; #(
|
||||||
|
universal)
|
||||||
|
|
||||||
|
$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
|
||||||
|
|
||||||
|
;; #(
|
||||||
|
*)
|
||||||
|
as_fn_error "unknown endianness
|
||||||
|
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rlim_t" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rlim_t" >&5
|
||||||
$as_echo_n "checking for rlim_t... " >&6; }
|
$as_echo_n "checking for rlim_t... " >&6; }
|
||||||
@@ -11727,6 +12019,7 @@ LTLIBOBJS=$ac_ltlibobjs
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
: ${CONFIG_STATUS=./config.status}
|
: ${CONFIG_STATUS=./config.status}
|
||||||
ac_write_fail=0
|
ac_write_fail=0
|
||||||
ac_clean_files_save=$ac_clean_files
|
ac_clean_files_save=$ac_clean_files
|
||||||
|
@@ -1,7 +1,13 @@
|
|||||||
/* vi:set ts=8 sts=4 sw=4:
|
/* vi:set ts=8 sts=4 sw=4:
|
||||||
|
*
|
||||||
|
* VIM - Vi IMproved by Bram Moolenaar
|
||||||
|
*
|
||||||
|
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||||
|
* 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.
|
* Blowfish encryption for Vim; in Blowfish output feedback mode.
|
||||||
* GPL(C) Mohsin Ahmed, http://www.cs.albany.edu/~mosh
|
* Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
|
||||||
* Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
|
* Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -15,32 +21,29 @@
|
|||||||
#define BF_OFB_LEN (8*(BF_BLOCK))
|
#define BF_OFB_LEN (8*(BF_BLOCK))
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
long_u ul[2];
|
uint32_t ul[2];
|
||||||
char_u uc[8];
|
char_u uc[8];
|
||||||
} block8;
|
} block8;
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
#ifdef WIN3264
|
||||||
# define LITTLE_ENDIAN
|
/* MS-Windows is always little endian */
|
||||||
#else
|
#else
|
||||||
# if !defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)
|
# ifdef HAVE_CONFIG_H
|
||||||
# if (('1234' >> 24) == '1')
|
/* in configure.in AC_C_BIGENDIAN() defines WORDS_BIGENDIAN when needed */
|
||||||
# define LITTLE_ENDIAN 1
|
# else
|
||||||
# else
|
error!
|
||||||
# if (('4321' >> 24) == '1')
|
Please change this code to define WORDS_BIGENDIAN for big-endian machines.
|
||||||
# define BIG_ENDIAN 1
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void bf_e_block __ARGS((long_u *p_xl, long_u *p_xr));
|
static void bf_e_block __ARGS((uint32_t *p_xl, uint32_t *p_xr));
|
||||||
static void bf_e_cblock __ARGS((char_u *block));
|
static void bf_e_cblock __ARGS((char_u *block));
|
||||||
static int bf_check_tables __ARGS((long_u ipa[18], long_u sbi[4][256], long_u val));
|
static int bf_check_tables __ARGS((uint32_t ipa[18], uint32_t sbi[4][256], uint32_t val));
|
||||||
static int bf_self_test __ARGS((void));
|
static int bf_self_test __ARGS((void));
|
||||||
|
|
||||||
// Blowfish code
|
// Blowfish code
|
||||||
static long_u pax[18];
|
static uint32_t pax[18];
|
||||||
static long_u ipa[18] = {
|
static uint32_t ipa[18] = {
|
||||||
0x243f6a88u, 0x85a308d3u, 0x13198a2eu,
|
0x243f6a88u, 0x85a308d3u, 0x13198a2eu,
|
||||||
0x03707344u, 0xa4093822u, 0x299f31d0u,
|
0x03707344u, 0xa4093822u, 0x299f31d0u,
|
||||||
0x082efa98u, 0xec4e6c89u, 0x452821e6u,
|
0x082efa98u, 0xec4e6c89u, 0x452821e6u,
|
||||||
@@ -49,8 +52,8 @@ static long_u ipa[18] = {
|
|||||||
0xb5470917u, 0x9216d5d9u, 0x8979fb1bu
|
0xb5470917u, 0x9216d5d9u, 0x8979fb1bu
|
||||||
};
|
};
|
||||||
|
|
||||||
static long_u sbx[4][256];
|
static uint32_t sbx[4][256];
|
||||||
static long_u sbi[4][256] = {
|
static uint32_t sbi[4][256] = {
|
||||||
{0xd1310ba6u, 0x98dfb5acu, 0x2ffd72dbu, 0xd01adfb7u,
|
{0xd1310ba6u, 0x98dfb5acu, 0x2ffd72dbu, 0xd01adfb7u,
|
||||||
0xb8e1afedu, 0x6a267e96u, 0xba7c9045u, 0xf12c7f99u,
|
0xb8e1afedu, 0x6a267e96u, 0xba7c9045u, 0xf12c7f99u,
|
||||||
0x24a19947u, 0xb3916cf7u, 0x0801f2e2u, 0x858efc16u,
|
0x24a19947u, 0xb3916cf7u, 0x0801f2e2u, 0x858efc16u,
|
||||||
@@ -328,10 +331,10 @@ static long_u sbi[4][256] = {
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
bf_e_block(p_xl, p_xr)
|
bf_e_block(p_xl, p_xr)
|
||||||
long_u *p_xl;
|
uint32_t *p_xl;
|
||||||
long_u *p_xr;
|
uint32_t *p_xr;
|
||||||
{
|
{
|
||||||
long_u temp, xl = *p_xl, xr = *p_xr;
|
uint32_t temp, xl = *p_xl, xr = *p_xr;
|
||||||
|
|
||||||
F1(0) F2(1) F1(2) F2(3) F1(4) F2(5) F1(6) F2(7)
|
F1(0) F2(1) F1(2) F2(3) F1(4) F2(5) F1(6) F2(7)
|
||||||
F1(8) F2(9) F1(10) F2(11) F1(12) F2(13) F1(14) F2(15)
|
F1(8) F2(9) F1(10) F2(11) F1(12) F2(13) F1(14) F2(15)
|
||||||
@@ -343,10 +346,10 @@ bf_e_block(p_xl, p_xr)
|
|||||||
#if 0 /* not used */
|
#if 0 /* not used */
|
||||||
static void
|
static void
|
||||||
bf_d_block(p_xl, p_xr)
|
bf_d_block(p_xl, p_xr)
|
||||||
long_u *p_xl;
|
uint32_t *p_xl;
|
||||||
long_u *p_xr;
|
uint32_t *p_xr;
|
||||||
{
|
{
|
||||||
long_u temp, xl = *p_xl, xr = *p_xr;
|
uint32_t temp, xl = *p_xl, xr = *p_xr;
|
||||||
F1(17) F2(16) F1(15) F2(14) F1(13) F2(12) F1(11) F2(10)
|
F1(17) F2(16) F1(15) F2(14) F1(13) F2(12) F1(11) F2(10)
|
||||||
F1(9) F2(8) F1(7) F2(6) F1(5) F2(4) F1(3) F2(2)
|
F1(9) F2(8) F1(7) F2(6) F1(5) F2(4) F1(3) F2(2)
|
||||||
xl ^= pax[1];
|
xl ^= pax[1];
|
||||||
@@ -357,7 +360,7 @@ bf_d_block(p_xl, p_xr)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef BIG_ENDIAN
|
#ifdef WORDS_BIGENDIAN
|
||||||
# define htonl2(x) \
|
# define htonl2(x) \
|
||||||
x = ((((x) & 0xffL) << 24) | (((x) & 0xff00L) << 8) | \
|
x = ((((x) & 0xffL) << 24) | (((x) & 0xff00L) << 8) | \
|
||||||
(((x) & 0xff0000L) >> 8) | (((x) & 0xff000000L) >> 24))
|
(((x) & 0xff0000L) >> 8) | (((x) & 0xff000000L) >> 24))
|
||||||
@@ -397,10 +400,10 @@ bf_d_cblock(block)
|
|||||||
bf_key_init(password)
|
bf_key_init(password)
|
||||||
char_u *password;
|
char_u *password;
|
||||||
{
|
{
|
||||||
int i, j, keypos = 0;
|
int i, j, keypos = 0;
|
||||||
long_u val, data_l, data_r;
|
uint32_t val, data_l, data_r;
|
||||||
char_u *key;
|
char_u *key;
|
||||||
int keylen;
|
int keylen;
|
||||||
|
|
||||||
key = sha256_key(password);
|
key = sha256_key(password);
|
||||||
keylen = STRLEN(key);
|
keylen = STRLEN(key);
|
||||||
@@ -444,12 +447,12 @@ bf_key_init(password)
|
|||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
bf_check_tables(ipa, sbi, val)
|
bf_check_tables(ipa, sbi, val)
|
||||||
long_u ipa[18];
|
uint32_t ipa[18];
|
||||||
long_u sbi[4][256];
|
uint32_t sbi[4][256];
|
||||||
long_u val;
|
uint32_t val;
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
long_u c = 0;
|
uint32_t c = 0;
|
||||||
|
|
||||||
for (i = 0; i < 18; i++)
|
for (i = 0; i < 18; i++)
|
||||||
c ^= ipa[i];
|
c ^= ipa[i];
|
||||||
@@ -460,10 +463,11 @@ bf_check_tables(ipa, sbi, val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char_u password[64];
|
char_u password[64];
|
||||||
char_u plaintxt[8];
|
char_u plaintxt[8];
|
||||||
char_u cryptxt[8];
|
char_u cryptxt[8];
|
||||||
long_u keysum;
|
char_u badcryptxt[8]; /* cryptxt when big/little endian is wrong */
|
||||||
|
uint32_t keysum;
|
||||||
} struct_bf_test_data;
|
} struct_bf_test_data;
|
||||||
|
|
||||||
// Assert bf(password, plaintxt) is cryptxt.
|
// Assert bf(password, plaintxt) is cryptxt.
|
||||||
@@ -472,11 +476,8 @@ static struct_bf_test_data bf_test_data[] = {
|
|||||||
{
|
{
|
||||||
"password",
|
"password",
|
||||||
"plaintxt",
|
"plaintxt",
|
||||||
#if 0 /* This value doesn't work, why??? */
|
|
||||||
"\x55\xca\x56\x3a\xef\xe1\x9c\x73", /* cryptxt */
|
"\x55\xca\x56\x3a\xef\xe1\x9c\x73", /* cryptxt */
|
||||||
#else
|
"\x47\xd9\x67\x49\x91\xc5\x9a\x95", /* badcryptxt */
|
||||||
"\x47\xd9\x67\x49\x91\xc5\x9a\x95", /* cryptxt */
|
|
||||||
#endif
|
|
||||||
0x5de01bdbu, /* keysum */
|
0x5de01bdbu, /* keysum */
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -505,7 +506,11 @@ bf_self_test()
|
|||||||
memcpy(bk.uc, bf_test_data[i].plaintxt, 8);
|
memcpy(bk.uc, bf_test_data[i].plaintxt, 8);
|
||||||
bf_e_cblock(bk.uc);
|
bf_e_cblock(bk.uc);
|
||||||
if (memcmp(bk.uc, bf_test_data[i].cryptxt, 8) != 0)
|
if (memcmp(bk.uc, bf_test_data[i].cryptxt, 8) != 0)
|
||||||
|
{
|
||||||
|
if (err == 0 && memcmp(bk.uc, bf_test_data[i].badcryptxt, 8) == 0)
|
||||||
|
EMSG(_("E817: Blowfish big/little endian use wrong"));
|
||||||
err++;
|
err++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return err > 0 ? FAIL : OK;
|
return err > 0 ? FAIL : OK;
|
||||||
@@ -567,12 +572,12 @@ blowfish_self_test()
|
|||||||
{
|
{
|
||||||
if (sha256_self_test() == FAIL)
|
if (sha256_self_test() == FAIL)
|
||||||
{
|
{
|
||||||
EMSG2(_("E000: sha256 test failed"),"");
|
EMSG(_("E818: sha256 test failed"));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
if (bf_self_test() == FAIL)
|
if (bf_self_test() == FAIL)
|
||||||
{
|
{
|
||||||
EMSG2(_("E000: Blowfish test failed"),"");
|
EMSG(_("E819: Blowfish test failed"));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
return OK;
|
return OK;
|
||||||
|
@@ -74,6 +74,9 @@
|
|||||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
#undef uid_t
|
#undef uid_t
|
||||||
|
|
||||||
|
/* Define to `unsigned int' or other type that is 32 bit. */
|
||||||
|
#undef uint32_t
|
||||||
|
|
||||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
#undef gid_t
|
#undef gid_t
|
||||||
|
|
||||||
@@ -83,6 +86,9 @@
|
|||||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||||
#undef dev_t
|
#undef dev_t
|
||||||
|
|
||||||
|
/* Define on big-endian machines */
|
||||||
|
#undef WORDS_BIGENDIAN
|
||||||
|
|
||||||
/* Define to `unsigned long' if <sys/types.h> doesn't define. */
|
/* Define to `unsigned long' if <sys/types.h> doesn't define. */
|
||||||
#undef rlim_t
|
#undef rlim_t
|
||||||
|
|
||||||
|
@@ -2246,9 +2246,11 @@ AC_TYPE_OFF_T
|
|||||||
AC_TYPE_PID_T
|
AC_TYPE_PID_T
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_TYPE_UID_T
|
AC_TYPE_UID_T
|
||||||
|
AC_TYPE_UINT32_T
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
AC_CHECK_TYPE(ino_t, long)
|
AC_CHECK_TYPE(ino_t, long)
|
||||||
AC_CHECK_TYPE(dev_t, unsigned)
|
AC_CHECK_TYPE(dev_t, unsigned)
|
||||||
|
AC_C_BIGENDIAN(,,,)
|
||||||
|
|
||||||
AC_MSG_CHECKING(for rlim_t)
|
AC_MSG_CHECKING(for rlim_t)
|
||||||
if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
|
||||||
|
@@ -43,6 +43,11 @@
|
|||||||
# define sock_close(sd) closesocket(sd)
|
# define sock_close(sd) closesocket(sd)
|
||||||
# define sleep(t) Sleep(t*1000) /* WinAPI Sleep() accepts milliseconds */
|
# define sleep(t) Sleep(t*1000) /* WinAPI Sleep() accepts milliseconds */
|
||||||
#else
|
#else
|
||||||
|
/* uint32_t may be defined by configure, but netdb.h indirectly includes
|
||||||
|
* stdint.h which tries to typedef uint32_t and fails. */
|
||||||
|
# ifdef uint32_t
|
||||||
|
# undef uint32_t
|
||||||
|
# endif
|
||||||
# include <netdb.h>
|
# include <netdb.h>
|
||||||
# include <netinet/in.h>
|
# include <netinet/in.h>
|
||||||
# include <sys/socket.h>
|
# include <sys/socket.h>
|
||||||
|
10
src/option.c
10
src/option.c
@@ -278,7 +278,9 @@ static char_u *p_cino;
|
|||||||
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
||||||
static char_u *p_cinw;
|
static char_u *p_cinw;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
static long p_cm;
|
static long p_cm;
|
||||||
|
#endif
|
||||||
#ifdef FEAT_COMMENTS
|
#ifdef FEAT_COMMENTS
|
||||||
static char_u *p_com;
|
static char_u *p_com;
|
||||||
#endif
|
#endif
|
||||||
@@ -837,7 +839,11 @@ static struct vimoption
|
|||||||
{(char_u *)CPO_VI, (char_u *)CPO_VIM}
|
{(char_u *)CPO_VI, (char_u *)CPO_VIM}
|
||||||
SCRIPTID_INIT},
|
SCRIPTID_INIT},
|
||||||
{"cryptmethod", "cm", P_NUM|P_VI_DEF|P_VIM,
|
{"cryptmethod", "cm", P_NUM|P_VI_DEF|P_VIM,
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
(char_u *)&p_cm, PV_CM,
|
(char_u *)&p_cm, PV_CM,
|
||||||
|
#else
|
||||||
|
(char_u *)NULL, PV_NONE,
|
||||||
|
#endif
|
||||||
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
|
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
|
||||||
{"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM,
|
{"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM,
|
||||||
#ifdef FEAT_CSCOPE
|
#ifdef FEAT_CSCOPE
|
||||||
@@ -7875,6 +7881,7 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
else if (pp == &curbuf->b_p_cm)
|
else if (pp == &curbuf->b_p_cm)
|
||||||
{
|
{
|
||||||
if (curbuf->b_p_cm < 0)
|
if (curbuf->b_p_cm < 0)
|
||||||
@@ -7890,6 +7897,7 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags)
|
|||||||
if (curbuf->b_p_cm > 0 && blowfish_self_test() == FAIL)
|
if (curbuf->b_p_cm > 0 && blowfish_self_test() == FAIL)
|
||||||
curbuf->b_p_cm = 0;
|
curbuf->b_p_cm = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef FEAT_WINDOWS
|
#ifdef FEAT_WINDOWS
|
||||||
/* (re)set last window status line */
|
/* (re)set last window status line */
|
||||||
@@ -9307,7 +9315,9 @@ get_varp(p)
|
|||||||
case PV_CINK: return (char_u *)&(curbuf->b_p_cink);
|
case PV_CINK: return (char_u *)&(curbuf->b_p_cink);
|
||||||
case PV_CINO: return (char_u *)&(curbuf->b_p_cino);
|
case PV_CINO: return (char_u *)&(curbuf->b_p_cino);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
case PV_CM: return (char_u *)&(curbuf->b_p_cm);
|
case PV_CM: return (char_u *)&(curbuf->b_p_cm);
|
||||||
|
#endif
|
||||||
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
||||||
case PV_CINW: return (char_u *)&(curbuf->b_p_cinw);
|
case PV_CINW: return (char_u *)&(curbuf->b_p_cinw);
|
||||||
#endif
|
#endif
|
||||||
|
26
src/sha256.c
26
src/sha256.c
@@ -1,23 +1,27 @@
|
|||||||
/* vi:set ts=8 sts=4 sw=4:
|
/* vi:set ts=8 sts=4 sw=4:
|
||||||
*
|
*
|
||||||
* FIPS-180-2 compliant SHA-256 implementation
|
* VIM - Vi IMproved by Bram Moolenaar
|
||||||
* GPL by Christophe Devine.
|
|
||||||
* Modified for md5deep, in public domain.
|
|
||||||
* Modified For Vim, GPL(C) Mohsin Ahmed, http://www.cs.albany.edu/~mosh
|
|
||||||
*
|
*
|
||||||
* Vim specific notes:
|
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||||
* Functions exported by this file:
|
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||||
* 1. sha256_key() hashes the password to 64 bytes char string.
|
* See README.txt for an overview of the Vim source code.
|
||||||
* 2. sha2_seed() generates a random header.
|
*
|
||||||
* sha256_self_test() is implicitly called once.
|
* FIPS-180-2 compliant SHA-256 implementation
|
||||||
|
* GPL by Christophe Devine.
|
||||||
|
* Modified for md5deep, in public domain.
|
||||||
|
* Modified For Vim, Mohsin Ahmed, http://www.cs.albany.edu/~mosh
|
||||||
|
*
|
||||||
|
* Vim specific notes:
|
||||||
|
* Functions exported by this file:
|
||||||
|
* 1. sha256_key() hashes the password to 64 bytes char string.
|
||||||
|
* 2. sha2_seed() generates a random header.
|
||||||
|
* sha256_self_test() is implicitly called once.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vim.h"
|
#include "vim.h"
|
||||||
|
|
||||||
#ifdef FEAT_CRYPT
|
#ifdef FEAT_CRYPT
|
||||||
|
|
||||||
typedef unsigned long uint32_t;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t total[2];
|
uint32_t total[2];
|
||||||
uint32_t state[8];
|
uint32_t state[8];
|
||||||
|
@@ -1358,7 +1358,9 @@ struct file_buffer
|
|||||||
#ifdef FEAT_INS_EXPAND
|
#ifdef FEAT_INS_EXPAND
|
||||||
char_u *b_p_cpt; /* 'complete' */
|
char_u *b_p_cpt; /* 'complete' */
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
long b_p_cm; /* 'cryptmethod' */
|
long b_p_cm; /* 'cryptmethod' */
|
||||||
|
#endif
|
||||||
#ifdef FEAT_COMPL_FUNC
|
#ifdef FEAT_COMPL_FUNC
|
||||||
char_u *b_p_cfu; /* 'completefunc' */
|
char_u *b_p_cfu; /* 'completefunc' */
|
||||||
char_u *b_p_ofu; /* 'omnifunc' */
|
char_u *b_p_ofu; /* 'omnifunc' */
|
||||||
|
Reference in New Issue
Block a user