|
Karsten Hopp |
e287a3 |
To: vim_dev@googlegroups.com
|
|
Karsten Hopp |
e287a3 |
Subject: Patch 7.4.238
|
|
Karsten Hopp |
e287a3 |
Fcc: outbox
|
|
Karsten Hopp |
e287a3 |
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
Karsten Hopp |
e287a3 |
Mime-Version: 1.0
|
|
Karsten Hopp |
e287a3 |
Content-Type: text/plain; charset=UTF-8
|
|
Karsten Hopp |
e287a3 |
Content-Transfer-Encoding: 8bit
|
|
Karsten Hopp |
e287a3 |
------------
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
Patch 7.4.238
|
|
Karsten Hopp |
e287a3 |
Problem: Vim does not support the smack library.
|
|
Karsten Hopp |
e287a3 |
Solution: Add smack support (Jose Bollo)
|
|
Karsten Hopp |
e287a3 |
Files: src/config.h.in, src/configure.in, src/fileio.c, src/memfile.c,
|
|
Karsten Hopp |
e287a3 |
src/os_unix.c, src/undo.c, src/auto/configure
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/config.h.in 2014-02-23 22:52:33.364764715 +0100
|
|
Karsten Hopp |
e287a3 |
--- src/config.h.in 2014-04-02 13:37:41.095910851 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 191,196 ****
|
|
Karsten Hopp |
e287a3 |
--- 191,197 ----
|
|
Karsten Hopp |
e287a3 |
#undef HAVE_SIGSETJMP
|
|
Karsten Hopp |
e287a3 |
#undef HAVE_SIGSTACK
|
|
Karsten Hopp |
e287a3 |
#undef HAVE_SIGVEC
|
|
Karsten Hopp |
e287a3 |
+ #undef HAVE_SMACK
|
|
Karsten Hopp |
e287a3 |
#undef HAVE_STRCASECMP
|
|
Karsten Hopp |
e287a3 |
#undef HAVE_STRERROR
|
|
Karsten Hopp |
e287a3 |
#undef HAVE_STRFTIME
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/configure.in 2014-03-27 18:51:06.604760919 +0100
|
|
Karsten Hopp |
e287a3 |
--- src/configure.in 2014-04-02 13:49:36.955901004 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 387,406 ****
|
|
Karsten Hopp |
e287a3 |
AC_SUBST(QUOTESED)
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! dnl Link with -lselinux for SELinux stuff; if not found
|
|
Karsten Hopp |
e287a3 |
! AC_MSG_CHECKING(--disable-selinux argument)
|
|
Karsten Hopp |
e287a3 |
! AC_ARG_ENABLE(selinux,
|
|
Karsten Hopp |
e287a3 |
! [ --disable-selinux Don't check for SELinux support.],
|
|
Karsten Hopp |
e287a3 |
! , enable_selinux="yes")
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_selinux" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
AC_MSG_RESULT(no)
|
|
Karsten Hopp |
e287a3 |
! AC_CHECK_LIB(selinux, is_selinux_enabled,
|
|
Karsten Hopp |
e287a3 |
! [LIBS="$LIBS -lselinux"
|
|
Karsten Hopp |
e287a3 |
! AC_DEFINE(HAVE_SELINUX)])
|
|
Karsten Hopp |
e287a3 |
else
|
|
Karsten Hopp |
e287a3 |
AC_MSG_RESULT(yes)
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
dnl Check user requested features.
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
AC_MSG_CHECKING(--with-features argument)
|
|
Karsten Hopp |
e287a3 |
--- 387,427 ----
|
|
Karsten Hopp |
e287a3 |
AC_SUBST(QUOTESED)
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! dnl Link with -lsmack for Smack stuff; if not found
|
|
Karsten Hopp |
e287a3 |
! AC_MSG_CHECKING(--disable-smack argument)
|
|
Karsten Hopp |
e287a3 |
! AC_ARG_ENABLE(smack,
|
|
Karsten Hopp |
e287a3 |
! [ --disable-smack Do not check for Smack support.],
|
|
Karsten Hopp |
e287a3 |
! , enable_smack="yes")
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_smack" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
! AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_smack" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
AC_MSG_RESULT(no)
|
|
Karsten Hopp |
e287a3 |
! AC_CHECK_LIB(attr, llistxattr,
|
|
Karsten Hopp |
e287a3 |
! [LIBS="$LIBS -lattr"
|
|
Karsten Hopp |
e287a3 |
! found_smack="yes"
|
|
Karsten Hopp |
e287a3 |
! AC_DEFINE(HAVE_SMACK)])
|
|
Karsten Hopp |
e287a3 |
else
|
|
Karsten Hopp |
e287a3 |
AC_MSG_RESULT(yes)
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
+ dnl When smack was found don't search for SELinux
|
|
Karsten Hopp |
e287a3 |
+ if test "x$found_smack" = "x"; then
|
|
Karsten Hopp |
e287a3 |
+ dnl Link with -lselinux for SELinux stuff; if not found
|
|
Karsten Hopp |
e287a3 |
+ AC_MSG_CHECKING(--disable-selinux argument)
|
|
Karsten Hopp |
e287a3 |
+ AC_ARG_ENABLE(selinux,
|
|
Karsten Hopp |
e287a3 |
+ [ --disable-selinux Do not check for SELinux support.],
|
|
Karsten Hopp |
e287a3 |
+ , enable_selinux="yes")
|
|
Karsten Hopp |
e287a3 |
+ if test "$enable_selinux" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
+ AC_MSG_RESULT(no)
|
|
Karsten Hopp |
e287a3 |
+ AC_CHECK_LIB(selinux, is_selinux_enabled,
|
|
Karsten Hopp |
e287a3 |
+ [LIBS="$LIBS -lselinux"
|
|
Karsten Hopp |
e287a3 |
+ AC_DEFINE(HAVE_SELINUX)])
|
|
Karsten Hopp |
e287a3 |
+ else
|
|
Karsten Hopp |
e287a3 |
+ AC_MSG_RESULT(yes)
|
|
Karsten Hopp |
e287a3 |
+ fi
|
|
Karsten Hopp |
e287a3 |
+ fi
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
dnl Check user requested features.
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
AC_MSG_CHECKING(--with-features argument)
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/fileio.c 2014-03-12 16:51:35.056792541 +0100
|
|
Karsten Hopp |
e287a3 |
--- src/fileio.c 2014-04-02 13:39:28.983909367 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 4030,4036 ****
|
|
Karsten Hopp |
e287a3 |
)
|
|
Karsten Hopp |
e287a3 |
mch_setperm(backup,
|
|
Karsten Hopp |
e287a3 |
(perm & 0707) | ((perm & 07) << 3));
|
|
Karsten Hopp |
e287a3 |
! # ifdef HAVE_SELINUX
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(fname, backup);
|
|
Karsten Hopp |
e287a3 |
# endif
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
--- 4030,4036 ----
|
|
Karsten Hopp |
e287a3 |
)
|
|
Karsten Hopp |
e287a3 |
mch_setperm(backup,
|
|
Karsten Hopp |
e287a3 |
(perm & 0707) | ((perm & 07) << 3));
|
|
Karsten Hopp |
e287a3 |
! # if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(fname, backup);
|
|
Karsten Hopp |
e287a3 |
# endif
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 4069,4075 ****
|
|
Karsten Hopp |
e287a3 |
#ifdef HAVE_ACL
|
|
Karsten Hopp |
e287a3 |
mch_set_acl(backup, acl);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
! #ifdef HAVE_SELINUX
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(fname, backup);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
break;
|
|
Karsten Hopp |
e287a3 |
--- 4069,4075 ----
|
|
Karsten Hopp |
e287a3 |
#ifdef HAVE_ACL
|
|
Karsten Hopp |
e287a3 |
mch_set_acl(backup, acl);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(fname, backup);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
break;
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 4718,4724 ****
|
|
Karsten Hopp |
e287a3 |
}
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! #ifdef HAVE_SELINUX
|
|
Karsten Hopp |
e287a3 |
/* Probably need to set the security context. */
|
|
Karsten Hopp |
e287a3 |
if (!backup_copy)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(backup, wfname);
|
|
Karsten Hopp |
e287a3 |
--- 4718,4724 ----
|
|
Karsten Hopp |
e287a3 |
}
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
|
|
Karsten Hopp |
e287a3 |
/* Probably need to set the security context. */
|
|
Karsten Hopp |
e287a3 |
if (!backup_copy)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(backup, wfname);
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 6707,6713 ****
|
|
Karsten Hopp |
e287a3 |
mch_set_acl(to, acl);
|
|
Karsten Hopp |
e287a3 |
mch_free_acl(acl);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
! #ifdef HAVE_SELINUX
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(from, to);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
if (errmsg != NULL)
|
|
Karsten Hopp |
e287a3 |
--- 6707,6713 ----
|
|
Karsten Hopp |
e287a3 |
mch_set_acl(to, acl);
|
|
Karsten Hopp |
e287a3 |
mch_free_acl(acl);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(from, to);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
if (errmsg != NULL)
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/memfile.c 2013-05-23 22:22:22.000000000 +0200
|
|
Karsten Hopp |
e287a3 |
--- src/memfile.c 2014-04-02 13:37:41.103910851 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 1358,1364 ****
|
|
Karsten Hopp |
e287a3 |
if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
|
|
Karsten Hopp |
e287a3 |
fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
! #ifdef HAVE_SELINUX
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(fname, mfp->mf_fname);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
mch_hide(mfp->mf_fname); /* try setting the 'hidden' flag */
|
|
Karsten Hopp |
e287a3 |
--- 1358,1364 ----
|
|
Karsten Hopp |
e287a3 |
if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
|
|
Karsten Hopp |
e287a3 |
fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(fname, mfp->mf_fname);
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
mch_hide(mfp->mf_fname); /* try setting the 'hidden' flag */
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/os_unix.c 2014-04-01 21:00:45.436733663 +0200
|
|
Karsten Hopp |
e287a3 |
--- src/os_unix.c 2014-04-02 13:58:55.427893322 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 46,51 ****
|
|
Karsten Hopp |
e287a3 |
--- 46,59 ----
|
|
Karsten Hopp |
e287a3 |
static int selinux_enabled = -1;
|
|
Karsten Hopp |
e287a3 |
#endif
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
+ #ifdef HAVE_SMACK
|
|
Karsten Hopp |
e287a3 |
+ # include <attr/xattr.h>
|
|
Karsten Hopp |
e287a3 |
+ # include <linux/xattr.h>
|
|
Karsten Hopp |
e287a3 |
+ # ifndef SMACK_LABEL_LEN
|
|
Karsten Hopp |
e287a3 |
+ # define SMACK_LABEL_LEN 1024
|
|
Karsten Hopp |
e287a3 |
+ # endif
|
|
Karsten Hopp |
e287a3 |
+ #endif
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
/*
|
|
Karsten Hopp |
e287a3 |
* Use this prototype for select, some include files have a wrong prototype
|
|
Karsten Hopp |
e287a3 |
*/
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 2798,2803 ****
|
|
Karsten Hopp |
e287a3 |
--- 2806,2895 ----
|
|
Karsten Hopp |
e287a3 |
}
|
|
Karsten Hopp |
e287a3 |
#endif /* HAVE_SELINUX */
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
+ #if defined(HAVE_SMACK) && !defined(PROTO)
|
|
Karsten Hopp |
e287a3 |
+ /*
|
|
Karsten Hopp |
e287a3 |
+ * Copy security info from "from_file" to "to_file".
|
|
Karsten Hopp |
e287a3 |
+ */
|
|
Karsten Hopp |
e287a3 |
+ void
|
|
Karsten Hopp |
e287a3 |
+ mch_copy_sec(from_file, to_file)
|
|
Karsten Hopp |
e287a3 |
+ char_u *from_file;
|
|
Karsten Hopp |
e287a3 |
+ char_u *to_file;
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ static const char const *smack_copied_attributes[] =
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ XATTR_NAME_SMACK,
|
|
Karsten Hopp |
e287a3 |
+ XATTR_NAME_SMACKEXEC,
|
|
Karsten Hopp |
e287a3 |
+ XATTR_NAME_SMACKMMAP
|
|
Karsten Hopp |
e287a3 |
+ };
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
+ char buffer[SMACK_LABEL_LEN];
|
|
Karsten Hopp |
e287a3 |
+ const char *name;
|
|
Karsten Hopp |
e287a3 |
+ int index;
|
|
Karsten Hopp |
e287a3 |
+ int ret;
|
|
Karsten Hopp |
e287a3 |
+ ssize_t size;
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
+ if (from_file == NULL)
|
|
Karsten Hopp |
e287a3 |
+ return;
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
+ for (index = 0 ; index < (int)(sizeof(smack_copied_attributes)
|
|
Karsten Hopp |
e287a3 |
+ / sizeof(smack_copied_attributes)[0]) ; index++)
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ /* get the name of the attribute to copy */
|
|
Karsten Hopp |
e287a3 |
+ name = smack_copied_attributes[index];
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
+ /* get the value of the attribute in buffer */
|
|
Karsten Hopp |
e287a3 |
+ size = getxattr((char*)from_file, name, buffer, sizeof(buffer));
|
|
Karsten Hopp |
e287a3 |
+ if (size >= 0)
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ /* copy the attribute value of buffer */
|
|
Karsten Hopp |
e287a3 |
+ ret = setxattr((char*)to_file, name, buffer, (size_t)size, 0);
|
|
Karsten Hopp |
e287a3 |
+ if (ret < 0)
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_("Could not set security context "));
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(name);
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_(" for "));
|
|
Karsten Hopp |
e287a3 |
+ msg_outtrans(to_file);
|
|
Karsten Hopp |
e287a3 |
+ msg_putchar('\n');
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ else
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ /* what reason of not having the attribute value? */
|
|
Karsten Hopp |
e287a3 |
+ switch (errno)
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ case ENOTSUP:
|
|
Karsten Hopp |
e287a3 |
+ /* extended attributes aren't supported or enabled */
|
|
Karsten Hopp |
e287a3 |
+ /* should a message be echoed? not sure... */
|
|
Karsten Hopp |
e287a3 |
+ return; /* leave because it isn't usefull to continue */
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
+ case ERANGE:
|
|
Karsten Hopp |
e287a3 |
+ default:
|
|
Karsten Hopp |
e287a3 |
+ /* no enough size OR unexpected error */
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_("Could not get security context "));
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(name);
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_(" for "));
|
|
Karsten Hopp |
e287a3 |
+ msg_outtrans(from_file);
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_(". Removing it!\n"));
|
|
Karsten Hopp |
e287a3 |
+ /* FALLTHROUGH to remove the attribute */
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
+ case ENODATA:
|
|
Karsten Hopp |
e287a3 |
+ /* no attribute of this name */
|
|
Karsten Hopp |
e287a3 |
+ ret = removexattr((char*)to_file, name);
|
|
Karsten Hopp |
e287a3 |
+ if (ret < 0 && errno != ENODATA)
|
|
Karsten Hopp |
e287a3 |
+ {
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_("Could not remove security context "));
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(name);
|
|
Karsten Hopp |
e287a3 |
+ MSG_PUTS(_(" for "));
|
|
Karsten Hopp |
e287a3 |
+ msg_outtrans(to_file);
|
|
Karsten Hopp |
e287a3 |
+ msg_putchar('\n');
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ break;
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ }
|
|
Karsten Hopp |
e287a3 |
+ #endif /* HAVE_SMACK */
|
|
Karsten Hopp |
e287a3 |
+
|
|
Karsten Hopp |
e287a3 |
/*
|
|
Karsten Hopp |
e287a3 |
* Return a pointer to the ACL of file "fname" in allocated memory.
|
|
Karsten Hopp |
e287a3 |
* Return NULL if the ACL is not available for whatever reason.
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/undo.c 2014-03-23 15:12:29.943264337 +0100
|
|
Karsten Hopp |
e287a3 |
--- src/undo.c 2014-04-02 13:42:15.387907078 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 1455,1461 ****
|
|
Karsten Hopp |
e287a3 |
# endif
|
|
Karsten Hopp |
e287a3 |
)
|
|
Karsten Hopp |
e287a3 |
mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
|
|
Karsten Hopp |
e287a3 |
! # ifdef HAVE_SELINUX
|
|
Karsten Hopp |
e287a3 |
if (buf->b_ffname != NULL)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(buf->b_ffname, file_name);
|
|
Karsten Hopp |
e287a3 |
# endif
|
|
Karsten Hopp |
e287a3 |
--- 1455,1461 ----
|
|
Karsten Hopp |
e287a3 |
# endif
|
|
Karsten Hopp |
e287a3 |
)
|
|
Karsten Hopp |
e287a3 |
mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
|
|
Karsten Hopp |
e287a3 |
! # if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
|
|
Karsten Hopp |
e287a3 |
if (buf->b_ffname != NULL)
|
|
Karsten Hopp |
e287a3 |
mch_copy_sec(buf->b_ffname, file_name);
|
|
Karsten Hopp |
e287a3 |
# endif
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/auto/configure 2014-03-27 18:51:06.612760919 +0100
|
|
Karsten Hopp |
e287a3 |
--- src/auto/configure 2014-04-02 13:50:11.375900531 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 782,787 ****
|
|
Karsten Hopp |
e287a3 |
--- 782,788 ----
|
|
Karsten Hopp |
e287a3 |
with_view_name
|
|
Karsten Hopp |
e287a3 |
with_global_runtime
|
|
Karsten Hopp |
e287a3 |
with_modified_by
|
|
Karsten Hopp |
e287a3 |
+ enable_smack
|
|
Karsten Hopp |
e287a3 |
enable_selinux
|
|
Karsten Hopp |
e287a3 |
with_features
|
|
Karsten Hopp |
e287a3 |
with_compiledby
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 1453,1459 ****
|
|
Karsten Hopp |
e287a3 |
--enable-fail-if-missing Fail if dependencies on additional features
|
|
Karsten Hopp |
e287a3 |
specified on the command line are missing.
|
|
Karsten Hopp |
e287a3 |
--disable-darwin Disable Darwin (Mac OS X) support.
|
|
Karsten Hopp |
e287a3 |
! --disable-selinux Don't check for SELinux support.
|
|
Karsten Hopp |
e287a3 |
--disable-xsmp Disable XSMP session management
|
|
Karsten Hopp |
e287a3 |
--disable-xsmp-interact Disable XSMP interaction
|
|
Karsten Hopp |
e287a3 |
--enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic
|
|
Karsten Hopp |
e287a3 |
--- 1454,1461 ----
|
|
Karsten Hopp |
e287a3 |
--enable-fail-if-missing Fail if dependencies on additional features
|
|
Karsten Hopp |
e287a3 |
specified on the command line are missing.
|
|
Karsten Hopp |
e287a3 |
--disable-darwin Disable Darwin (Mac OS X) support.
|
|
Karsten Hopp |
e287a3 |
! --disable-smack Do not check for Smack support.
|
|
Karsten Hopp |
e287a3 |
! --disable-selinux Do not check for SELinux support.
|
|
Karsten Hopp |
e287a3 |
--disable-xsmp Disable XSMP session management
|
|
Karsten Hopp |
e287a3 |
--disable-xsmp-interact Disable XSMP interaction
|
|
Karsten Hopp |
e287a3 |
--enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 4588,4606 ****
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo_n "checking --disable-selinux argument... " >&6; }
|
|
Karsten Hopp |
e287a3 |
! # Check whether --enable-selinux was given.
|
|
Karsten Hopp |
e287a3 |
if test "${enable_selinux+set}" = set; then :
|
|
Karsten Hopp |
e287a3 |
enableval=$enable_selinux;
|
|
Karsten Hopp |
e287a3 |
else
|
|
Karsten Hopp |
e287a3 |
enable_selinux="yes"
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_selinux" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo "no" >&6; }
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
|
|
Karsten Hopp |
e287a3 |
if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
|
|
Karsten Hopp |
e287a3 |
$as_echo_n "(cached) " >&6
|
|
Karsten Hopp |
e287a3 |
--- 4590,4679 ----
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-smack argument" >&5
|
|
Karsten Hopp |
e287a3 |
! $as_echo_n "checking --disable-smack argument... " >&6; }
|
|
Karsten Hopp |
e287a3 |
! # Check whether --enable-smack was given.
|
|
Karsten Hopp |
e287a3 |
! if test "${enable_smack+set}" = set; then :
|
|
Karsten Hopp |
e287a3 |
! enableval=$enable_smack;
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! enable_smack="yes"
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_smack" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
! ac_fn_c_check_header_mongrel "$LINENO" "linux/xattr.h" "ac_cv_header_linux_xattr_h" "$ac_includes_default"
|
|
Karsten Hopp |
e287a3 |
! if test "x$ac_cv_header_linux_xattr_h" = xyes; then :
|
|
Karsten Hopp |
e287a3 |
! true
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! enable_smack="no"
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_smack" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
Karsten Hopp |
e287a3 |
! $as_echo "no" >&6; }
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5
|
|
Karsten Hopp |
e287a3 |
! $as_echo_n "checking for llistxattr in -lattr... " >&6; }
|
|
Karsten Hopp |
e287a3 |
! if ${ac_cv_lib_attr_llistxattr+:} false; then :
|
|
Karsten Hopp |
e287a3 |
! $as_echo_n "(cached) " >&6
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! ac_check_lib_save_LIBS=$LIBS
|
|
Karsten Hopp |
e287a3 |
! LIBS="-lattr $LIBS"
|
|
Karsten Hopp |
e287a3 |
! cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
Karsten Hopp |
e287a3 |
! /* end confdefs.h. */
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
! /* Override any GCC internal prototype to avoid an error.
|
|
Karsten Hopp |
e287a3 |
! Use char because int might match the return type of a GCC
|
|
Karsten Hopp |
e287a3 |
! builtin and then its argument prototype would still apply. */
|
|
Karsten Hopp |
e287a3 |
! #ifdef __cplusplus
|
|
Karsten Hopp |
e287a3 |
! extern "C"
|
|
Karsten Hopp |
e287a3 |
! #endif
|
|
Karsten Hopp |
e287a3 |
! char llistxattr ();
|
|
Karsten Hopp |
e287a3 |
! int
|
|
Karsten Hopp |
e287a3 |
! main ()
|
|
Karsten Hopp |
e287a3 |
! {
|
|
Karsten Hopp |
e287a3 |
! return llistxattr ();
|
|
Karsten Hopp |
e287a3 |
! ;
|
|
Karsten Hopp |
e287a3 |
! return 0;
|
|
Karsten Hopp |
e287a3 |
! }
|
|
Karsten Hopp |
e287a3 |
! _ACEOF
|
|
Karsten Hopp |
e287a3 |
! if ac_fn_c_try_link "$LINENO"; then :
|
|
Karsten Hopp |
e287a3 |
! ac_cv_lib_attr_llistxattr=yes
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! ac_cv_lib_attr_llistxattr=no
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
! rm -f core conftest.err conftest.$ac_objext \
|
|
Karsten Hopp |
e287a3 |
! conftest$ac_exeext conftest.$ac_ext
|
|
Karsten Hopp |
e287a3 |
! LIBS=$ac_check_lib_save_LIBS
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_llistxattr" >&5
|
|
Karsten Hopp |
e287a3 |
! $as_echo "$ac_cv_lib_attr_llistxattr" >&6; }
|
|
Karsten Hopp |
e287a3 |
! if test "x$ac_cv_lib_attr_llistxattr" = xyes; then :
|
|
Karsten Hopp |
e287a3 |
! LIBS="$LIBS -lattr"
|
|
Karsten Hopp |
e287a3 |
! found_smack="yes"
|
|
Karsten Hopp |
e287a3 |
! $as_echo "#define HAVE_SMACK 1" >>confdefs.h
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
Karsten Hopp |
e287a3 |
! $as_echo "yes" >&6; }
|
|
Karsten Hopp |
e287a3 |
! fi
|
|
Karsten Hopp |
e287a3 |
!
|
|
Karsten Hopp |
e287a3 |
! if test "x$found_smack" = "x"; then
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo_n "checking --disable-selinux argument... " >&6; }
|
|
Karsten Hopp |
e287a3 |
! # Check whether --enable-selinux was given.
|
|
Karsten Hopp |
e287a3 |
if test "${enable_selinux+set}" = set; then :
|
|
Karsten Hopp |
e287a3 |
enableval=$enable_selinux;
|
|
Karsten Hopp |
e287a3 |
else
|
|
Karsten Hopp |
e287a3 |
enable_selinux="yes"
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! if test "$enable_selinux" = "yes"; then
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo "no" >&6; }
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
|
|
Karsten Hopp |
e287a3 |
if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
|
|
Karsten Hopp |
e287a3 |
$as_echo_n "(cached) " >&6
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 4638,4650 ****
|
|
Karsten Hopp |
e287a3 |
$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
|
|
Karsten Hopp |
e287a3 |
if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
|
|
Karsten Hopp |
e287a3 |
LIBS="$LIBS -lselinux"
|
|
Karsten Hopp |
e287a3 |
! $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo "yes" >&6; }
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
--- 4711,4724 ----
|
|
Karsten Hopp |
e287a3 |
$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
|
|
Karsten Hopp |
e287a3 |
if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
|
|
Karsten Hopp |
e287a3 |
LIBS="$LIBS -lselinux"
|
|
Karsten Hopp |
e287a3 |
! $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
! else
|
|
Karsten Hopp |
e287a3 |
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
Karsten Hopp |
e287a3 |
$as_echo "yes" >&6; }
|
|
Karsten Hopp |
e287a3 |
+ fi
|
|
Karsten Hopp |
e287a3 |
fi
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
*** ../vim-7.4.237/src/version.c 2014-04-02 12:12:04.163981514 +0200
|
|
Karsten Hopp |
e287a3 |
--- src/version.c 2014-04-02 13:38:22.511910282 +0200
|
|
Karsten Hopp |
e287a3 |
***************
|
|
Karsten Hopp |
e287a3 |
*** 736,737 ****
|
|
Karsten Hopp |
e287a3 |
--- 736,739 ----
|
|
Karsten Hopp |
e287a3 |
{ /* Add new patch number below this line */
|
|
Karsten Hopp |
e287a3 |
+ /**/
|
|
Karsten Hopp |
e287a3 |
+ 238,
|
|
Karsten Hopp |
e287a3 |
/**/
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
--
|
|
Karsten Hopp |
e287a3 |
hundred-and-one symptoms of being an internet addict:
|
|
Karsten Hopp |
e287a3 |
25. You believe nothing looks sexier than a man in boxer shorts illuminated
|
|
Karsten Hopp |
e287a3 |
only by a 17" inch svga monitor.
|
|
Karsten Hopp |
e287a3 |
|
|
Karsten Hopp |
e287a3 |
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
Karsten Hopp |
e287a3 |
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
Karsten Hopp |
e287a3 |
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
Karsten Hopp |
e287a3 |
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|