On Fri, Feb 08, 2019 at 02:34:26PM +0100, Bram Moolenaar wrote: > Patch 8.1.0881 > Problem: Can execute shell commands in rvim through interfaces. > Solution: Disable using interfaces in restricted mode. Allow for writing > file with writefile(), histadd() and a few others. > Files: runtime/doc/starting.txt, src/if_perl.xs, src/if_cmds.h, > src/ex_cmds.c, src/ex_docmd.c, src/evalfunc.c, > src/testdir/test_restricted.vim, src/testdir/Make_all.mak > >
> *** ../vim-8.1.0880/src/ex_docmd.c 2019-01-31 18:26:05.734803539 +0100
> --- src/ex_docmd.c 2019-02-08 13:21:20.959437381 +0100
> ***************
> *** 2007,2017 ****
> #ifdef HAVE_SANDBOX
> if (sandbox != 0 && !(ea.argt & SBOXOK))
> {
> ! /* Command not allowed in sandbox. */
> errormsg = _(e_sandbox);
> goto doend;
> }
> #endif
> if (!curbuf->b_p_ma && (ea.argt & MODIFY))
> {
> /* Command not allowed in non-'modifiable' buffer */
> --- 2007,2022 ----
> #ifdef HAVE_SANDBOX
> if (sandbox != 0 && !(ea.argt & SBOXOK))
> {
> ! // Command not allowed in sandbox.
> errormsg = _(e_sandbox);
> goto doend;
> }
> #endif
> + if (restricted != 0 && (ea.argt & RESTRICT))
> + {
> + errormsg = _("E981: Command not allowed in rvim");
> + goto doend;
> + }
> if (!curbuf->b_p_ma && (ea.argt & MODIFY))
> {
> /* Command not allowed in non-'modifiable' buffer */
This causes a build failure:
ex_docmd.c: In function ‘do_one_cmd’:
ex_docmd.c:2015:36: error: ‘RESTRICT’ undeclared (first use in this function);
did you mean ‘RE_STRICT’?
if (restricted != 0 && (ea.argt & RESTRICT))
^~~~~~~~
RE_STRICT
ex_docmd.c:2015:36: note: each undeclared identifier is reported only once for
each function it appears in
make[1]: *** [Makefile:2988: objects/ex_docmd.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/mg/src/vim/src'
make: *** [Makefile:29: first] Error 2
git grep -w RESTRICT finds no other mentions of this name in the vim
codebase.
Marius Gedminas
--
The C language does not lend itself to providing all three of "safe," "simple,"
and "fast" in the same package.
-- Jonathan Corbet
--
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: PGP signature
