diff options
Diffstat (limited to 'debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch')
-rw-r--r-- | debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch | 49 |
1 files changed, 16 insertions, 33 deletions
diff --git a/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch b/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch index 01e9ad7..ce97d77 100644 --- a/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch +++ b/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch @@ -19,11 +19,9 @@ Solution: Disable using interfaces in restricted mode. Allow for writing 8 files changed, 151 insertions(+), 18 deletions(-) create mode 100644 src/testdir/test_restricted.vim -diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt -index 711a487..6289e9c 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt -@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and "-/R" readonly. +@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and " changes and writing. {not in Vi} @@ -46,11 +44,9 @@ index 711a487..6289e9c 100644 {not in Vi} *-g* -diff --git a/src/evalfunc.c b/src/evalfunc.c -index fa7ed9b..eb082b7 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c -@@ -6817,7 +6817,7 @@ f_histadd(typval_T *argvars UNUSED, typval_T *rettv) +@@ -6817,7 +6817,7 @@ f_histadd(typval_T *argvars UNUSED, typv #endif rettv->vval.v_number = FALSE; @@ -59,7 +55,7 @@ index fa7ed9b..eb082b7 100644 return; #ifdef FEAT_CMDHIST str = tv_get_string_chk(&argvars[0]); /* NULL on type error */ -@@ -7898,6 +7898,9 @@ f_luaeval(typval_T *argvars, typval_T *rettv) +@@ -7898,6 +7898,9 @@ f_luaeval(typval_T *argvars, typval_T *r char_u *str; char_u buf[NUMBUFLEN]; @@ -69,7 +65,7 @@ index fa7ed9b..eb082b7 100644 str = tv_get_string_buf(&argvars[0], buf); do_luaeval(str, argvars + 1, rettv); } -@@ -8644,6 +8647,8 @@ f_mzeval(typval_T *argvars, typval_T *rettv) +@@ -8644,6 +8647,8 @@ f_mzeval(typval_T *argvars, typval_T *re char_u *str; char_u buf[NUMBUFLEN]; @@ -78,7 +74,7 @@ index fa7ed9b..eb082b7 100644 str = tv_get_string_buf(&argvars[0], buf); do_mzeval(str, rettv); } -@@ -8932,6 +8937,9 @@ f_py3eval(typval_T *argvars, typval_T *rettv) +@@ -8932,6 +8937,9 @@ f_py3eval(typval_T *argvars, typval_T *r char_u *str; char_u buf[NUMBUFLEN]; @@ -88,7 +84,7 @@ index fa7ed9b..eb082b7 100644 if (p_pyx == 0) p_pyx = 3; -@@ -8950,6 +8958,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv) +@@ -8950,6 +8958,9 @@ f_pyeval(typval_T *argvars, typval_T *re char_u *str; char_u buf[NUMBUFLEN]; @@ -98,7 +94,7 @@ index fa7ed9b..eb082b7 100644 if (p_pyx == 0) p_pyx = 2; -@@ -8965,6 +8976,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv) +@@ -8965,6 +8976,9 @@ f_pyeval(typval_T *argvars, typval_T *re static void f_pyxeval(typval_T *argvars, typval_T *rettv) { @@ -108,7 +104,7 @@ index fa7ed9b..eb082b7 100644 # if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3) init_pyxversion(); if (p_pyx == 2) -@@ -10819,7 +10833,7 @@ f_setbufvar(typval_T *argvars, typval_T *rettv UNUSED) +@@ -10819,7 +10833,7 @@ f_setbufvar(typval_T *argvars, typval_T typval_T *varp; char_u nbuf[NUMBUFLEN]; @@ -117,7 +113,7 @@ index fa7ed9b..eb082b7 100644 return; (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ varname = tv_get_string_chk(&argvars[1]); -@@ -11341,7 +11355,7 @@ f_settabvar(typval_T *argvars, typval_T *rettv) +@@ -11341,7 +11355,7 @@ f_settabvar(typval_T *argvars, typval_T rettv->vval.v_number = 0; @@ -126,7 +122,7 @@ index fa7ed9b..eb082b7 100644 return; tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL)); -@@ -14714,7 +14728,7 @@ f_writefile(typval_T *argvars, typval_T *rettv) +@@ -14714,7 +14728,7 @@ f_writefile(typval_T *argvars, typval_T blob_T *blob = NULL; rettv->vval.v_number = -1; @@ -135,8 +131,6 @@ index fa7ed9b..eb082b7 100644 return; if (argvars[0].v_type == VAR_LIST) -diff --git a/src/ex_cmds.c b/src/ex_cmds.c -index a3974c1..681ef42 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -4775,7 +4775,7 @@ check_restricted(void) @@ -148,8 +142,6 @@ index a3974c1..681ef42 100644 return TRUE; } return FALSE; -diff --git a/src/ex_docmd.c b/src/ex_docmd.c -index b90ea7b..ccca2f9 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2007,11 +2007,16 @@ do_one_cmd( @@ -170,8 +162,6 @@ index b90ea7b..ccca2f9 100644 if (!curbuf->b_p_ma && (ea.argt & MODIFY)) { /* Command not allowed in non-'modifiable' buffer */ -diff --git a/src/if_perl.xs b/src/if_perl.xs -index 203bb6a..67d0b94 100644 --- a/src/if_perl.xs +++ b/src/if_perl.xs @@ -971,6 +971,7 @@ VIM_init(void) @@ -206,7 +196,7 @@ index 203bb6a..67d0b94 100644 perl_eval_sv(sv, G_DISCARD | G_NOARGS); SvREFCNT_dec(sv); -@@ -1298,13 +1297,12 @@ do_perleval(char_u *str, typval_T *rettv) +@@ -1298,13 +1297,12 @@ do_perleval(char_u *str, typval_T *rettv ENTER; SAVETMPS; @@ -222,7 +212,7 @@ index 203bb6a..67d0b94 100644 else # endif { -@@ -1320,7 +1318,6 @@ do_perleval(char_u *str, typval_T *rettv) +@@ -1320,7 +1318,6 @@ do_perleval(char_u *str, typval_T *rettv } } else @@ -230,8 +220,6 @@ index 203bb6a..67d0b94 100644 sv = eval_pv((char *)str, 0); if (sv) { -diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak -index 5857a22..2ca5f2b 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -213,6 +213,7 @@ NEW_TESTS = \ @@ -250,9 +238,6 @@ index 5857a22..2ca5f2b 100644 test_retab.res \ test_ruby.res \ test_scriptnames.res \ -diff --git a/src/testdir/test_restricted.vim b/src/testdir/test_restricted.vim -new file mode 100644 -index 0000000..9dd937c --- /dev/null +++ b/src/testdir/test_restricted.vim @@ -0,0 +1,107 @@ @@ -363,16 +348,14 @@ index 0000000..9dd937c + call Run_restricted_test('tcldo puts "Hello"', 'E981:') + call Run_restricted_test('tclfile somefile', 'E981:') +endfunc -diff --git a/src/version.c b/src/version.c -index 1b5d863..adb3441 100644 --- a/src/version.c +++ b/src/version.c -@@ -809,6 +809,8 @@ static int included_patches[] = - 948, +@@ -810,6 +810,8 @@ static int included_patches[] = /**/ 884, -+/**/ -+ 881, /**/ ++ 881, ++/**/ 878, /**/ + 875, |