I'm requesting ~arch keywording for this package. I've tested it thoroughly locally and it works as a drop-in replacement for vim's builtin modeline support, and it is more secure. Once this is keyworded everywhere that vim is, I intend to completely disable vim's builtin modeline support and have (g)vim RDEPEND on securemodelines unless USE="insecure-modelines". Note that this script will still function properly even if vim's own modeline support hasn't been completely disabled. For a few good test cases, try: # for modelines like: vim:tw=78:ts=8:ft=help $ vim /usr/share/vim/vimfiles/doc/gentoo-syntax.txt :set tw? ts? ft? textwidth=78 tabstop=8 filetype=help # for modelines like: vim: set sw=4 sts=4 et ft=vim : $ vim /usr/share/vim/vimfiles/plugin/securemodelines.vim :set sw? sts? et? ft? shiftwidth=4 softtabstop=4 expandtab filetype=vim Thanks!
I don't agree with you. Imho it's better to have vim vanilla modelines by default and a USE for securemodelines. Btw ~x86-fbsd keyword done
Vim's default modeline implementation is known to be insecure.
amd64 done
~ia64 done
~sparc-y
HPPA foo.
~alpha'd
added ~ppc64
Re-adding bsd because it still could use ~sparc-fbsd keyword lovin'.
sparc-fbsd done
app-vim/securemodelines-20070518 is tested on ~ppc - Emerges cleanly - No collisions - Test cases work Portage 2.1.2.7 (default-linux/ppc/ppc32/2006.1/G3, gcc-4.1.1, glibc-2.4-r3, 2.6.18-gentoo-r3 ppc) ================================================================= System uname: 2.6.18-gentoo-r3 ppc 740/750 Gentoo Base System version 1.12.1 Timestamp of tree: Mon, 21 May 2007 18:00:09 +0000 dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r4 ACCEPT_KEYWORDS="ppc" AUTOCLEAN="yes" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=G3 -mtune=G3 -fno-strict-aliasing -pipe" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -mcpu=G3 -mtune=G3 -fno-strict-aliasing -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/mine" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apache2 berkdb bitmap-fonts bonobo cdr cli cracklib crypt cups directfb dri dvd eds emboss encode esd fbcon firefox fortran gdbm gif gnome gpm gstreamer gtk gtkhtml iconv ipv6 isdnlog jpeg ldap libg++ libwww mad midi mikmod mozilla mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl php png ppc pppd python quicktime readline reflection ruby sdl session spell spl ssl tcpd theora truetype truetype-fonts type1-fonts unicode vorbis xml xorg xv zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="r128" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
~ppc'd
Added ~mips keyword. God this is ridiculous.