13902 lines
498 KiB
Diff
13902 lines
498 KiB
Diff
From 45d71f938a2e92662a14097b7e1c27c13137c5f6 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
|
|
Date: Wed, 29 Jan 2020 15:22:47 +0100
|
|
Subject: [PATCH 149/149] Implement --secontext[=full] option to display
|
|
SELinux contexts
|
|
|
|
This is very useful when debugging SELinux issues, in particular, when
|
|
a process runs in an unexpected context or didn't transition properly,
|
|
or typically when a file being opened does not have the proper context.
|
|
|
|
When --secontext=full is specified, strace will print the complete
|
|
context (user, role, type and category) instead of just the type which
|
|
is printed for --secontext option, as shown in the examples below:
|
|
|
|
Without any "--secontext" options:
|
|
-----------------------------------------------------------------------
|
|
118104 16:52:11.141122 select(9, [4<TCP:[0.0.0.0:22]> 6<TCPv6:[[::]:22]>], NULL, NULL, NULL) = 1 (in [4]) <1.845416>
|
|
119820 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys", O_RDONLY|O_NONBLOCK) = 11</home/rmetrich/.ssh/authorized_keys> <0.000399>
|
|
-----------------------------------------------------------------------
|
|
|
|
With "--secontext=full" option:
|
|
-----------------------------------------------------------------------
|
|
118104 [system_u:system_r:sshd_t:s0-s0:c0.c1023] 16:52:11.141122 select(9, [4<TCP:[0.0.0.0:22]> 6<TCPv6:[[::]:22]>], NULL, NULL, NULL) = 1 (in [4]) <1.845416>
|
|
119820 [system_u:system_r:sshd_t:s0-s0:c0.c1023] 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys" [system_u:object_r:nfs_t:s0], O_RDONLY|O_NONBLOCK) = 11</home/rmetrich/.ssh/authorized_keys> [system_u:object_r:nfs_t:s0] <0.000399>
|
|
-----------------------------------------------------------------------
|
|
|
|
With "--secontext" option:
|
|
-----------------------------------------------------------------------
|
|
118104 [sshd_t] 16:52:11.141122 select(9, [4<TCP:[0.0.0.0:22]> 6<TCPv6:[[::]:22]>], NULL, NULL, NULL) = 1 (in [4]) <1.845416>
|
|
119820 [sshd_t] 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys" [nfs_t], O_RDONLY|O_NONBLOCK) = 11</home/rmetrich/.ssh/authorized_keys> [nfs_t] <0.000399>
|
|
-----------------------------------------------------------------------
|
|
|
|
To implement this, a new "--with-libselinux" configure option has been
|
|
introduced. It defaults to "check", which means automatic support on
|
|
SELinux aware systems.
|
|
|
|
Co-authored-by: Dmitry V. Levin <ldv@strace.io>
|
|
---
|
|
Makefile.am | 10 +++
|
|
NEWS | 3 +
|
|
bootstrap | 11 ++-
|
|
configure.ac | 2 +
|
|
defs.h | 9 ++
|
|
dirent.c | 3 +
|
|
m4/mpers.m4 | 26 ++++++
|
|
m4/st_selinux.m4 | 80 ++++++++++++++++++
|
|
open.c | 3 +
|
|
secontext.c | 139 +++++++++++++++++++++++++++++++
|
|
secontext.h | 21 +++++
|
|
strace.1.in | 9 ++
|
|
strace.c | 53 +++++++++++-
|
|
strace.spec.in | 3 +
|
|
syscall.c | 5 ++
|
|
tests/.gitignore | 5 ++
|
|
tests/Makefile.am | 11 +++
|
|
tests/access.c | 23 +++++-
|
|
tests/chmod.c | 35 +++++---
|
|
tests/execve.c | 53 +++++++++---
|
|
tests/execve.test | 2 +-
|
|
tests/execveat.c | 122 +++++++++++++++++++++++++--
|
|
tests/faccessat.c | 137 ++++++++++++++++++++++++++++++-
|
|
tests/faccessat.test | 2 +-
|
|
tests/fanotify_mark.c | 121 +++++++++++++++++----------
|
|
tests/fchmod.c | 23 ++++--
|
|
tests/fchmodat.c | 67 +++++++++++++--
|
|
tests/fchownat.c | 73 +++++++++++++++--
|
|
tests/file_handle.c | 204 +++++++++++++++++++++++++++++++---------------
|
|
tests/gen_secontext.sh | 72 ++++++++++++++++
|
|
tests/gen_tests.in | 30 +++++++
|
|
tests/linkat.c | 150 +++++++++++++++++++++++++++++++++-
|
|
tests/open.c | 18 ++--
|
|
tests/openat.c | 91 +++++++++++++++++----
|
|
tests/options-syntax.test | 13 ++-
|
|
tests/secontext.c | 201 +++++++++++++++++++++++++++++++++++++++++++++
|
|
tests/secontext.h | 46 +++++++++++
|
|
tests/strace-V.test | 4 +-
|
|
util.c | 16 ++++
|
|
xgetdents.c | 3 +
|
|
40 files changed, 1703 insertions(+), 196 deletions(-)
|
|
create mode 100644 m4/st_selinux.m4
|
|
create mode 100644 secontext.c
|
|
create mode 100644 secontext.h
|
|
create mode 100755 tests/gen_secontext.sh
|
|
create mode 100644 tests/secontext.c
|
|
create mode 100644 tests/secontext.h
|
|
|
|
Index: strace-5.7/Makefile.am
|
|
===================================================================
|
|
--- strace-5.7.orig/Makefile.am 2021-08-24 21:08:35.376312714 +0200
|
|
+++ strace-5.7/Makefile.am 2021-08-24 21:08:43.248246086 +0200
|
|
@@ -404,11 +404,21 @@
|
|
endif
|
|
endif
|
|
|
|
+if ENABLE_SECONTEXT
|
|
+libstrace_a_SOURCES += \
|
|
+ secontext.c \
|
|
+ secontext.h
|
|
+strace_CPPFLAGS += $(libselinux_CPPFLAGS)
|
|
+strace_LDFLAGS += $(libselinux_LDFLAGS)
|
|
+strace_LDADD += $(libselinux_LIBS)
|
|
+endif
|
|
+
|
|
@CODE_COVERAGE_RULES@
|
|
CODE_COVERAGE_BRANCH_COVERAGE = 1
|
|
CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
|
|
--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
|
|
CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*'
|
|
+
|
|
strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
|
|
strace_CFLAGS += $(CODE_COVERAGE_CFLAGS)
|
|
strace_LDADD += $(CODE_COVERAGE_LIBS)
|
|
Index: strace-5.7/NEWS
|
|
===================================================================
|
|
--- strace-5.7.orig/NEWS 2021-08-24 21:08:35.376312714 +0200
|
|
+++ strace-5.7/NEWS 2021-08-24 21:08:43.249246078 +0200
|
|
@@ -2,6 +2,9 @@
|
|
==============================================
|
|
|
|
* Improvements
|
|
+ * Implemented --secontext[=full] option to display SELinux contexts.
|
|
+ * Added --pidns-translation option for PID namespace translation (addresses
|
|
+ Fedora bug #1035433).
|
|
* Implemented interval specification in "when=" subexpression of syscall
|
|
tampering expressions.
|
|
* Added -e trace=%clock option for tracing syscalls reading of modifying
|
|
Index: strace-5.7/configure.ac
|
|
===================================================================
|
|
--- strace-5.7.orig/configure.ac 2021-08-24 21:08:35.376312714 +0200
|
|
+++ strace-5.7/configure.ac 2021-08-24 21:08:43.250246069 +0200
|
|
@@ -764,6 +764,8 @@
|
|
|
|
st_STACKTRACE
|
|
|
|
+st_SELINUX
|
|
+
|
|
if test "$arch" = mips && test "$no_create" != yes; then
|
|
mkdir -p linux/mips
|
|
if $srcdir/linux/mips/genstub.sh \
|
|
Index: strace-5.7/defs.h
|
|
===================================================================
|
|
--- strace-5.7.orig/defs.h 2021-08-24 21:08:35.377312705 +0200
|
|
+++ strace-5.7/defs.h 2021-08-24 21:08:43.251246061 +0200
|
|
@@ -287,6 +287,10 @@
|
|
*/
|
|
unsigned int pid_ns;
|
|
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ int last_dirfd; /* Use AT_FDCWD for 'not set' */
|
|
+#endif
|
|
+
|
|
struct mmap_cache_t *mmap_cache;
|
|
|
|
/*
|
|
@@ -1123,6 +1127,11 @@
|
|
extern void print_x25_addr(const void /* struct x25_address */ *addr);
|
|
extern const char *get_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode);
|
|
extern bool print_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode);
|
|
+
|
|
+/**
|
|
+ * Prints dirfd file descriptor and saves it in tcp->last_dirfd,
|
|
+ * the latter is used when printing SELinux contexts.
|
|
+ */
|
|
extern void print_dirfd(struct tcb *, int);
|
|
|
|
extern int
|
|
Index: strace-5.7/dirent.c
|
|
===================================================================
|
|
--- strace-5.7.orig/dirent.c 2021-08-24 21:08:35.377312705 +0200
|
|
+++ strace-5.7/dirent.c 2021-08-24 21:08:43.251246061 +0200
|
|
@@ -100,6 +100,9 @@
|
|
{
|
|
if (entering(tcp)) {
|
|
printfd(tcp, tcp->u_arg[0]);
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ tcp->last_dirfd = (int) tcp->u_arg[0];
|
|
+#endif
|
|
tprints(", ");
|
|
} else {
|
|
if (tcp->u_rval == 0)
|
|
Index: strace-5.7/m4/mpers.m4
|
|
===================================================================
|
|
--- strace-5.7.orig/m4/mpers.m4 2021-08-24 21:08:35.377312705 +0200
|
|
+++ strace-5.7/m4/mpers.m4 2021-08-24 21:08:43.252246052 +0200
|
|
@@ -63,9 +63,11 @@
|
|
pushdef([MPERS_NAME], translit([$1], [a-z], [A-Z]))
|
|
pushdef([HAVE_MPERS], [HAVE_]MPERS_NAME[_MPERS])
|
|
pushdef([HAVE_RUNTIME], [HAVE_]MPERS_NAME[_RUNTIME])
|
|
+pushdef([HAVE_SELINUX_RUNTIME], [HAVE_]MPERS_NAME[_SELINUX_RUNTIME])
|
|
pushdef([MPERS_CFLAGS], [$cc_flags_$1])
|
|
pushdef([st_cv_cc], [st_cv_$1_cc])
|
|
pushdef([st_cv_runtime], [st_cv_$1_runtime])
|
|
+pushdef([st_cv_selinux_runtime], [st_cv_$1_selinux_runtime])
|
|
pushdef([st_cv_mpers], [st_cv_$1_mpers])
|
|
|
|
pushdef([EXEEXT], MPERS_NAME[_EXEEXT])dnl
|
|
@@ -126,6 +128,26 @@
|
|
else
|
|
st_cv_mpers=no
|
|
fi])
|
|
+ AS_IF([test "x$enable_secontext$st_cv_mpers$st_cv_runtime" = xyesyesyes],
|
|
+ [AC_CACHE_CHECK([whether selinux runtime works with mpers_name personality],
|
|
+ [st_cv_selinux_runtime],
|
|
+ [saved_CPPFLAGS="$CPPFLAGS"
|
|
+ saved_LDFLAGS="$LDFLAGS"
|
|
+ saved_LIBS="$LIBS"
|
|
+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
|
|
+ LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
|
|
+ LIBS="$LIBS $libselinux_LIBS"
|
|
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <selinux/selinux.h>]],
|
|
+ [[return 0]])],
|
|
+ [st_cv_selinux_runtime=yes],
|
|
+ [st_cv_selinux_runtime=no],
|
|
+ [st_cv_selinux_runtime=no])
|
|
+ LIBS="$saved_LIBS"
|
|
+ LDFLAGS="$saved_LDFLAGS"
|
|
+ CPPFLAGS="$saved_CPPFLAGS"
|
|
+ ])
|
|
+ ],
|
|
+ [st_cv_selinux_runtime=no])
|
|
if test $st_cv_mpers = yes; then
|
|
AC_DEFINE(HAVE_MPERS, [1],
|
|
[Define to 1 if you have mpers_name mpers support])
|
|
@@ -165,6 +187,7 @@
|
|
*) # case "$enable_mpers"
|
|
st_cv_runtime=no
|
|
st_cv_mpers=no
|
|
+ st_cv_selinux_runtime=no
|
|
;;
|
|
esac
|
|
|
|
@@ -187,6 +210,7 @@
|
|
esac
|
|
|
|
AM_CONDITIONAL(HAVE_RUNTIME, [test "$st_cv_mpers$st_cv_runtime" = yesyes])
|
|
+AM_CONDITIONAL(HAVE_SELINUX_RUNTIME, [test "$st_cv_mpers$st_cv_selinux_runtime" = yesyes])
|
|
AM_CONDITIONAL(HAVE_MPERS, [test "$st_cv_mpers" = yes])
|
|
|
|
st_RESTORE_VAR([CC])
|
|
@@ -201,9 +225,11 @@
|
|
|
|
popdef([st_cv_mpers])
|
|
popdef([st_cv_runtime])
|
|
+popdef([st_cv_selinux_runtime])
|
|
popdef([st_cv_cc])
|
|
popdef([MPERS_CFLAGS])
|
|
popdef([HAVE_RUNTIME])
|
|
+popdef([HAVE_SELINUX_RUNTIME])
|
|
popdef([HAVE_MPERS])
|
|
popdef([MPERS_NAME])
|
|
popdef([mpers_name])
|
|
Index: strace-5.7/m4/st_selinux.m4
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/m4/st_selinux.m4 2021-08-24 21:08:43.252246052 +0200
|
|
@@ -0,0 +1,80 @@
|
|
+#!/usr/bin/m4
|
|
+#
|
|
+# Copyright (c) 2020 The strace developers.
|
|
+# All rights reserved.
|
|
+#
|
|
+# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
+
|
|
+AC_DEFUN([st_SELINUX], [dnl
|
|
+
|
|
+libselinux_CPPFLAGS=
|
|
+libselinux_LDFLAGS=
|
|
+libselinux_LIBS=
|
|
+enable_secontext=no
|
|
+
|
|
+AC_ARG_WITH([libselinux],
|
|
+ [AS_HELP_STRING([--with-libselinux],
|
|
+ [use libselinux to collect security contexts])],
|
|
+ [case "${withval}" in
|
|
+ yes|no|check) ;;
|
|
+ *) with_libselinux=yes
|
|
+ libselinux_CPPFLAGS="-I${withval}/include"
|
|
+ libselinux_LDFLAGS="-L${withval}/lib" ;;
|
|
+ esac],
|
|
+ [with_libselinux=check]
|
|
+)
|
|
+
|
|
+AS_IF([test "x$with_libselinux" != xno],
|
|
+ [saved_CPPFLAGS="$CPPFLAGS"
|
|
+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
|
|
+ found_selinux_h=no
|
|
+ AC_CHECK_HEADERS([selinux/selinux.h],
|
|
+ [found_selinux_h=yes])
|
|
+ CPPFLAGS="$saved_CPPFLAGS"
|
|
+ AS_IF([test "x$found_selinux_h" = xyes],
|
|
+ [saved_LDFLAGS="$LDFLAGS"
|
|
+ LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
|
|
+ AC_CHECK_LIB([selinux],[getpidcon],
|
|
+ [libselinux_LIBS="-lselinux"
|
|
+ enable_secontext=yes
|
|
+ ],
|
|
+ [if test "x$with_libselinux" != xcheck; then
|
|
+ AC_MSG_FAILURE([failed to find getpidcon in libselinux])
|
|
+ fi
|
|
+ ]
|
|
+ )
|
|
+ AC_CHECK_LIB([selinux],[getfilecon],
|
|
+ [libselinux_LIBS="-lselinux"
|
|
+ enable_secontext=yes
|
|
+ ],
|
|
+ [if test "x$with_libselinux" != xcheck; then
|
|
+ AC_MSG_FAILURE([failed to find getfilecon in libselinux])
|
|
+ fi
|
|
+ ]
|
|
+ )
|
|
+ LDFLAGS="$saved_LDFLAGS"
|
|
+ ],
|
|
+ [if test "x$with_libselinux" != xcheck; then
|
|
+ AC_MSG_FAILURE([failed to find selinux.h])
|
|
+ fi
|
|
+ ]
|
|
+ )
|
|
+ ]
|
|
+)
|
|
+
|
|
+AC_MSG_CHECKING([whether to enable security contexts support])
|
|
+AS_IF([test "x$enable_secontext" = xyes],
|
|
+ [AC_DEFINE([ENABLE_SECONTEXT], [1],
|
|
+ [Define to enable SELinux security contexts support])
|
|
+ AC_DEFINE([HAVE_SELINUX_RUNTIME], [1],
|
|
+ [Define to enable SELinux security contexts testing])
|
|
+ AC_SUBST(libselinux_LIBS)
|
|
+ AC_SUBST(libselinux_LDFLAGS)
|
|
+ AC_SUBST(libselinux_CPPFLAGS)
|
|
+ AC_MSG_RESULT([yes])],
|
|
+ [AC_MSG_RESULT([no])])
|
|
+
|
|
+AM_CONDITIONAL([ENABLE_SECONTEXT], [test "x$enable_secontext" = xyes])
|
|
+AM_CONDITIONAL([HAVE_SELINUX_RUNTIME], [test "x$enable_secontext" = xyes])
|
|
+
|
|
+])
|
|
Index: strace-5.7/open.c
|
|
===================================================================
|
|
--- strace-5.7.orig/open.c 2021-08-24 21:08:35.378312697 +0200
|
|
+++ strace-5.7/open.c 2021-08-24 21:08:43.253246044 +0200
|
|
@@ -50,6 +50,9 @@
|
|
print_xlat_d(AT_FDCWD);
|
|
else
|
|
printfd(tcp, fd);
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ tcp->last_dirfd = fd;
|
|
+#endif
|
|
}
|
|
|
|
/*
|
|
Index: strace-5.7/secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/secontext.c 2021-08-24 21:08:43.253246044 +0200
|
|
@@ -0,0 +1,139 @@
|
|
+/*
|
|
+ * Copyright (c) 2020-2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: LGPL-2.1-or-later
|
|
+ */
|
|
+
|
|
+#include "defs.h"
|
|
+
|
|
+#include <stdlib.h>
|
|
+#include <fcntl.h>
|
|
+#include <limits.h>
|
|
+#include <selinux/selinux.h>
|
|
+
|
|
+#include "secontext.h"
|
|
+#include "xstring.h"
|
|
+
|
|
+bool selinux_context = false;
|
|
+bool selinux_context_full = false;
|
|
+
|
|
+static int
|
|
+getcontext(int rc, char **secontext, char **result)
|
|
+{
|
|
+ if (rc < 0)
|
|
+ return rc;
|
|
+
|
|
+ *result = NULL;
|
|
+ if (!selinux_context_full) {
|
|
+ char *saveptr = NULL;
|
|
+ char *secontext_copy = xstrdup(*secontext);
|
|
+ const char *token;
|
|
+ unsigned int i;
|
|
+
|
|
+ /*
|
|
+ * We only want to keep the type (3rd field, ':' separator).
|
|
+ */
|
|
+ for (token = strtok_r(secontext_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ *result = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ free(secontext_copy);
|
|
+ }
|
|
+
|
|
+ if (*result == NULL) {
|
|
+ /*
|
|
+ * On the CI at least, the context may have a trailing \n,
|
|
+ * let's remove it just in case.
|
|
+ */
|
|
+ size_t len = strlen(*secontext);
|
|
+ for (; len > 0; --len) {
|
|
+ if ((*secontext)[len - 1] != '\n')
|
|
+ break;
|
|
+ }
|
|
+ *result = xstrndup(*secontext, len);
|
|
+ }
|
|
+ freecon(*secontext);
|
|
+ return 0;
|
|
+}
|
|
+/*
|
|
+ * Retrieves the SELinux context of the given PID (extracted from the tcb).
|
|
+ * Memory must be freed.
|
|
+ * Returns 0 on success, -1 on failure.
|
|
+ */
|
|
+int
|
|
+selinux_getpidcon(struct tcb *tcp, char **result)
|
|
+{
|
|
+ if (!selinux_context)
|
|
+ return -1;
|
|
+
|
|
+ int proc_pid = 0;
|
|
+ translate_pid(NULL, tcp->pid, PT_TID, &proc_pid);
|
|
+ if (!proc_pid)
|
|
+ return -1;
|
|
+
|
|
+ char *secontext;
|
|
+ return getcontext(getpidcon(proc_pid, &secontext), &secontext, result);
|
|
+}
|
|
+
|
|
+/*
|
|
+ * Retrieves the SELinux context of the given pid and descriptor.
|
|
+ * Memory must be freed.
|
|
+ * Returns 0 on success, -1 on failure.
|
|
+ */
|
|
+int
|
|
+selinux_getfdcon(pid_t pid, int fd, char **result)
|
|
+{
|
|
+ if (!selinux_context || pid <= 0 || fd < 0)
|
|
+ return -1;
|
|
+
|
|
+ int proc_pid = 0;
|
|
+ translate_pid(NULL, pid, PT_TID, &proc_pid);
|
|
+ if (!proc_pid)
|
|
+ return -1;
|
|
+
|
|
+ char linkpath[sizeof("/proc/%u/fd/%u") + 2 * sizeof(int)*3];
|
|
+ xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd);
|
|
+
|
|
+ char *secontext;
|
|
+ return getcontext(getfilecon(linkpath, &secontext), &secontext, result);
|
|
+}
|
|
+
|
|
+/*
|
|
+ * Retrieves the SELinux context of the given path.
|
|
+ * Memory must be freed.
|
|
+ * Returns 0 on success, -1 on failure.
|
|
+ */
|
|
+int
|
|
+selinux_getfilecon(struct tcb *tcp, const char *path, char **result)
|
|
+{
|
|
+ if (!selinux_context)
|
|
+ return -1;
|
|
+
|
|
+ int proc_pid = 0;
|
|
+ translate_pid(NULL, tcp->pid, PT_TID, &proc_pid);
|
|
+ if (!proc_pid)
|
|
+ return -1;
|
|
+
|
|
+ int ret = -1;
|
|
+ char fname[PATH_MAX];
|
|
+
|
|
+ if (path[0] == '/')
|
|
+ ret = snprintf(fname, sizeof(fname), "/proc/%u/root%s",
|
|
+ proc_pid, path);
|
|
+ else if (tcp->last_dirfd == AT_FDCWD)
|
|
+ ret = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s",
|
|
+ proc_pid, path);
|
|
+ else if (tcp->last_dirfd >= 0 )
|
|
+ ret = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s",
|
|
+ proc_pid, tcp->last_dirfd, path);
|
|
+
|
|
+ if ((unsigned int) ret >= sizeof(fname))
|
|
+ return -1;
|
|
+
|
|
+ char *secontext;
|
|
+ return getcontext(getfilecon(fname, &secontext), &secontext, result);
|
|
+}
|
|
Index: strace-5.7/secontext.h
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/secontext.h 2021-08-24 21:08:43.253246044 +0200
|
|
@@ -0,0 +1,21 @@
|
|
+/*
|
|
+ * SELinux interface.
|
|
+ *
|
|
+ * Copyright (c) 2020-2021 The strace developers.
|
|
+ *
|
|
+ * SPDX-License-Identifier: LGPL-2.1-or-later
|
|
+ */
|
|
+
|
|
+#ifndef STRACE_SECONTEXT_H
|
|
+#define STRACE_SECONTEXT_H
|
|
+
|
|
+#include "defs.h"
|
|
+
|
|
+extern bool selinux_context;
|
|
+extern bool selinux_context_full;
|
|
+
|
|
+int selinux_getfdcon(pid_t pid, int fd, char **context);
|
|
+int selinux_getfilecon(struct tcb *tcp, const char *path, char **context);
|
|
+int selinux_getpidcon(struct tcb *tcp, char **context);
|
|
+
|
|
+#endif /* !STRACE_SECONTEXT_H */
|
|
Index: strace-5.7/strace.1.in
|
|
===================================================================
|
|
--- strace-5.7.orig/strace.1.in 2021-08-24 21:08:35.379312688 +0200
|
|
+++ strace-5.7/strace.1.in 2021-08-24 21:08:43.254246035 +0200
|
|
@@ -53,6 +53,7 @@
|
|
.OM \-P path
|
|
.OM \-p pid
|
|
.OP \-\-seccomp\-bpf
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=full]
|
|
.BR "" {
|
|
.OR \-p pid
|
|
.BR "" |
|
|
@@ -1079,6 +1080,14 @@
|
|
.B \-\-pidns\-translation
|
|
If strace and tracee are in different PID namespaces, print PIDs in
|
|
strace's namespace, too.
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' .TP
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext "[=full]"
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' When SELinux is available and is not disabled,
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' print in square brackets SELinux contexts of
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors. When
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' .B full
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' is specified, print the complete context (user,
|
|
+.if '@ENABLE_SECONTEXT_FALSE@'#' role, type and category) instead of just the type.
|
|
.SS Statistics
|
|
.TP 12
|
|
.B \-c
|
|
Index: strace-5.7/strace.c
|
|
===================================================================
|
|
--- strace-5.7.orig/strace.c 2021-08-24 21:08:35.380312680 +0200
|
|
+++ strace-5.7/strace.c 2021-08-24 21:08:43.255246027 +0200
|
|
@@ -40,6 +40,7 @@
|
|
#include "xstring.h"
|
|
#include "delay.h"
|
|
#include "wait.h"
|
|
+#include "secontext.h"
|
|
|
|
/* In some libc, these aren't declared. Do it ourself: */
|
|
extern char **environ;
|
|
@@ -239,6 +240,9 @@
|
|
" no-mx32-mpers"
|
|
# endif
|
|
#endif /* SUPPORTED_PERSONALITIES > 2 */
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ " secontext"
|
|
+#endif
|
|
"";
|
|
|
|
printf("%s -- version %s\n"
|
|
@@ -258,11 +262,17 @@
|
|
#else
|
|
# define K_OPT ""
|
|
#endif
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+# define SECONTEXT_OPT "[--secontext[=full]]\n"
|
|
+#else
|
|
+# define SECONTEXT_OPT ""
|
|
+#endif
|
|
|
|
printf("\
|
|
Usage: strace [-ACdffhi" K_OPT "qqrtttTvVwxxyyzZ] [-I N] [-b execve] [-e EXPR]...\n\
|
|
[-a COLUMN] [-o FILE] [-s STRSIZE] [-X FORMAT] [-O OVERHEAD]\n\
|
|
- [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n\
|
|
+ [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n"\
|
|
+ SECONTEXT_OPT "\
|
|
{ -p PID | [-DDD] [-E VAR=VAL]... [-u USERNAME] PROG [ARGS] }\n\
|
|
or: strace -c[dfwzZ] [-I N] [-b execve] [-e EXPR]... [-O OVERHEAD]\n\
|
|
[-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n\
|
|
@@ -401,6 +411,14 @@
|
|
-yy, --decode-fds=all\n\
|
|
print all available information associated with file\n\
|
|
descriptors in addition to paths\n\
|
|
+"
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+"\
|
|
+ --secontext[=full]\n\
|
|
+ print SELinux contexts (type only unless 'full' is specified)\n\
|
|
+"
|
|
+#endif
|
|
+"\
|
|
\n\
|
|
Statistics:\n\
|
|
-c, --summary-only\n\
|
|
@@ -774,6 +792,14 @@
|
|
else if (nprocs > 1 && !outfname)
|
|
tprintf("[pid %5u] ", tcp->pid);
|
|
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ char *context;
|
|
+ if (!selinux_getpidcon(tcp, &context)) {
|
|
+ tprintf("[%s] ", context);
|
|
+ free(context);
|
|
+ }
|
|
+#endif
|
|
+
|
|
if (tflag_format) {
|
|
struct timespec ts;
|
|
clock_gettime(CLOCK_REALTIME, &ts);
|
|
@@ -885,6 +911,9 @@
|
|
#if SUPPORTED_PERSONALITIES > 1
|
|
tcp->currpers = current_personality;
|
|
#endif
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ tcp->last_dirfd = AT_FDCWD;
|
|
+#endif
|
|
nprocs++;
|
|
debug_msg("new tcb for pid %d, active tcbs:%d",
|
|
tcp->pid, nprocs);
|
|
@@ -2027,6 +2056,9 @@
|
|
GETOPT_OUTPUT_SEPARATELY,
|
|
GETOPT_TS,
|
|
GETOPT_PIDNS_TRANSLATION,
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ GETOPT_SECONTEXT,
|
|
+#endif
|
|
|
|
GETOPT_QUAL_TRACE,
|
|
GETOPT_QUAL_ABBREV,
|
|
@@ -2082,6 +2114,9 @@
|
|
{ "failed-only", no_argument, 0, 'Z' },
|
|
{ "failing-only", no_argument, 0, 'Z' },
|
|
{ "seccomp-bpf", no_argument, 0, GETOPT_SECCOMP },
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ { "secontext", optional_argument, 0, GETOPT_SECONTEXT },
|
|
+#endif
|
|
|
|
{ "trace", required_argument, 0, GETOPT_QUAL_TRACE },
|
|
{ "abbrev", required_argument, 0, GETOPT_QUAL_ABBREV },
|
|
@@ -2307,6 +2342,17 @@
|
|
case GETOPT_SECCOMP:
|
|
seccomp_filtering = true;
|
|
break;
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ case GETOPT_SECONTEXT:
|
|
+ selinux_context = true;
|
|
+ if (optarg) {
|
|
+ if (!strcmp(optarg, "full"))
|
|
+ selinux_context_full = true;
|
|
+ else
|
|
+ error_opt_arg(c, lopt, optarg);
|
|
+ }
|
|
+ break;
|
|
+#endif
|
|
case GETOPT_QUAL_TRACE:
|
|
qualify_trace(optarg);
|
|
break;
|
|
@@ -2486,6 +2532,11 @@
|
|
if (!number_set_array_is_empty(decode_fd_set, 0))
|
|
error_msg("-y/--decode-fds has no effect "
|
|
"with -c/--summary-only");
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ if (selinux_context)
|
|
+ error_msg("--secontext has no effect with "
|
|
+ "-c/--summary-only");
|
|
+#endif
|
|
}
|
|
|
|
if (!outfname) {
|
|
Index: strace-5.7/strace.spec.in
|
|
===================================================================
|
|
--- strace-5.7.orig/strace.spec.in 2021-08-24 21:08:35.380312680 +0200
|
|
+++ strace-5.7/strace.spec.in 2021-08-24 21:08:43.255246027 +0200
|
|
@@ -29,11 +29,14 @@
|
|
# Install binutils-devel to enable symbol demangling.
|
|
%if 0%{?fedora} >= 20 || 0%{?centos} >= 6 || 0%{?rhel} >= 6
|
|
%define buildrequires_stacktrace BuildRequires: elfutils-devel binutils-devel
|
|
+%define buildrequires_selinux BuildRequires: libselinux-devel
|
|
%endif
|
|
%if 0%{?suse_version} >= 1100
|
|
%define buildrequires_stacktrace BuildRequires: libdw-devel binutils-devel
|
|
+%define buildrequires_selinux BuildRequires: libselinux-devel
|
|
%endif
|
|
%{?buildrequires_stacktrace}
|
|
+%{?buildrequires_selinux}
|
|
|
|
# OBS compatibility
|
|
%{?!buildroot:BuildRoot: %_tmppath/buildroot-%name-%version-%release}
|
|
Index: strace-5.7/syscall.c
|
|
===================================================================
|
|
--- strace-5.7.orig/syscall.c 2021-08-24 21:08:35.381312671 +0200
|
|
+++ strace-5.7/syscall.c 2021-08-24 21:08:43.256246018 +0200
|
|
@@ -23,6 +23,7 @@
|
|
#include "delay.h"
|
|
#include "retval.h"
|
|
#include <limits.h>
|
|
+#include <fcntl.h>
|
|
|
|
/* for struct iovec */
|
|
#include <sys/uio.h>
|
|
@@ -982,6 +983,10 @@
|
|
tcp->sys_func_rval = 0;
|
|
free_tcb_priv_data(tcp);
|
|
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ tcp->last_dirfd = AT_FDCWD;
|
|
+#endif
|
|
+
|
|
if (cflag)
|
|
tcp->ltime = tcp->stime;
|
|
}
|
|
Index: strace-5.7/tests/Makefile.am
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/Makefile.am 2021-08-24 21:08:35.381312671 +0200
|
|
+++ strace-5.7/tests/Makefile.am 2021-08-24 21:08:43.257246010 +0200
|
|
@@ -28,6 +28,12 @@
|
|
-DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
|
|
AM_LDFLAGS = $(ARCH_MFLAGS)
|
|
|
|
+if HAVE_SELINUX_RUNTIME
|
|
+libselinux_LDADD = $(libselinux_LIBS)
|
|
+else
|
|
+libselinux_LDADD =
|
|
+endif
|
|
+
|
|
libtests_a_SOURCES = \
|
|
create_nl_socket.c \
|
|
create_tmpfile.c \
|
|
@@ -54,6 +60,8 @@
|
|
printxval-Xabbrev.c \
|
|
printxval-Xraw.c \
|
|
printxval-Xverbose.c \
|
|
+ secontext.c \
|
|
+ secontext.h \
|
|
signal2name.c \
|
|
skip_unavailable.c \
|
|
sprintrc.c \
|
|
@@ -76,7 +84,10 @@
|
|
|
|
include pure_executables.am
|
|
|
|
+include secontext.am
|
|
+
|
|
check_PROGRAMS = $(PURE_EXECUTABLES) \
|
|
+ $(secontext_EXECUTABLES) \
|
|
_newselect-P \
|
|
answer \
|
|
attach-f-p \
|
|
Index: strace-5.7/tests/access.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/access.c 2021-08-24 21:08:35.381312671 +0200
|
|
+++ strace-5.7/tests/access.c 2021-08-24 21:08:43.257246010 +0200
|
|
@@ -10,9 +10,12 @@
|
|
|
|
#ifdef __NR_access
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -22,15 +25,27 @@
|
|
*/
|
|
create_and_enter_subdir("access_subdir");
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
static const char sample[] = "access_sample";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_CREAT|O_RDONLY, 0400) == -1)
|
|
+ perror_msg_and_fail("open: %s", sample);
|
|
|
|
long rc = syscall(__NR_access, sample, F_OK);
|
|
- printf("access(\"%s\", F_OK) = %ld %s (%m)\n",
|
|
- sample, rc, errno2name());
|
|
+ printf("%s%s(\"%s\"%s, F_OK) = %s\n",
|
|
+ my_secontext, "access",
|
|
+ sample, SECONTEXT_FILE(sample),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink: %s", sample);
|
|
|
|
rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK);
|
|
- printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
|
|
- sample, rc, errno2name());
|
|
+ printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n",
|
|
+ my_secontext, "access",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests/chmod.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/chmod.c 2021-08-24 21:08:35.382312663 +0200
|
|
+++ strace-5.7/tests/chmod.c 2021-08-24 21:08:43.257246010 +0200
|
|
@@ -16,6 +16,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -25,22 +27,33 @@
|
|
*/
|
|
create_and_enter_subdir("chmod_subdir");
|
|
|
|
- static const char fname[] = "chmod_test_file";
|
|
-
|
|
- if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
|
|
- perror_msg_and_fail("open");
|
|
-
|
|
- long rc = syscall(__NR_chmod, fname, 0600);
|
|
- printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc));
|
|
-
|
|
- if (unlink(fname))
|
|
- perror_msg_and_fail("unlink");
|
|
-
|
|
- rc = syscall(__NR_chmod, fname, 051);
|
|
- printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
- rc = syscall(__NR_chmod, fname, 004);
|
|
- printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
|
|
+ static const char sample[] = "chmod_test_file";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_CREAT|O_RDONLY, 0400) < 0)
|
|
+ perror_msg_and_fail("open: %s", sample);
|
|
+
|
|
+ long rc = syscall(__NR_chmod, sample, 0600);
|
|
+ printf("%s%s(\"%s\"%s, 0600) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample, SECONTEXT_FILE(sample),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink: %s", sample);
|
|
+
|
|
+ rc = syscall(__NR_chmod, sample, 051);
|
|
+ printf("%s%s(\"%s\", 051) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_chmod, sample, 004);
|
|
+ printf("%s%s(\"%s\", 004) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests/execve.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/execve.c 2021-08-24 21:08:35.382312663 +0200
|
|
+++ strace-5.7/tests/execve.c 2021-08-24 21:08:43.258246001 +0200
|
|
@@ -9,9 +9,12 @@
|
|
*/
|
|
|
|
#include "tests.h"
|
|
+#include <fcntl.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
+#include "secontext.h"
|
|
+
|
|
static const char *errstr;
|
|
|
|
static int
|
|
@@ -52,9 +55,16 @@
|
|
|
|
char ** const tail_argv = tail_memdup(argv, sizeof(argv));
|
|
char ** const tail_envp = tail_memdup(envp, sizeof(envp));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ (void) unlink(FILENAME);
|
|
+ if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ char *FILENAME_secontext = SECONTEXT_FILE(FILENAME);
|
|
|
|
call_execve(FILENAME, tail_argv, tail_envp);
|
|
- printf("execve(\"%s\""
|
|
+ printf("%s%s(\"%s\"%s"
|
|
", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
#if VERBOSE
|
|
", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
@@ -62,7 +72,9 @@
|
|
", %p /* 5 vars, unterminated */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[0], q_argv[1], q_argv[2],
|
|
argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
|
|
#if VERBOSE
|
|
, q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
|
|
@@ -77,14 +89,16 @@
|
|
(void) q_envp; /* workaround for clang bug #33068 */
|
|
|
|
call_execve(FILENAME, tail_argv, tail_envp);
|
|
- printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]"
|
|
#if VERBOSE
|
|
", [\"%s\", \"%s\"]"
|
|
#else
|
|
", %p /* 2 vars */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[0], q_argv[1], q_argv[2]
|
|
#if VERBOSE
|
|
, q_envp[0], q_envp[1]
|
|
#else
|
|
@@ -93,14 +107,16 @@
|
|
, errstr);
|
|
|
|
call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
|
|
- printf("execve(\"%s\", [\"%s\"]"
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\"]"
|
|
#if VERBOSE
|
|
", [\"%s\"]"
|
|
#else
|
|
", %p /* 1 var */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[2]
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[2]
|
|
#if VERBOSE
|
|
, q_envp[1]
|
|
#else
|
|
@@ -113,13 +129,15 @@
|
|
*empty = NULL;
|
|
|
|
call_execve(FILENAME, empty, empty);
|
|
- printf("execve(\"%s\", []"
|
|
+ printf("%s%s(\"%s\"%s, []"
|
|
#if VERBOSE
|
|
", []"
|
|
#else
|
|
", %p /* 0 vars */"
|
|
#endif
|
|
- ") = %s\n", Q_FILENAME
|
|
+ ") = %s\n",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext
|
|
#if !VERBOSE
|
|
, empty
|
|
#endif
|
|
@@ -143,7 +161,10 @@
|
|
a[i] = b[i] = NULL;
|
|
|
|
call_execve(FILENAME, a, b);
|
|
- printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
+ printf("%s%s(\"%s\"%s, [\"%.*s\"...",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ DEFAULT_STRLEN, a[0]);
|
|
for (i = 1; i < DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
#if VERBOSE
|
|
@@ -162,7 +183,10 @@
|
|
printf(") = %s\n", errstr);
|
|
|
|
call_execve(FILENAME, a + 1, b + 1);
|
|
- printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\"",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ a[1]);
|
|
for (i = 2; i <= DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
#if VERBOSE
|
|
@@ -175,12 +199,17 @@
|
|
#endif
|
|
printf(") = %s\n", errstr);
|
|
|
|
+ if (unlink(FILENAME))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
|
|
- printf("execve(\"%s\", NULL, %p) = %s\n",
|
|
+ printf("%s%s(\"%s\", NULL, %p) = %s\n",
|
|
+ my_secontext, "execve",
|
|
Q_FILENAME, efault, errstr);
|
|
|
|
call_execve(FILENAME, efault, NULL);
|
|
- printf("execve(\"%s\", %p, NULL) = %s\n",
|
|
+ printf("%s%s(\"%s\", %p, NULL) = %s\n",
|
|
+ my_secontext, "execve",
|
|
Q_FILENAME, efault, errstr);
|
|
|
|
leave_and_remove_subdir();
|
|
Index: strace-5.7/tests/execve.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/execve.test 2021-08-24 21:08:35.382312663 +0200
|
|
+++ strace-5.7/tests/execve.test 2021-08-24 21:08:43.258246001 +0200
|
|
@@ -11,7 +11,7 @@
|
|
|
|
check_prog grep
|
|
run_prog > /dev/null
|
|
-run_strace -eexecve $args > "$EXP"
|
|
+run_strace -eexecve "$@" $args > "$EXP"
|
|
|
|
# Filter out execve() call made by strace.
|
|
grep -F test.execve < "$LOG" > "$OUT"
|
|
Index: strace-5.7/tests/execveat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/execveat.c 2021-08-24 21:08:35.383312654 +0200
|
|
+++ strace-5.7/tests/execveat.c 2021-08-24 21:08:43.259245993 +0200
|
|
@@ -13,9 +13,102 @@
|
|
|
|
#ifdef __NR_execveat
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
+static void
|
|
+tests_with_existing_file(void)
|
|
+{
|
|
+ /*
|
|
+ * Make sure the current workdir of the tracee
|
|
+ * is different from the current workdir of the tracer.
|
|
+ */
|
|
+ create_and_enter_subdir("execveat_subdir");
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ static const char sample[] = "execveat_sample";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+ static const char *argv[] = { sample, NULL };
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ sample, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ sample,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ leave_and_remove_subdir();
|
|
+}
|
|
+
|
|
# define FILENAME "test.execveat\nfilename"
|
|
# define Q_FILENAME "test.execveat\\nfilename"
|
|
|
|
@@ -40,9 +133,10 @@
|
|
{
|
|
const char ** const tail_argv = tail_memdup(argv, sizeof(argv));
|
|
const char ** const tail_envp = tail_memdup(envp, sizeof(envp));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\""
|
|
+ printf("%s%s(AT_FDCWD, \"%s\""
|
|
", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
# if VERBOSE
|
|
", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
@@ -50,6 +144,7 @@
|
|
", %p /* 5 vars, unterminated */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv),
|
|
# if VERBOSE
|
|
@@ -65,13 +160,14 @@
|
|
(void) q_envp; /* workaround for clang bug #33068 */
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
# if VERBOSE
|
|
", [\"%s\", \"%s\"]"
|
|
# else
|
|
", %p /* 2 vars */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
# if VERBOSE
|
|
q_envp[0], q_envp[1],
|
|
@@ -81,13 +177,14 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]"
|
|
# if VERBOSE
|
|
", [\"%s\"]"
|
|
# else
|
|
", %p /* 1 var */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[2],
|
|
# if VERBOSE
|
|
q_envp[1],
|
|
@@ -101,13 +198,14 @@
|
|
*empty = NULL;
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", []"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", []"
|
|
# if VERBOSE
|
|
", []"
|
|
# else
|
|
", %p /* 0 vars */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME,
|
|
# if !VERBOSE
|
|
empty,
|
|
@@ -132,7 +230,9 @@
|
|
a[i] = b[i] = NULL;
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...",
|
|
+ my_secontext, "execveat",
|
|
+ Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
for (i = 1; i < DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
# if VERBOSE
|
|
@@ -152,7 +252,9 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"",
|
|
+ my_secontext, "execveat",
|
|
+ Q_FILENAME, a[1]);
|
|
for (i = 2; i <= DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
# if VERBOSE
|
|
@@ -167,15 +269,19 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", NULL, %p"
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, efault, errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", %p, NULL"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", %p, NULL"
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, efault, errno2name());
|
|
|
|
+ tests_with_existing_file();
|
|
+
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/tests/faccessat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/faccessat.c 2021-08-24 21:08:35.383312654 +0200
|
|
+++ strace-5.7/tests/faccessat.c 2021-08-24 21:08:43.260245984 +0200
|
|
@@ -12,12 +12,16 @@
|
|
|
|
#ifdef __NR_faccessat
|
|
|
|
-# include "xmalloc.h"
|
|
# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
-# ifndef FD_PATH
|
|
+# include "secontext.h"
|
|
+# include "xmalloc.h"
|
|
+
|
|
+# ifdef FD_PATH
|
|
+# define YFLAG
|
|
+# else
|
|
# define FD_PATH ""
|
|
# endif
|
|
# ifndef SKIP_IF_PROC_IS_UNAVAILABLE
|
|
@@ -43,11 +47,130 @@
|
|
return rc;
|
|
}
|
|
|
|
+# ifndef PATH_TRACING
|
|
+static void
|
|
+tests_with_existing_file(void)
|
|
+{
|
|
+ /*
|
|
+ * Make sure the current workdir of the tracee
|
|
+ * is different from the current workdir of the tracer.
|
|
+ */
|
|
+ create_and_enter_subdir("faccessat_subdir");
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ k_faccessat(-1, NULL, F_OK);
|
|
+ printf("%s%s(-1, NULL, F_OK) = %s\n",
|
|
+ my_secontext, "faccessat", errstr);
|
|
+
|
|
+ static const char sample[] = "faccessat_sample";
|
|
+ (void) unlink(sample);
|
|
+ int fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ k_faccessat(-100, sample, F_OK);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n",
|
|
+ my_secontext, "faccessat",
|
|
+ sample, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ k_faccessat(-100, sample, F_OK);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n",
|
|
+ my_secontext, "faccessat",
|
|
+ sample,
|
|
+ errstr);
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ k_faccessat(cwd_fd, sample, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\", F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample,
|
|
+ errstr);
|
|
+
|
|
+ fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ k_faccessat(cwd_fd, sample, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ k_faccessat(cwd_fd, sample_realpath, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ leave_and_remove_subdir();
|
|
+}
|
|
+# endif
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
SKIP_IF_PROC_IS_UNAVAILABLE;
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
+
|
|
TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
|
|
char *unterminated_str = xasprintf("%p", unterminated);
|
|
const void *const efault = unterminated + 1;
|
|
@@ -120,10 +243,10 @@
|
|
k_faccessat(dirfds[dirfd_i].val,
|
|
paths[path_i].val,
|
|
modes[mode_i].val);
|
|
-# ifdef PATH_TRACING
|
|
+# ifdef PATH_TRACING
|
|
if (dirfds[dirfd_i].val == fd ||
|
|
paths[path_i].val == fd_path)
|
|
-# endif
|
|
+# endif
|
|
printf("faccessat(%s, %s, %s) = %s\n",
|
|
dirfds[dirfd_i].str,
|
|
paths[path_i].str,
|
|
@@ -133,6 +256,12 @@
|
|
}
|
|
}
|
|
|
|
+# endif /* !TEST_SECONTEXT */
|
|
+
|
|
+# ifndef PATH_TRACING
|
|
+ tests_with_existing_file();
|
|
+# endif
|
|
+
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/tests/faccessat.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/faccessat.test 2021-08-24 21:08:35.383312654 +0200
|
|
+++ strace-5.7/tests/faccessat.test 2021-08-24 21:08:43.260245984 +0200
|
|
@@ -15,5 +15,5 @@
|
|
run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
|
|
|
|
# Filter out faccessat() calls made by ld.so and libc.
|
|
-sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
|
|
+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
|
|
match_diff "$OUT" "$EXP"
|
|
Index: strace-5.7/tests/fanotify_mark.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/fanotify_mark.c 2021-08-24 21:07:01.122112055 +0200
|
|
+++ strace-5.7/tests/fanotify_mark.c 2021-08-24 21:08:43.261245976 +0200
|
|
@@ -3,7 +3,7 @@
|
|
*
|
|
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
|
|
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
|
|
- * Copyright (c) 2015-2020 The strace developers.
|
|
+ * Copyright (c) 2015-2021 The strace developers.
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
@@ -21,6 +21,8 @@
|
|
# include <unistd.h>
|
|
# include <sys/fanotify.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
# if XLAT_RAW
|
|
# define str_fan_mark_add "0x1"
|
|
# define str_fan_modify_ondir "0x40000002"
|
|
@@ -35,6 +37,7 @@
|
|
# define str_at_fdcwd "AT_FDCWD"
|
|
# endif
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
/* Performs fanotify_mark call via the syscall interface. */
|
|
static void
|
|
do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
|
|
@@ -44,18 +47,18 @@
|
|
long rc;
|
|
|
|
rc = syscall(__NR_fanotify_mark, fd, flags,
|
|
-# if (LONG_MAX > INT_MAX) \
|
|
- || (defined __x86_64__ && defined __ILP32__) \
|
|
- || defined LINUX_MIPSN32
|
|
+# if (LONG_MAX > INT_MAX) \
|
|
+ || (defined __x86_64__ && defined __ILP32__) \
|
|
+ || defined LINUX_MIPSN32
|
|
mask,
|
|
-# else
|
|
+# else
|
|
/* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
|
|
-# ifdef HPPA
|
|
+# ifdef HPPA
|
|
LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
|
|
-# else
|
|
+# else
|
|
LL_VAL_TO_PAIR(mask),
|
|
+# endif
|
|
# endif
|
|
-# endif
|
|
dirfd, path);
|
|
|
|
printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
|
|
@@ -68,12 +71,14 @@
|
|
const char *str;
|
|
};
|
|
|
|
-# define STR16 "0123456789abcdef"
|
|
-# define STR64 STR16 STR16 STR16 STR16
|
|
+# define STR16 "0123456789abcdef"
|
|
+# define STR64 STR16 STR16 STR16 STR16
|
|
+# endif /* !TEST_SECONTEXT */
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
+# ifndef TEST_SECONTEXT
|
|
enum {
|
|
PATH1_SIZE = 64,
|
|
};
|
|
@@ -87,47 +92,47 @@
|
|
{ F8ILL_KULONG_MASK, "0" },
|
|
{ (kernel_ulong_t) 0xdec0deddefacec00ULL,
|
|
"0xefacec00"
|
|
-# if !XLAT_RAW
|
|
+# if !XLAT_RAW
|
|
" /* FAN_MARK_??? */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xda7a105700000040ULL,
|
|
-# if XLAT_RAW
|
|
+# if XLAT_RAW
|
|
"0x40"
|
|
-# elif XLAT_VERBOSE
|
|
+# elif XLAT_VERBOSE
|
|
"0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */"
|
|
-# else
|
|
+# else
|
|
"FAN_MARK_IGNORED_SURV_MODIFY"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xbadc0deddeadffffULL,
|
|
-# if XLAT_RAW || XLAT_VERBOSE
|
|
+# if XLAT_RAW || XLAT_VERBOSE
|
|
"0xdeadffff"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" /* "
|
|
-# endif
|
|
-# if !XLAT_RAW
|
|
+# endif
|
|
+# if !XLAT_RAW
|
|
"FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|"
|
|
"FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|"
|
|
"FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|"
|
|
"FAN_MARK_FILESYSTEM|0xdeadfe00"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
};
|
|
static const struct strval64 masks[] = {
|
|
{ ARG_ULL_STR(0) },
|
|
{ 0xdeadfeedffffffffULL,
|
|
-# if XLAT_RAW || XLAT_VERBOSE
|
|
+# if XLAT_RAW || XLAT_VERBOSE
|
|
"0xdeadfeedffffffff"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" /* "
|
|
-# endif
|
|
-# if !XLAT_RAW
|
|
+# endif
|
|
+# if !XLAT_RAW
|
|
"FAN_ACCESS|"
|
|
"FAN_MODIFY|"
|
|
"FAN_ATTRIB|"
|
|
@@ -149,27 +154,27 @@
|
|
"FAN_ONDIR|"
|
|
"FAN_EVENT_ON_CHILD|"
|
|
"0xdeadfeedb7f0a000"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ ARG_ULL_STR(0xffffffffb7f0a000)
|
|
-# if !XLAT_RAW
|
|
+# if !XLAT_RAW
|
|
" /* FAN_??? */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
};
|
|
static const struct strval dirfds[] = {
|
|
{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
|
|
{ (kernel_ulong_t) 0xdec0ded0ffffffffULL,
|
|
-# if XLAT_RAW
|
|
+# if XLAT_RAW
|
|
"-1"
|
|
-# elif XLAT_VERBOSE
|
|
+# elif XLAT_VERBOSE
|
|
"-1 /* FAN_NOFD */"
|
|
-# else
|
|
+# else
|
|
"FAN_NOFD"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd },
|
|
{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
|
|
@@ -202,12 +207,6 @@
|
|
snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
|
|
bogus_path1 + PATH1_SIZE);
|
|
|
|
- rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
- -100, ".");
|
|
- printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n",
|
|
- str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
|
|
- sprintrc(rc));
|
|
-
|
|
for (i = 0; i < ARRAY_SIZE(fds); i++) {
|
|
for (j = 0; j < ARRAY_SIZE(flags); j++) {
|
|
for (k = 0; k < ARRAY_SIZE(masks); k++) {
|
|
@@ -226,6 +225,40 @@
|
|
}
|
|
}
|
|
}
|
|
+# else /* TEST_SECONTEXT */
|
|
+ int rc;
|
|
+# endif
|
|
+ /*
|
|
+ * Test with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+ char path[] = ".";
|
|
+ char *path_secontext = SECONTEXT_FILE(path);
|
|
+
|
|
+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
+ -100, path);
|
|
+ printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n",
|
|
+ my_secontext, "fanotify_mark",
|
|
+ str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
|
|
+ path, path_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /*
|
|
+ * Test with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
+ cwd_fd, path);
|
|
+ printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n",
|
|
+ my_secontext, "fanotify_mark",
|
|
+ str_fan_mark_add, str_fan_modify_ondir,
|
|
+ cwd_fd, cwd_secontext,
|
|
+ path, path_secontext,
|
|
+ sprintrc(rc));
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
Index: strace-5.7/tests/fchmod.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/fchmod.c 2021-08-24 21:08:35.384312646 +0200
|
|
+++ strace-5.7/tests/fchmod.c 2021-08-24 21:08:43.261245976 +0200
|
|
@@ -18,6 +18,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -27,6 +29,8 @@
|
|
*/
|
|
create_and_enter_subdir("fchmod_subdir");
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
static const char sample[] = "fchmod_sample_file";
|
|
(void) unlink(sample);
|
|
int fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
@@ -37,16 +41,19 @@
|
|
char *sample_realpath = get_fd_path(fd);
|
|
# endif
|
|
|
|
+ const char *sample_secontext = SECONTEXT_FILE(sample);
|
|
long rc = syscall(__NR_fchmod, fd, 0600);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s>, 0600) = %s\n",
|
|
+ printf("%s%s(%d<%s>%s, 0600) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 0600) = %s\n",
|
|
+ printf("%s%s(%d%s, 0600) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
@@ -54,26 +61,30 @@
|
|
|
|
rc = syscall(__NR_fchmod, fd, 051);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
|
|
+ printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 051) = %s\n",
|
|
+ printf("%s%s(%d%s, 051) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
rc = syscall(__NR_fchmod, fd, 004);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
|
|
+ printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 004) = %s\n",
|
|
+ printf("%s%s(%d%s, 004) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
Index: strace-5.7/tests/fchmodat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/fchmodat.c 2021-08-24 21:08:35.384312646 +0200
|
|
+++ strace-5.7/tests/fchmodat.c 2021-08-24 21:08:43.261245976 +0200
|
|
@@ -17,6 +17,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -26,26 +28,81 @@
|
|
*/
|
|
create_and_enter_subdir("fchmodat_subdir");
|
|
|
|
- static const char sample[] = "fchmodat_sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
+ static const char sample[] = "fchmodat_sample_file";
|
|
if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
perror_msg_and_fail("open");
|
|
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
long rc = syscall(__NR_fchmodat, -100, sample, 0600);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n",
|
|
- sample, sprintrc(rc));
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
perror_msg_and_fail("unlink");
|
|
|
|
rc = syscall(__NR_fchmodat, -100, sample, 051);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
sample, sprintrc(rc));
|
|
|
|
rc = syscall(__NR_fchmodat, -100, sample, 004);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
sample, sprintrc(rc));
|
|
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\", 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests/fchownat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/fchownat.c 2021-08-24 21:08:35.384312646 +0200
|
|
+++ strace-5.7/tests/fchownat.c 2021-08-24 21:08:43.262245968 +0200
|
|
@@ -17,6 +17,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -26,25 +28,86 @@
|
|
*/
|
|
create_and_enter_subdir("fchownat_subdir");
|
|
|
|
- static const char sample[] = "fchownat_sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
uid_t uid = geteuid();
|
|
uid_t gid = getegid();
|
|
|
|
- if (open(sample, O_RDONLY | O_CREAT, 0400) == -1)
|
|
+ static const char sample[] = "fchownat_sample";
|
|
+ int fd = open(sample, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
|
|
long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0);
|
|
- printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n",
|
|
- sample, uid, gid, sprintrc(rc));
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ sample, sample_secontext,
|
|
+ uid, gid, sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
perror_msg_and_fail("unlink");
|
|
|
|
rc = syscall(__NR_fchownat, AT_FDCWD,
|
|
sample, -1, -1L, AT_SYMLINK_NOFOLLOW);
|
|
- printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
sample, sprintrc(rc));
|
|
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ fd = open(sample, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests/file_handle.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/file_handle.c 2021-08-24 21:08:35.385312637 +0200
|
|
+++ strace-5.7/tests/file_handle.c 2021-08-24 21:08:43.263245959 +0200
|
|
@@ -21,6 +21,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
enum assert_rc {
|
|
ASSERT_NONE,
|
|
ASSERT_SUCCESS,
|
|
@@ -48,6 +50,7 @@
|
|
printf("...");
|
|
}
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
void
|
|
do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
|
|
kernel_ulong_t pathname, const char *pathname_str,
|
|
@@ -129,6 +132,7 @@
|
|
|
|
printf("%s\n", sprintrc(rc));
|
|
}
|
|
+# endif /* !TEST_SECONTEXT */
|
|
|
|
struct strval {
|
|
kernel_ulong_t val;
|
|
@@ -141,12 +145,86 @@
|
|
int
|
|
main(void)
|
|
{
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
enum {
|
|
PATH1_SIZE = 64,
|
|
};
|
|
|
|
static const kernel_ulong_t fdcwd =
|
|
(kernel_ulong_t) 0x87654321ffffff9cULL;
|
|
+
|
|
+ struct file_handle *handle =
|
|
+ tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
|
|
+ struct file_handle *handle_0 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 0);
|
|
+ struct file_handle *handle_8 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 8);
|
|
+ struct file_handle *handle_128 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 128);
|
|
+ struct file_handle *handle_256 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 256);
|
|
+ TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
|
|
+
|
|
+ char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
+
|
|
+ const int flags = 0x400;
|
|
+ int mount_id;
|
|
+
|
|
+ handle_0->handle_bytes = 256;
|
|
+ handle_8->handle_bytes = 0;
|
|
+ handle_128->handle_bytes = 128;
|
|
+ handle_256->handle_bytes = 256;
|
|
+
|
|
+ fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
|
|
+ fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
|
|
+
|
|
+ snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
|
|
+ handle_0 + sizeof(struct file_handle));
|
|
+
|
|
+ handle->handle_bytes = 0;
|
|
+
|
|
+ char path[] = ".";
|
|
+ char *path_secontext = SECONTEXT_FILE(path);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags | 1) == -1);
|
|
+ if (EINVAL != errno)
|
|
+ perror_msg_and_skip("name_to_handle_at");
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p"
|
|
+ ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ &mount_id);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags) == -1);
|
|
+ if (EOVERFLOW != errno)
|
|
+ perror_msg_and_skip("name_to_handle_at");
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}"
|
|
+ ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, &mount_id);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u"
|
|
+ ", handle_type=%d, f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
+ int rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
|
|
+
|
|
+# ifndef TEST_SECONTEXT
|
|
static const struct strval dirfds[] = {
|
|
{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
|
|
{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
|
|
@@ -171,29 +249,11 @@
|
|
};
|
|
|
|
static const char str64[] = STR64;
|
|
-
|
|
-
|
|
char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
|
|
char *bogus_path2 = tail_memdup(str64, sizeof(str64));
|
|
-
|
|
- struct file_handle *handle =
|
|
- tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
|
|
- struct file_handle *handle_0 =
|
|
- tail_alloc(sizeof(struct file_handle) + 0);
|
|
- struct file_handle *handle_8 =
|
|
- tail_alloc(sizeof(struct file_handle) + 8);
|
|
- struct file_handle *handle_128 =
|
|
- tail_alloc(sizeof(struct file_handle) + 128);
|
|
- struct file_handle *handle_256 =
|
|
- tail_alloc(sizeof(struct file_handle) + 256);
|
|
- TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
|
|
-
|
|
- char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
-
|
|
char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
|
|
-
|
|
struct strval paths[] = {
|
|
{ (kernel_ulong_t) 0, "NULL" },
|
|
{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
|
|
@@ -229,62 +289,16 @@
|
|
(kernel_ulong_t) (uintptr_t) bogus_mount_id,
|
|
};
|
|
|
|
- const int flags = 0x400;
|
|
- int mount_id;
|
|
unsigned int i;
|
|
unsigned int j;
|
|
unsigned int k;
|
|
unsigned int l;
|
|
unsigned int m;
|
|
|
|
-
|
|
snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
|
|
snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
|
|
bogus_path1 + PATH1_SIZE);
|
|
|
|
- handle_0->handle_bytes = 256;
|
|
- handle_8->handle_bytes = 0;
|
|
- handle_128->handle_bytes = 128;
|
|
- handle_256->handle_bytes = 256;
|
|
-
|
|
- fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
|
|
- fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
|
|
-
|
|
- snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
|
|
- handle_0 + sizeof(struct file_handle));
|
|
-
|
|
- handle->handle_bytes = 0;
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags | 1) == -1);
|
|
- if (EINVAL != errno)
|
|
- perror_msg_and_skip("name_to_handle_at");
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
|
|
- ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags) == -1);
|
|
- if (EOVERFLOW != errno)
|
|
- perror_msg_and_skip("name_to_handle_at");
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
|
|
- ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
|
|
- handle->handle_bytes, &mount_id);
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags) == 0);
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
|
|
- ", handle_type=%d, f_handle=",
|
|
- handle->handle_bytes, handle->handle_type);
|
|
- print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
- printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
-
|
|
- printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
|
|
- ", f_handle=", handle->handle_bytes, handle->handle_type);
|
|
- print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
- int rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
- O_RDONLY | O_DIRECTORY);
|
|
- printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
|
|
-
|
|
for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
|
|
for (j = 0; j < ARRAY_SIZE(paths); j++) {
|
|
for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
|
|
@@ -320,6 +334,68 @@
|
|
}
|
|
}
|
|
}
|
|
+# endif
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d"
|
|
+ ", f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir(".."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u"
|
|
+ ", handle_type=%d, f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ cwd, cwd_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
Index: strace-5.7/tests/gen_secontext.sh
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/gen_secontext.sh 2021-08-24 21:08:43.263245959 +0200
|
|
@@ -0,0 +1,72 @@
|
|
+#!/bin/sh -efu
|
|
+#
|
|
+# Copyright (c) 2021 The strace developers.
|
|
+# All rights reserved.
|
|
+#
|
|
+# SPDX-License-Identifier: GPL-2.0-or-later
|
|
+
|
|
+usage()
|
|
+{
|
|
+ cat >&2 <<EOF
|
|
+Usage: $0 [<input>]
|
|
+
|
|
+Generate secontext files from <input> list.
|
|
+EOF
|
|
+ exit 1
|
|
+}
|
|
+
|
|
+if [ $# -eq 0 ]; then
|
|
+ input="${0%/*}/gen_tests.in"
|
|
+else
|
|
+ input="$1"
|
|
+ shift
|
|
+fi
|
|
+dir="$(dirname "$input")"
|
|
+[ $# -eq 0 ] || usage
|
|
+
|
|
+{
|
|
+ cat <<EOF
|
|
+# Generated by $0 from $input; do not edit.
|
|
+
|
|
+secontext_EXECUTABLES = \\
|
|
+EOF
|
|
+ sed -r -n 's/^([^#[:space:]]+--secontext(_full)?)[[:space:]].*/ \1 \\/p' < "$input"
|
|
+ cat <<EOF
|
|
+ #
|
|
+
|
|
+EOF
|
|
+ sed -r -n 's/-/_/g; s/^([^#[:space:]]+__secontext(_full)?)[[:space:]].*/\1_LDADD = \$(LDADD) \$(libselinux_LDADD)/p' < "$input"
|
|
+} > "$dir/secontext.am"
|
|
+
|
|
+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" |
|
|
+while read -r name; do {
|
|
+ cat <<-EOF > "$dir/$name.c"
|
|
+ /*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+ #include "tests.h"
|
|
+
|
|
+ #ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+ # define TEST_SECONTEXT
|
|
+ # include "${name%--secontext}.c"
|
|
+
|
|
+ #else
|
|
+
|
|
+ SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+ #endif
|
|
+ EOF
|
|
+} < /dev/null; done
|
|
+
|
|
+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" |
|
|
+while read -r name; do {
|
|
+ cat <<-EOF > "$dir/$name.c"
|
|
+ #define PRINT_SECONTEXT_FULL
|
|
+ #include "${name%_full}.c"
|
|
+ EOF
|
|
+} < /dev/null; done
|
|
Index: strace-5.7/tests/gen_tests.in
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/gen_tests.in 2021-08-24 21:08:35.385312637 +0200
|
|
+++ strace-5.7/tests/gen_tests.in 2021-08-24 21:08:43.263245959 +0200
|
|
@@ -10,6 +10,8 @@
|
|
accept -a22
|
|
accept4 -a37
|
|
access -a30 --trace-path=access_sample
|
|
+access--secontext -a30 --secontext --trace-path=access_sample -e trace=access
|
|
+access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access
|
|
acct -a20
|
|
add_key -a30 -s12
|
|
adjtimex -a15
|
|
@@ -24,6 +26,8 @@
|
|
bpf-v -a20 -v -e trace=bpf
|
|
btrfs +ioctl.test
|
|
chmod -a28
|
|
+chmod--secontext -a28 --secontext -e trace=chmod
|
|
+chmod--secontext_full -a28 --secontext=full -e trace=chmod
|
|
chown -a28
|
|
chown32 -a31
|
|
chroot -a24
|
|
@@ -71,25 +75,43 @@
|
|
epoll_pwait
|
|
epoll_wait -a26
|
|
erestartsys -a34 -e signal=none -e trace=recvfrom
|
|
+execve--secontext +execve.test --secontext
|
|
+execve--secontext_full +execve.test --secontext=full
|
|
execveat
|
|
+execveat--secontext --secontext --trace=execveat
|
|
+execveat--secontext_full --secontext=full --trace=execveat
|
|
execveat-v -v -e trace=execveat
|
|
+faccessat--secontext +faccessat.test -a24 --secontext
|
|
+faccessat--secontext_full +faccessat.test -a24 --secontext=full
|
|
faccessat-P -a23 --trace=faccessat -P /dev/full
|
|
faccessat-y +faccessat.test -a24 -y
|
|
+faccessat-y--secontext +faccessat.test -a24 -y --secontext
|
|
+faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full
|
|
faccessat-yy +faccessat.test -a24 -yy
|
|
fadvise64_64 +fadvise64.test
|
|
fallocate -a18
|
|
fanotify_init
|
|
fanotify_mark -a32
|
|
+fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark
|
|
+fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark
|
|
fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark
|
|
fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark
|
|
fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark
|
|
fchdir -a11
|
|
fchmod -a15
|
|
+fchmod--secontext -a15 --secontext -e trace=fchmod
|
|
+fchmod--secontext_full -a15 --secontext=full -e trace=fchmod
|
|
fchmod-y -y -e trace=fchmod
|
|
+fchmod-y--secontext -a15 -y --secontext -e trace=fchmod
|
|
+fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod
|
|
fchmodat
|
|
+fchmodat--secontext --secontext -e trace=fchmodat
|
|
+fchmodat--secontext_full --secontext=full -e trace=fchmodat
|
|
fchown -a16
|
|
fchown32 -a18
|
|
fchownat
|
|
+fchownat--secontext --secontext -e trace=fchownat
|
|
+fchownat--secontext_full --secontext=full -e trace=fchownat
|
|
fcntl -a8
|
|
fcntl--pidns-translation test_pidns -a8 -e trace=fcntl
|
|
fcntl64 -a8
|
|
@@ -97,6 +119,8 @@
|
|
fdatasync -a14
|
|
file_handle -e trace=name_to_handle_at,open_by_handle_at
|
|
file_ioctl +ioctl.test
|
|
+file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at
|
|
+file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at
|
|
filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
|
|
filter_seccomp-flag ../$NAME
|
|
finit_module -a25
|
|
@@ -295,6 +319,8 @@
|
|
lchown32 -a32
|
|
link
|
|
linkat
|
|
+linkat--secontext --secontext -e trace=linkat
|
|
+linkat--secontext_full --secontext=full -e trace=linkat
|
|
lookup_dcookie -a27
|
|
lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
|
|
lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
|
|
@@ -434,9 +460,13 @@
|
|
oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full
|
|
oldstat -a32 -v -P stat.sample -P /dev/full
|
|
open -a30 -P $NAME.sample
|
|
+open--secontext -a30 -P open.sample --secontext --trace=open
|
|
+open--secontext_full -a30 -P open.sample --secontext=full --trace=open
|
|
open_tree -a30 -y
|
|
open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
|
|
openat -a36 -P $NAME.sample
|
|
+openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
|
|
+openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
|
|
openat2 -a35
|
|
openat2-Xabbrev --trace=openat2 -a35 -Xabbrev
|
|
openat2-Xraw --trace=openat2 -a32 -Xraw
|
|
Index: strace-5.7/tests/linkat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/linkat.c 2021-08-24 21:08:35.385312637 +0200
|
|
+++ strace-5.7/tests/linkat.c 2021-08-24 21:08:43.264245951 +0200
|
|
@@ -10,8 +10,14 @@
|
|
|
|
#ifdef __NR_linkat
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
+# include <stdlib.h>
|
|
# include <unistd.h>
|
|
+# include <sys/stat.h>
|
|
+
|
|
+# include "secontext.h"
|
|
+# include "xmalloc.h"
|
|
|
|
int
|
|
main(void)
|
|
@@ -27,18 +33,158 @@
|
|
const long fd_old = (long) 0xdeadbeefffffffffULL;
|
|
const long fd_new = (long) 0xdeadbeeffffffffeULL;
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ (void) unlink(sample_1);
|
|
+ (void) unlink(sample_2);
|
|
+
|
|
long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
|
|
- printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
|
|
+ printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
|
|
+ my_secontext, "linkat",
|
|
(int) fd_old, sample_1, (int) fd_new, sample_2,
|
|
rc, errno2name());
|
|
|
|
rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
|
|
- printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
|
|
+ printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
|
|
+ my_secontext, "linkat",
|
|
"AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
|
|
"AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
|
|
"|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
|
|
rc, errno2name());
|
|
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd_sample_1 < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+ if (close(fd_sample_1))
|
|
+ perror_msg_and_fail("close");
|
|
+
|
|
+ char *sample_1_secontext = SECONTEXT_FILE(sample_1);
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ const char *sample_2_secontext = sample_1_secontext;
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd_sample_2 < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+ if (close(fd_sample_2))
|
|
+ perror_msg_and_fail("close");
|
|
+
|
|
+ free(sample_1_secontext);
|
|
+ update_secontext_type(sample_1, "default_t");
|
|
+ sample_1_secontext = SECONTEXT_FILE(sample_1);
|
|
+ sample_2_secontext = sample_1_secontext;
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", sample_2);
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int dfd_old = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(dfd_old);
|
|
+ char *dfd_old_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", sample_2);
|
|
+
|
|
+ static const char new_dir[] = "new";
|
|
+ char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2);
|
|
+
|
|
+ (void) unlink(new_sample_2);
|
|
+ (void) rmdir(new_dir);
|
|
+
|
|
+ if (mkdir(new_dir, 0700))
|
|
+ perror_msg_and_fail("mkdir");
|
|
+ char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir);
|
|
+ char *new_dir_secontext = SECONTEXT_FILE(new_dir);
|
|
+ int dfd_new = get_dir_fd(new_dir);
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ dfd_new, new_dir_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ dfd_new, new_dir_secontext,
|
|
+ sample_2, SECONTEXT_FILE(new_sample_2),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2);
|
|
+
|
|
+ /* dfd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(dfd_old))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample_1))
|
|
+ perror_msg_and_fail("unlink: %s", sample_1);
|
|
+ if (unlink(new_sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", new_sample_2);
|
|
+ if (rmdir(new_dir))
|
|
+ perror_msg_and_fail("rmdir: %s", new_dir);
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests/open.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/open.c 2021-08-24 21:08:35.386312629 +0200
|
|
+++ strace-5.7/tests/open.c 2021-08-24 21:08:43.264245951 +0200
|
|
@@ -15,6 +15,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -25,10 +27,12 @@
|
|
create_and_enter_subdir("open_subdir");
|
|
|
|
static const char sample[] = "open.sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
|
|
- printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "open",
|
|
+ sample, sprintrc(fd), SECONTEXT_FILE(sample));
|
|
|
|
if (fd != -1) {
|
|
close(fd);
|
|
@@ -36,16 +40,18 @@
|
|
perror_msg_and_fail("unlink");
|
|
|
|
fd = syscall(__NR_open, sample, O_RDONLY);
|
|
- printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_RDONLY) = %s\n",
|
|
+ my_secontext, "open", sample, sprintrc(fd));
|
|
|
|
fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000);
|
|
- printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
|
|
+ my_secontext, "open", sample, sprintrc(fd));
|
|
}
|
|
|
|
# ifdef O_TMPFILE
|
|
fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600);
|
|
- printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
|
|
+ printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
|
|
+ my_secontext, "open",
|
|
sample, sprintrc(fd));
|
|
# endif /* O_TMPFILE */
|
|
|
|
Index: strace-5.7/tests/openat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/openat.c 2021-08-24 21:08:35.386312629 +0200
|
|
+++ strace-5.7/tests/openat.c 2021-08-24 21:08:43.264245951 +0200
|
|
@@ -15,6 +15,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
# ifdef O_TMPFILE
|
|
/* The kernel & C libraries often inline O_DIRECTORY. */
|
|
# define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY)
|
|
@@ -26,10 +28,12 @@
|
|
|
|
static void
|
|
test_mode_flag(unsigned int mode_val, const char *mode_str,
|
|
- unsigned int flag_val, const char *flag_str)
|
|
+ unsigned int flag_val, const char *flag_str,
|
|
+ const char *my_secontext)
|
|
{
|
|
long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0);
|
|
- printf("openat(-1, \"%s\", %s%s%s%s) = %s\n",
|
|
+ printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n",
|
|
+ my_secontext, "openat",
|
|
sample, mode_str,
|
|
flag_val ? "|" : "", flag_str,
|
|
flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "",
|
|
@@ -45,20 +49,7 @@
|
|
*/
|
|
create_and_enter_subdir("openat_subdir");
|
|
|
|
- long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
|
|
- printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
-
|
|
- if (fd != -1) {
|
|
- close(fd);
|
|
- if (unlink(sample) == -1)
|
|
- perror_msg_and_fail("unlink");
|
|
-
|
|
- fd = syscall(__NR_openat, -100, sample, O_RDONLY);
|
|
- printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
- }
|
|
-
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
struct {
|
|
unsigned int val;
|
|
const char *str;
|
|
@@ -105,7 +96,73 @@
|
|
for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m)
|
|
for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f)
|
|
test_mode_flag(modes[m].val, modes[m].str,
|
|
- flags[f].val, flags[f].str);
|
|
+ flags[f].val, flags[f].str,
|
|
+ my_secontext);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ (void) unlink(sample);
|
|
+ long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * File context in openat() is not displayed because file doesn't exist
|
|
+ * yet, but is displayed in return value since the file got created.
|
|
+ */
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ sample,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+
|
|
+ close(fd);
|
|
+
|
|
+ fd = syscall(__NR_openat, -100, sample, O_RDONLY);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+ if (fd != -1) {
|
|
+ close(fd);
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+ }
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("openat");
|
|
+ close(fd);
|
|
+
|
|
+ /*
|
|
+ * File context in openat() is not displayed because file doesn't exist
|
|
+ * yet, but is displayed in return value since the file got created.
|
|
+ */
|
|
+ printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+
|
|
+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+ if (fd != -1) {
|
|
+ close(fd);
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+ }
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests/options-syntax.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/options-syntax.test 2021-08-24 21:08:35.386312629 +0200
|
|
+++ strace-5.7/tests/options-syntax.test 2021-08-24 21:08:43.265245942 +0200
|
|
@@ -2,14 +2,16 @@
|
|
#
|
|
# Check strace options syntax.
|
|
#
|
|
-# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
|
|
-# Copyright (c) 2016-2020 The strace developers.
|
|
+# Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
|
|
+# Copyright (c) 2016-2021 The strace developers.
|
|
# All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
. "${srcdir=.}/syntax.sh"
|
|
|
|
+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y")
|
|
+
|
|
check_e "Invalid process id: '0'" -p 0
|
|
check_e "Invalid process id: '0'" --attach=0
|
|
check_e "Invalid process id: '-42'" -p -42
|
|
@@ -46,6 +48,8 @@
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
|
|
+[ -z "$compiled_with_secontext" ] ||
|
|
+ check_h "invalid --secontext argument: 'ss'" --secontext=ss
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
|
|
@@ -281,6 +285,11 @@
|
|
$STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters.
|
|
$STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true
|
|
|
|
+ if [ -n "$compiled_with_secontext" ]; then
|
|
+ check_e "--secontext has no effect with -c/--summary-only
|
|
+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true
|
|
+ fi
|
|
+
|
|
for c in --output-separately -A/--output-append-mode; do
|
|
check_e "$c has no effect without -o/--output
|
|
$STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true
|
|
Index: strace-5.7/tests/secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/secontext.c 2021-08-24 21:08:43.265245942 +0200
|
|
@@ -0,0 +1,201 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# include <assert.h>
|
|
+# include <errno.h>
|
|
+# include <stdlib.h>
|
|
+# include <string.h>
|
|
+# include <unistd.h>
|
|
+# include <selinux/selinux.h>
|
|
+
|
|
+# include "xmalloc.h"
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "secontext.h"
|
|
+
|
|
+static char *
|
|
+secontext_format(char *context, const char *fmt)
|
|
+ ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
|
|
+
|
|
+static char *
|
|
+secontext_format(char *context, const char *fmt)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *res = context ? xasprintf(fmt, context) : xstrdup("");
|
|
+ free(context);
|
|
+ errno = saved_errno;
|
|
+ return res;
|
|
+}
|
|
+
|
|
+# define FORMAT_SPACE_BEFORE(string) secontext_format(string, " [%s]")
|
|
+# define FORMAT_SPACE_AFTER(string) secontext_format(string, "[%s] ")
|
|
+
|
|
+static char *
|
|
+strip_trailing_newlines(char *context)
|
|
+{
|
|
+ /*
|
|
+ * On the CI at least, the context may have a trailing \n,
|
|
+ * let's remove it just in case.
|
|
+ */
|
|
+ size_t len = strlen(context);
|
|
+ for (; len > 0; --len) {
|
|
+ if (context[len - 1] != '\n')
|
|
+ break;
|
|
+ }
|
|
+ context[len] = '\0';
|
|
+ return context;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_full_file(const char *filename)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *full_secontext = NULL;
|
|
+ char *secontext;
|
|
+
|
|
+ if (getfilecon(filename, &secontext) >= 0) {
|
|
+ full_secontext = strip_trailing_newlines(xstrdup(secontext));
|
|
+ freecon(secontext);
|
|
+ }
|
|
+ errno = saved_errno;
|
|
+ return full_secontext;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_short_file(const char *filename)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+
|
|
+ char *ctx = raw_secontext_full_file(filename);
|
|
+ if (ctx == NULL)
|
|
+ return ctx;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ const char *token;
|
|
+ unsigned int i;
|
|
+
|
|
+ char *ctx_copy = xstrdup(ctx);
|
|
+ char *context = NULL;
|
|
+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ context = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ if (context == NULL)
|
|
+ context = xstrdup(ctx);
|
|
+ free(ctx_copy);
|
|
+ free(ctx);
|
|
+
|
|
+ errno = saved_errno;
|
|
+ return context;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_full_pid(pid_t pid)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *full_secontext = NULL;
|
|
+ char *secontext;
|
|
+
|
|
+ if (getpidcon(pid, &secontext) == 0) {
|
|
+ full_secontext = strip_trailing_newlines(xstrdup(secontext));
|
|
+ freecon(secontext);
|
|
+ }
|
|
+ errno = saved_errno;
|
|
+ return full_secontext;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_short_pid(pid_t pid)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+
|
|
+ char *ctx = raw_secontext_full_pid(pid);
|
|
+ if (ctx == NULL)
|
|
+ return ctx;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ const char *token;
|
|
+ int i;
|
|
+
|
|
+ char *ctx_copy = xstrdup(ctx);
|
|
+ char *context = NULL;
|
|
+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ context = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ if (context == NULL)
|
|
+ context = xstrdup(ctx);
|
|
+ free(ctx_copy);
|
|
+ free(ctx);
|
|
+
|
|
+ errno = saved_errno;
|
|
+ return context;
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_full_file(const char *filename)
|
|
+{
|
|
+ return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_full_pid(pid_t pid)
|
|
+{
|
|
+ return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_short_file(const char *filename)
|
|
+{
|
|
+ return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_short_pid(pid_t pid)
|
|
+{
|
|
+ return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
|
|
+}
|
|
+
|
|
+void
|
|
+update_secontext_type(const char *file, const char *newtype)
|
|
+{
|
|
+ char *ctx = raw_secontext_full_file(file);
|
|
+ if (ctx == NULL)
|
|
+ return;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ char *token;
|
|
+ int field;
|
|
+ char *split[4];
|
|
+
|
|
+ for (token = strtok_r(ctx, ":", &saveptr), field = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), field++) {
|
|
+ assert(field < 4);
|
|
+ split[field] = token;
|
|
+ }
|
|
+ assert(field == 4);
|
|
+
|
|
+ char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
|
|
+ newtype, split[3]);
|
|
+
|
|
+ (void) setfilecon(file, newcontext);
|
|
+
|
|
+ free(newcontext);
|
|
+ free(ctx);
|
|
+}
|
|
+
|
|
+#endif /* HAVE_SELINUX_RUNTIME */
|
|
Index: strace-5.7/tests/secontext.h
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/secontext.h 2021-08-24 21:08:43.265245942 +0200
|
|
@@ -0,0 +1,46 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+#include "xmalloc.h"
|
|
+#include <unistd.h>
|
|
+
|
|
+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
|
|
+
|
|
+void update_secontext_type(const char *file, const char *newtype);
|
|
+
|
|
+# ifdef PRINT_SECONTEXT_FULL
|
|
+
|
|
+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
|
|
+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
|
|
+
|
|
+# define SECONTEXT_FILE(filename) secontext_full_file(filename)
|
|
+# define SECONTEXT_PID(pid) secontext_full_pid(pid)
|
|
+
|
|
+# else
|
|
+
|
|
+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
|
|
+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
|
|
+
|
|
+# define SECONTEXT_FILE(filename) secontext_short_file(filename)
|
|
+# define SECONTEXT_PID(pid) secontext_short_pid(pid)
|
|
+
|
|
+# endif
|
|
+
|
|
+#else
|
|
+
|
|
+static inline void
|
|
+update_secontext_type(const char *file, const char *newtype)
|
|
+{
|
|
+}
|
|
+
|
|
+# define SECONTEXT_FILE(filename) xstrdup("")
|
|
+# define SECONTEXT_PID(pid) xstrdup("")
|
|
+
|
|
+#endif
|
|
+
|
|
+#define SECONTEXT_PID_MY() SECONTEXT_PID(getpid())
|
|
Index: strace-5.7/tests/strace-V.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/strace-V.test 2021-08-24 21:08:35.387312620 +0200
|
|
+++ strace-5.7/tests/strace-V.test 2021-08-24 21:08:43.266245934 +0200
|
|
@@ -33,7 +33,9 @@
|
|
;;
|
|
esac
|
|
|
|
-features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
|
|
+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext")
|
|
+
|
|
+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}"
|
|
[ -n "$features" ] || features=" (none)"
|
|
|
|
cat > "$EXP" << __EOF__
|
|
Index: strace-5.7/tests-m32/Makefile.am
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/Makefile.am 2021-08-24 21:08:35.387312620 +0200
|
|
+++ strace-5.7/tests-m32/Makefile.am 2021-08-24 21:08:43.266245934 +0200
|
|
@@ -28,6 +28,12 @@
|
|
-DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
|
|
AM_LDFLAGS = $(ARCH_MFLAGS)
|
|
|
|
+if HAVE_SELINUX_RUNTIME
|
|
+libselinux_LDADD = $(libselinux_LIBS)
|
|
+else
|
|
+libselinux_LDADD =
|
|
+endif
|
|
+
|
|
libtests_a_SOURCES = \
|
|
create_nl_socket.c \
|
|
create_tmpfile.c \
|
|
@@ -54,6 +60,8 @@
|
|
printxval-Xabbrev.c \
|
|
printxval-Xraw.c \
|
|
printxval-Xverbose.c \
|
|
+ secontext.c \
|
|
+ secontext.h \
|
|
signal2name.c \
|
|
skip_unavailable.c \
|
|
sprintrc.c \
|
|
@@ -76,7 +84,10 @@
|
|
|
|
include pure_executables.am
|
|
|
|
+include secontext.am
|
|
+
|
|
check_PROGRAMS = $(PURE_EXECUTABLES) \
|
|
+ $(secontext_EXECUTABLES) \
|
|
_newselect-P \
|
|
answer \
|
|
attach-f-p \
|
|
Index: strace-5.7/tests-m32/access.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/access.c 2021-08-24 21:08:35.387312620 +0200
|
|
+++ strace-5.7/tests-m32/access.c 2021-08-24 21:08:43.266245934 +0200
|
|
@@ -10,9 +10,12 @@
|
|
|
|
#ifdef __NR_access
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -22,15 +25,27 @@
|
|
*/
|
|
create_and_enter_subdir("access_subdir");
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
static const char sample[] = "access_sample";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_CREAT|O_RDONLY, 0400) == -1)
|
|
+ perror_msg_and_fail("open: %s", sample);
|
|
|
|
long rc = syscall(__NR_access, sample, F_OK);
|
|
- printf("access(\"%s\", F_OK) = %ld %s (%m)\n",
|
|
- sample, rc, errno2name());
|
|
+ printf("%s%s(\"%s\"%s, F_OK) = %s\n",
|
|
+ my_secontext, "access",
|
|
+ sample, SECONTEXT_FILE(sample),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink: %s", sample);
|
|
|
|
rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK);
|
|
- printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
|
|
- sample, rc, errno2name());
|
|
+ printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n",
|
|
+ my_secontext, "access",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests-m32/chmod.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/chmod.c 2021-08-24 21:08:35.387312620 +0200
|
|
+++ strace-5.7/tests-m32/chmod.c 2021-08-24 21:08:43.267245925 +0200
|
|
@@ -16,6 +16,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -25,22 +27,33 @@
|
|
*/
|
|
create_and_enter_subdir("chmod_subdir");
|
|
|
|
- static const char fname[] = "chmod_test_file";
|
|
-
|
|
- if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
|
|
- perror_msg_and_fail("open");
|
|
-
|
|
- long rc = syscall(__NR_chmod, fname, 0600);
|
|
- printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc));
|
|
-
|
|
- if (unlink(fname))
|
|
- perror_msg_and_fail("unlink");
|
|
-
|
|
- rc = syscall(__NR_chmod, fname, 051);
|
|
- printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
- rc = syscall(__NR_chmod, fname, 004);
|
|
- printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
|
|
+ static const char sample[] = "chmod_test_file";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_CREAT|O_RDONLY, 0400) < 0)
|
|
+ perror_msg_and_fail("open: %s", sample);
|
|
+
|
|
+ long rc = syscall(__NR_chmod, sample, 0600);
|
|
+ printf("%s%s(\"%s\"%s, 0600) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample, SECONTEXT_FILE(sample),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink: %s", sample);
|
|
+
|
|
+ rc = syscall(__NR_chmod, sample, 051);
|
|
+ printf("%s%s(\"%s\", 051) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_chmod, sample, 004);
|
|
+ printf("%s%s(\"%s\", 004) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests-m32/execve.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/execve.c 2021-08-24 21:08:35.388312612 +0200
|
|
+++ strace-5.7/tests-m32/execve.c 2021-08-24 21:08:43.267245925 +0200
|
|
@@ -9,9 +9,12 @@
|
|
*/
|
|
|
|
#include "tests.h"
|
|
+#include <fcntl.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
+#include "secontext.h"
|
|
+
|
|
static const char *errstr;
|
|
|
|
static int
|
|
@@ -52,9 +55,16 @@
|
|
|
|
char ** const tail_argv = tail_memdup(argv, sizeof(argv));
|
|
char ** const tail_envp = tail_memdup(envp, sizeof(envp));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ (void) unlink(FILENAME);
|
|
+ if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ char *FILENAME_secontext = SECONTEXT_FILE(FILENAME);
|
|
|
|
call_execve(FILENAME, tail_argv, tail_envp);
|
|
- printf("execve(\"%s\""
|
|
+ printf("%s%s(\"%s\"%s"
|
|
", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
#if VERBOSE
|
|
", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
@@ -62,7 +72,9 @@
|
|
", %p /* 5 vars, unterminated */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[0], q_argv[1], q_argv[2],
|
|
argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
|
|
#if VERBOSE
|
|
, q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
|
|
@@ -77,14 +89,16 @@
|
|
(void) q_envp; /* workaround for clang bug #33068 */
|
|
|
|
call_execve(FILENAME, tail_argv, tail_envp);
|
|
- printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]"
|
|
#if VERBOSE
|
|
", [\"%s\", \"%s\"]"
|
|
#else
|
|
", %p /* 2 vars */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[0], q_argv[1], q_argv[2]
|
|
#if VERBOSE
|
|
, q_envp[0], q_envp[1]
|
|
#else
|
|
@@ -93,14 +107,16 @@
|
|
, errstr);
|
|
|
|
call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
|
|
- printf("execve(\"%s\", [\"%s\"]"
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\"]"
|
|
#if VERBOSE
|
|
", [\"%s\"]"
|
|
#else
|
|
", %p /* 1 var */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[2]
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[2]
|
|
#if VERBOSE
|
|
, q_envp[1]
|
|
#else
|
|
@@ -113,13 +129,15 @@
|
|
*empty = NULL;
|
|
|
|
call_execve(FILENAME, empty, empty);
|
|
- printf("execve(\"%s\", []"
|
|
+ printf("%s%s(\"%s\"%s, []"
|
|
#if VERBOSE
|
|
", []"
|
|
#else
|
|
", %p /* 0 vars */"
|
|
#endif
|
|
- ") = %s\n", Q_FILENAME
|
|
+ ") = %s\n",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext
|
|
#if !VERBOSE
|
|
, empty
|
|
#endif
|
|
@@ -143,7 +161,10 @@
|
|
a[i] = b[i] = NULL;
|
|
|
|
call_execve(FILENAME, a, b);
|
|
- printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
+ printf("%s%s(\"%s\"%s, [\"%.*s\"...",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ DEFAULT_STRLEN, a[0]);
|
|
for (i = 1; i < DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
#if VERBOSE
|
|
@@ -162,7 +183,10 @@
|
|
printf(") = %s\n", errstr);
|
|
|
|
call_execve(FILENAME, a + 1, b + 1);
|
|
- printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\"",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ a[1]);
|
|
for (i = 2; i <= DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
#if VERBOSE
|
|
@@ -175,12 +199,17 @@
|
|
#endif
|
|
printf(") = %s\n", errstr);
|
|
|
|
+ if (unlink(FILENAME))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
|
|
- printf("execve(\"%s\", NULL, %p) = %s\n",
|
|
+ printf("%s%s(\"%s\", NULL, %p) = %s\n",
|
|
+ my_secontext, "execve",
|
|
Q_FILENAME, efault, errstr);
|
|
|
|
call_execve(FILENAME, efault, NULL);
|
|
- printf("execve(\"%s\", %p, NULL) = %s\n",
|
|
+ printf("%s%s(\"%s\", %p, NULL) = %s\n",
|
|
+ my_secontext, "execve",
|
|
Q_FILENAME, efault, errstr);
|
|
|
|
leave_and_remove_subdir();
|
|
Index: strace-5.7/tests-m32/execve.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/execve.test 2021-08-24 21:08:35.388312612 +0200
|
|
+++ strace-5.7/tests-m32/execve.test 2021-08-24 21:08:43.268245917 +0200
|
|
@@ -11,7 +11,7 @@
|
|
|
|
check_prog grep
|
|
run_prog > /dev/null
|
|
-run_strace -eexecve $args > "$EXP"
|
|
+run_strace -eexecve "$@" $args > "$EXP"
|
|
|
|
# Filter out execve() call made by strace.
|
|
grep -F test.execve < "$LOG" > "$OUT"
|
|
Index: strace-5.7/tests-m32/execveat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/execveat.c 2021-08-24 21:08:35.388312612 +0200
|
|
+++ strace-5.7/tests-m32/execveat.c 2021-08-24 21:08:43.268245917 +0200
|
|
@@ -13,9 +13,102 @@
|
|
|
|
#ifdef __NR_execveat
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
+static void
|
|
+tests_with_existing_file(void)
|
|
+{
|
|
+ /*
|
|
+ * Make sure the current workdir of the tracee
|
|
+ * is different from the current workdir of the tracer.
|
|
+ */
|
|
+ create_and_enter_subdir("execveat_subdir");
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ static const char sample[] = "execveat_sample";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+ static const char *argv[] = { sample, NULL };
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ sample, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ sample,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ leave_and_remove_subdir();
|
|
+}
|
|
+
|
|
# define FILENAME "test.execveat\nfilename"
|
|
# define Q_FILENAME "test.execveat\\nfilename"
|
|
|
|
@@ -40,9 +133,10 @@
|
|
{
|
|
const char ** const tail_argv = tail_memdup(argv, sizeof(argv));
|
|
const char ** const tail_envp = tail_memdup(envp, sizeof(envp));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\""
|
|
+ printf("%s%s(AT_FDCWD, \"%s\""
|
|
", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
# if VERBOSE
|
|
", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
@@ -50,6 +144,7 @@
|
|
", %p /* 5 vars, unterminated */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv),
|
|
# if VERBOSE
|
|
@@ -65,13 +160,14 @@
|
|
(void) q_envp; /* workaround for clang bug #33068 */
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
# if VERBOSE
|
|
", [\"%s\", \"%s\"]"
|
|
# else
|
|
", %p /* 2 vars */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
# if VERBOSE
|
|
q_envp[0], q_envp[1],
|
|
@@ -81,13 +177,14 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]"
|
|
# if VERBOSE
|
|
", [\"%s\"]"
|
|
# else
|
|
", %p /* 1 var */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[2],
|
|
# if VERBOSE
|
|
q_envp[1],
|
|
@@ -101,13 +198,14 @@
|
|
*empty = NULL;
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", []"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", []"
|
|
# if VERBOSE
|
|
", []"
|
|
# else
|
|
", %p /* 0 vars */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME,
|
|
# if !VERBOSE
|
|
empty,
|
|
@@ -132,7 +230,9 @@
|
|
a[i] = b[i] = NULL;
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...",
|
|
+ my_secontext, "execveat",
|
|
+ Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
for (i = 1; i < DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
# if VERBOSE
|
|
@@ -152,7 +252,9 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"",
|
|
+ my_secontext, "execveat",
|
|
+ Q_FILENAME, a[1]);
|
|
for (i = 2; i <= DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
# if VERBOSE
|
|
@@ -167,15 +269,19 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", NULL, %p"
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, efault, errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", %p, NULL"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", %p, NULL"
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, efault, errno2name());
|
|
|
|
+ tests_with_existing_file();
|
|
+
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/tests-m32/faccessat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/faccessat.c 2021-08-24 21:08:35.389312604 +0200
|
|
+++ strace-5.7/tests-m32/faccessat.c 2021-08-24 21:08:43.269245908 +0200
|
|
@@ -12,12 +12,16 @@
|
|
|
|
#ifdef __NR_faccessat
|
|
|
|
-# include "xmalloc.h"
|
|
# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
-# ifndef FD_PATH
|
|
+# include "secontext.h"
|
|
+# include "xmalloc.h"
|
|
+
|
|
+# ifdef FD_PATH
|
|
+# define YFLAG
|
|
+# else
|
|
# define FD_PATH ""
|
|
# endif
|
|
# ifndef SKIP_IF_PROC_IS_UNAVAILABLE
|
|
@@ -43,11 +47,130 @@
|
|
return rc;
|
|
}
|
|
|
|
+# ifndef PATH_TRACING
|
|
+static void
|
|
+tests_with_existing_file(void)
|
|
+{
|
|
+ /*
|
|
+ * Make sure the current workdir of the tracee
|
|
+ * is different from the current workdir of the tracer.
|
|
+ */
|
|
+ create_and_enter_subdir("faccessat_subdir");
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ k_faccessat(-1, NULL, F_OK);
|
|
+ printf("%s%s(-1, NULL, F_OK) = %s\n",
|
|
+ my_secontext, "faccessat", errstr);
|
|
+
|
|
+ static const char sample[] = "faccessat_sample";
|
|
+ (void) unlink(sample);
|
|
+ int fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ k_faccessat(-100, sample, F_OK);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n",
|
|
+ my_secontext, "faccessat",
|
|
+ sample, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ k_faccessat(-100, sample, F_OK);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n",
|
|
+ my_secontext, "faccessat",
|
|
+ sample,
|
|
+ errstr);
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ k_faccessat(cwd_fd, sample, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\", F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample,
|
|
+ errstr);
|
|
+
|
|
+ fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ k_faccessat(cwd_fd, sample, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ k_faccessat(cwd_fd, sample_realpath, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ leave_and_remove_subdir();
|
|
+}
|
|
+# endif
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
SKIP_IF_PROC_IS_UNAVAILABLE;
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
+
|
|
TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
|
|
char *unterminated_str = xasprintf("%p", unterminated);
|
|
const void *const efault = unterminated + 1;
|
|
@@ -120,10 +243,10 @@
|
|
k_faccessat(dirfds[dirfd_i].val,
|
|
paths[path_i].val,
|
|
modes[mode_i].val);
|
|
-# ifdef PATH_TRACING
|
|
+# ifdef PATH_TRACING
|
|
if (dirfds[dirfd_i].val == fd ||
|
|
paths[path_i].val == fd_path)
|
|
-# endif
|
|
+# endif
|
|
printf("faccessat(%s, %s, %s) = %s\n",
|
|
dirfds[dirfd_i].str,
|
|
paths[path_i].str,
|
|
@@ -133,6 +256,12 @@
|
|
}
|
|
}
|
|
|
|
+# endif /* !TEST_SECONTEXT */
|
|
+
|
|
+# ifndef PATH_TRACING
|
|
+ tests_with_existing_file();
|
|
+# endif
|
|
+
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/tests-m32/faccessat.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/faccessat.test 2021-08-24 21:08:35.389312604 +0200
|
|
+++ strace-5.7/tests-m32/faccessat.test 2021-08-24 21:08:43.269245908 +0200
|
|
@@ -15,5 +15,5 @@
|
|
run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
|
|
|
|
# Filter out faccessat() calls made by ld.so and libc.
|
|
-sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
|
|
+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
|
|
match_diff "$OUT" "$EXP"
|
|
Index: strace-5.7/tests-m32/fanotify_mark.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/fanotify_mark.c 2021-08-24 21:07:01.122112055 +0200
|
|
+++ strace-5.7/tests-m32/fanotify_mark.c 2021-08-24 21:08:43.269245908 +0200
|
|
@@ -3,7 +3,7 @@
|
|
*
|
|
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
|
|
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
|
|
- * Copyright (c) 2015-2020 The strace developers.
|
|
+ * Copyright (c) 2015-2021 The strace developers.
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
@@ -21,6 +21,8 @@
|
|
# include <unistd.h>
|
|
# include <sys/fanotify.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
# if XLAT_RAW
|
|
# define str_fan_mark_add "0x1"
|
|
# define str_fan_modify_ondir "0x40000002"
|
|
@@ -35,6 +37,7 @@
|
|
# define str_at_fdcwd "AT_FDCWD"
|
|
# endif
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
/* Performs fanotify_mark call via the syscall interface. */
|
|
static void
|
|
do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
|
|
@@ -44,18 +47,18 @@
|
|
long rc;
|
|
|
|
rc = syscall(__NR_fanotify_mark, fd, flags,
|
|
-# if (LONG_MAX > INT_MAX) \
|
|
- || (defined __x86_64__ && defined __ILP32__) \
|
|
- || defined LINUX_MIPSN32
|
|
+# if (LONG_MAX > INT_MAX) \
|
|
+ || (defined __x86_64__ && defined __ILP32__) \
|
|
+ || defined LINUX_MIPSN32
|
|
mask,
|
|
-# else
|
|
+# else
|
|
/* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
|
|
-# ifdef HPPA
|
|
+# ifdef HPPA
|
|
LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
|
|
-# else
|
|
+# else
|
|
LL_VAL_TO_PAIR(mask),
|
|
+# endif
|
|
# endif
|
|
-# endif
|
|
dirfd, path);
|
|
|
|
printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
|
|
@@ -68,12 +71,14 @@
|
|
const char *str;
|
|
};
|
|
|
|
-# define STR16 "0123456789abcdef"
|
|
-# define STR64 STR16 STR16 STR16 STR16
|
|
+# define STR16 "0123456789abcdef"
|
|
+# define STR64 STR16 STR16 STR16 STR16
|
|
+# endif /* !TEST_SECONTEXT */
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
+# ifndef TEST_SECONTEXT
|
|
enum {
|
|
PATH1_SIZE = 64,
|
|
};
|
|
@@ -87,47 +92,47 @@
|
|
{ F8ILL_KULONG_MASK, "0" },
|
|
{ (kernel_ulong_t) 0xdec0deddefacec00ULL,
|
|
"0xefacec00"
|
|
-# if !XLAT_RAW
|
|
+# if !XLAT_RAW
|
|
" /* FAN_MARK_??? */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xda7a105700000040ULL,
|
|
-# if XLAT_RAW
|
|
+# if XLAT_RAW
|
|
"0x40"
|
|
-# elif XLAT_VERBOSE
|
|
+# elif XLAT_VERBOSE
|
|
"0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */"
|
|
-# else
|
|
+# else
|
|
"FAN_MARK_IGNORED_SURV_MODIFY"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xbadc0deddeadffffULL,
|
|
-# if XLAT_RAW || XLAT_VERBOSE
|
|
+# if XLAT_RAW || XLAT_VERBOSE
|
|
"0xdeadffff"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" /* "
|
|
-# endif
|
|
-# if !XLAT_RAW
|
|
+# endif
|
|
+# if !XLAT_RAW
|
|
"FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|"
|
|
"FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|"
|
|
"FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|"
|
|
"FAN_MARK_FILESYSTEM|0xdeadfe00"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
};
|
|
static const struct strval64 masks[] = {
|
|
{ ARG_ULL_STR(0) },
|
|
{ 0xdeadfeedffffffffULL,
|
|
-# if XLAT_RAW || XLAT_VERBOSE
|
|
+# if XLAT_RAW || XLAT_VERBOSE
|
|
"0xdeadfeedffffffff"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" /* "
|
|
-# endif
|
|
-# if !XLAT_RAW
|
|
+# endif
|
|
+# if !XLAT_RAW
|
|
"FAN_ACCESS|"
|
|
"FAN_MODIFY|"
|
|
"FAN_ATTRIB|"
|
|
@@ -149,27 +154,27 @@
|
|
"FAN_ONDIR|"
|
|
"FAN_EVENT_ON_CHILD|"
|
|
"0xdeadfeedb7f0a000"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ ARG_ULL_STR(0xffffffffb7f0a000)
|
|
-# if !XLAT_RAW
|
|
+# if !XLAT_RAW
|
|
" /* FAN_??? */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
};
|
|
static const struct strval dirfds[] = {
|
|
{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
|
|
{ (kernel_ulong_t) 0xdec0ded0ffffffffULL,
|
|
-# if XLAT_RAW
|
|
+# if XLAT_RAW
|
|
"-1"
|
|
-# elif XLAT_VERBOSE
|
|
+# elif XLAT_VERBOSE
|
|
"-1 /* FAN_NOFD */"
|
|
-# else
|
|
+# else
|
|
"FAN_NOFD"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd },
|
|
{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
|
|
@@ -202,12 +207,6 @@
|
|
snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
|
|
bogus_path1 + PATH1_SIZE);
|
|
|
|
- rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
- -100, ".");
|
|
- printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n",
|
|
- str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
|
|
- sprintrc(rc));
|
|
-
|
|
for (i = 0; i < ARRAY_SIZE(fds); i++) {
|
|
for (j = 0; j < ARRAY_SIZE(flags); j++) {
|
|
for (k = 0; k < ARRAY_SIZE(masks); k++) {
|
|
@@ -226,6 +225,40 @@
|
|
}
|
|
}
|
|
}
|
|
+# else /* TEST_SECONTEXT */
|
|
+ int rc;
|
|
+# endif
|
|
+ /*
|
|
+ * Test with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+ char path[] = ".";
|
|
+ char *path_secontext = SECONTEXT_FILE(path);
|
|
+
|
|
+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
+ -100, path);
|
|
+ printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n",
|
|
+ my_secontext, "fanotify_mark",
|
|
+ str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
|
|
+ path, path_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /*
|
|
+ * Test with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
+ cwd_fd, path);
|
|
+ printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n",
|
|
+ my_secontext, "fanotify_mark",
|
|
+ str_fan_mark_add, str_fan_modify_ondir,
|
|
+ cwd_fd, cwd_secontext,
|
|
+ path, path_secontext,
|
|
+ sprintrc(rc));
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
Index: strace-5.7/tests-m32/fchmod.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/fchmod.c 2021-08-24 21:08:35.389312604 +0200
|
|
+++ strace-5.7/tests-m32/fchmod.c 2021-08-24 21:08:43.270245900 +0200
|
|
@@ -18,6 +18,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -27,6 +29,8 @@
|
|
*/
|
|
create_and_enter_subdir("fchmod_subdir");
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
static const char sample[] = "fchmod_sample_file";
|
|
(void) unlink(sample);
|
|
int fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
@@ -37,16 +41,19 @@
|
|
char *sample_realpath = get_fd_path(fd);
|
|
# endif
|
|
|
|
+ const char *sample_secontext = SECONTEXT_FILE(sample);
|
|
long rc = syscall(__NR_fchmod, fd, 0600);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s>, 0600) = %s\n",
|
|
+ printf("%s%s(%d<%s>%s, 0600) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 0600) = %s\n",
|
|
+ printf("%s%s(%d%s, 0600) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
@@ -54,26 +61,30 @@
|
|
|
|
rc = syscall(__NR_fchmod, fd, 051);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
|
|
+ printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 051) = %s\n",
|
|
+ printf("%s%s(%d%s, 051) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
rc = syscall(__NR_fchmod, fd, 004);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
|
|
+ printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 004) = %s\n",
|
|
+ printf("%s%s(%d%s, 004) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
Index: strace-5.7/tests-m32/fchmodat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/fchmodat.c 2021-08-24 21:08:35.390312595 +0200
|
|
+++ strace-5.7/tests-m32/fchmodat.c 2021-08-24 21:08:43.270245900 +0200
|
|
@@ -17,6 +17,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -26,26 +28,81 @@
|
|
*/
|
|
create_and_enter_subdir("fchmodat_subdir");
|
|
|
|
- static const char sample[] = "fchmodat_sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
+ static const char sample[] = "fchmodat_sample_file";
|
|
if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
perror_msg_and_fail("open");
|
|
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
long rc = syscall(__NR_fchmodat, -100, sample, 0600);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n",
|
|
- sample, sprintrc(rc));
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
perror_msg_and_fail("unlink");
|
|
|
|
rc = syscall(__NR_fchmodat, -100, sample, 051);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
sample, sprintrc(rc));
|
|
|
|
rc = syscall(__NR_fchmodat, -100, sample, 004);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
sample, sprintrc(rc));
|
|
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\", 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests-m32/fchownat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/fchownat.c 2021-08-24 21:08:35.390312595 +0200
|
|
+++ strace-5.7/tests-m32/fchownat.c 2021-08-24 21:08:43.270245900 +0200
|
|
@@ -17,6 +17,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -26,25 +28,86 @@
|
|
*/
|
|
create_and_enter_subdir("fchownat_subdir");
|
|
|
|
- static const char sample[] = "fchownat_sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
uid_t uid = geteuid();
|
|
uid_t gid = getegid();
|
|
|
|
- if (open(sample, O_RDONLY | O_CREAT, 0400) == -1)
|
|
+ static const char sample[] = "fchownat_sample";
|
|
+ int fd = open(sample, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
|
|
long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0);
|
|
- printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n",
|
|
- sample, uid, gid, sprintrc(rc));
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ sample, sample_secontext,
|
|
+ uid, gid, sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
perror_msg_and_fail("unlink");
|
|
|
|
rc = syscall(__NR_fchownat, AT_FDCWD,
|
|
sample, -1, -1L, AT_SYMLINK_NOFOLLOW);
|
|
- printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
sample, sprintrc(rc));
|
|
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ fd = open(sample, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests-m32/file_handle.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/file_handle.c 2021-08-24 21:08:35.390312595 +0200
|
|
+++ strace-5.7/tests-m32/file_handle.c 2021-08-24 21:08:43.271245891 +0200
|
|
@@ -21,6 +21,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
enum assert_rc {
|
|
ASSERT_NONE,
|
|
ASSERT_SUCCESS,
|
|
@@ -48,6 +50,7 @@
|
|
printf("...");
|
|
}
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
void
|
|
do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
|
|
kernel_ulong_t pathname, const char *pathname_str,
|
|
@@ -129,6 +132,7 @@
|
|
|
|
printf("%s\n", sprintrc(rc));
|
|
}
|
|
+# endif /* !TEST_SECONTEXT */
|
|
|
|
struct strval {
|
|
kernel_ulong_t val;
|
|
@@ -141,12 +145,86 @@
|
|
int
|
|
main(void)
|
|
{
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
enum {
|
|
PATH1_SIZE = 64,
|
|
};
|
|
|
|
static const kernel_ulong_t fdcwd =
|
|
(kernel_ulong_t) 0x87654321ffffff9cULL;
|
|
+
|
|
+ struct file_handle *handle =
|
|
+ tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
|
|
+ struct file_handle *handle_0 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 0);
|
|
+ struct file_handle *handle_8 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 8);
|
|
+ struct file_handle *handle_128 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 128);
|
|
+ struct file_handle *handle_256 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 256);
|
|
+ TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
|
|
+
|
|
+ char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
+
|
|
+ const int flags = 0x400;
|
|
+ int mount_id;
|
|
+
|
|
+ handle_0->handle_bytes = 256;
|
|
+ handle_8->handle_bytes = 0;
|
|
+ handle_128->handle_bytes = 128;
|
|
+ handle_256->handle_bytes = 256;
|
|
+
|
|
+ fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
|
|
+ fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
|
|
+
|
|
+ snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
|
|
+ handle_0 + sizeof(struct file_handle));
|
|
+
|
|
+ handle->handle_bytes = 0;
|
|
+
|
|
+ char path[] = ".";
|
|
+ char *path_secontext = SECONTEXT_FILE(path);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags | 1) == -1);
|
|
+ if (EINVAL != errno)
|
|
+ perror_msg_and_skip("name_to_handle_at");
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p"
|
|
+ ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ &mount_id);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags) == -1);
|
|
+ if (EOVERFLOW != errno)
|
|
+ perror_msg_and_skip("name_to_handle_at");
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}"
|
|
+ ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, &mount_id);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u"
|
|
+ ", handle_type=%d, f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
+ int rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
|
|
+
|
|
+# ifndef TEST_SECONTEXT
|
|
static const struct strval dirfds[] = {
|
|
{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
|
|
{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
|
|
@@ -171,29 +249,11 @@
|
|
};
|
|
|
|
static const char str64[] = STR64;
|
|
-
|
|
-
|
|
char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
|
|
char *bogus_path2 = tail_memdup(str64, sizeof(str64));
|
|
-
|
|
- struct file_handle *handle =
|
|
- tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
|
|
- struct file_handle *handle_0 =
|
|
- tail_alloc(sizeof(struct file_handle) + 0);
|
|
- struct file_handle *handle_8 =
|
|
- tail_alloc(sizeof(struct file_handle) + 8);
|
|
- struct file_handle *handle_128 =
|
|
- tail_alloc(sizeof(struct file_handle) + 128);
|
|
- struct file_handle *handle_256 =
|
|
- tail_alloc(sizeof(struct file_handle) + 256);
|
|
- TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
|
|
-
|
|
- char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
-
|
|
char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
|
|
-
|
|
struct strval paths[] = {
|
|
{ (kernel_ulong_t) 0, "NULL" },
|
|
{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
|
|
@@ -229,62 +289,16 @@
|
|
(kernel_ulong_t) (uintptr_t) bogus_mount_id,
|
|
};
|
|
|
|
- const int flags = 0x400;
|
|
- int mount_id;
|
|
unsigned int i;
|
|
unsigned int j;
|
|
unsigned int k;
|
|
unsigned int l;
|
|
unsigned int m;
|
|
|
|
-
|
|
snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
|
|
snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
|
|
bogus_path1 + PATH1_SIZE);
|
|
|
|
- handle_0->handle_bytes = 256;
|
|
- handle_8->handle_bytes = 0;
|
|
- handle_128->handle_bytes = 128;
|
|
- handle_256->handle_bytes = 256;
|
|
-
|
|
- fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
|
|
- fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
|
|
-
|
|
- snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
|
|
- handle_0 + sizeof(struct file_handle));
|
|
-
|
|
- handle->handle_bytes = 0;
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags | 1) == -1);
|
|
- if (EINVAL != errno)
|
|
- perror_msg_and_skip("name_to_handle_at");
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
|
|
- ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags) == -1);
|
|
- if (EOVERFLOW != errno)
|
|
- perror_msg_and_skip("name_to_handle_at");
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
|
|
- ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
|
|
- handle->handle_bytes, &mount_id);
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags) == 0);
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
|
|
- ", handle_type=%d, f_handle=",
|
|
- handle->handle_bytes, handle->handle_type);
|
|
- print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
- printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
-
|
|
- printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
|
|
- ", f_handle=", handle->handle_bytes, handle->handle_type);
|
|
- print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
- int rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
- O_RDONLY | O_DIRECTORY);
|
|
- printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
|
|
-
|
|
for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
|
|
for (j = 0; j < ARRAY_SIZE(paths); j++) {
|
|
for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
|
|
@@ -320,6 +334,68 @@
|
|
}
|
|
}
|
|
}
|
|
+# endif
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d"
|
|
+ ", f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir(".."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u"
|
|
+ ", handle_type=%d, f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ cwd, cwd_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
Index: strace-5.7/tests-m32/gen_secontext.sh
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/gen_secontext.sh 2021-08-24 21:08:43.271245891 +0200
|
|
@@ -0,0 +1,72 @@
|
|
+#!/bin/sh -efu
|
|
+#
|
|
+# Copyright (c) 2021 The strace developers.
|
|
+# All rights reserved.
|
|
+#
|
|
+# SPDX-License-Identifier: GPL-2.0-or-later
|
|
+
|
|
+usage()
|
|
+{
|
|
+ cat >&2 <<EOF
|
|
+Usage: $0 [<input>]
|
|
+
|
|
+Generate secontext files from <input> list.
|
|
+EOF
|
|
+ exit 1
|
|
+}
|
|
+
|
|
+if [ $# -eq 0 ]; then
|
|
+ input="${0%/*}/gen_tests.in"
|
|
+else
|
|
+ input="$1"
|
|
+ shift
|
|
+fi
|
|
+dir="$(dirname "$input")"
|
|
+[ $# -eq 0 ] || usage
|
|
+
|
|
+{
|
|
+ cat <<EOF
|
|
+# Generated by $0 from $input; do not edit.
|
|
+
|
|
+secontext_EXECUTABLES = \\
|
|
+EOF
|
|
+ sed -r -n 's/^([^#[:space:]]+--secontext(_full)?)[[:space:]].*/ \1 \\/p' < "$input"
|
|
+ cat <<EOF
|
|
+ #
|
|
+
|
|
+EOF
|
|
+ sed -r -n 's/-/_/g; s/^([^#[:space:]]+__secontext(_full)?)[[:space:]].*/\1_LDADD = \$(LDADD) \$(libselinux_LDADD)/p' < "$input"
|
|
+} > "$dir/secontext.am"
|
|
+
|
|
+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" |
|
|
+while read -r name; do {
|
|
+ cat <<-EOF > "$dir/$name.c"
|
|
+ /*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+ #include "tests.h"
|
|
+
|
|
+ #ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+ # define TEST_SECONTEXT
|
|
+ # include "${name%--secontext}.c"
|
|
+
|
|
+ #else
|
|
+
|
|
+ SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+ #endif
|
|
+ EOF
|
|
+} < /dev/null; done
|
|
+
|
|
+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" |
|
|
+while read -r name; do {
|
|
+ cat <<-EOF > "$dir/$name.c"
|
|
+ #define PRINT_SECONTEXT_FULL
|
|
+ #include "${name%_full}.c"
|
|
+ EOF
|
|
+} < /dev/null; done
|
|
Index: strace-5.7/tests-m32/gen_tests.in
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/gen_tests.in 2021-08-24 21:08:35.391312587 +0200
|
|
+++ strace-5.7/tests-m32/gen_tests.in 2021-08-24 21:08:43.272245883 +0200
|
|
@@ -10,6 +10,8 @@
|
|
accept -a22
|
|
accept4 -a37
|
|
access -a30 --trace-path=access_sample
|
|
+access--secontext -a30 --secontext --trace-path=access_sample -e trace=access
|
|
+access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access
|
|
acct -a20
|
|
add_key -a30 -s12
|
|
adjtimex -a15
|
|
@@ -24,6 +26,8 @@
|
|
bpf-v -a20 -v -e trace=bpf
|
|
btrfs +ioctl.test
|
|
chmod -a28
|
|
+chmod--secontext -a28 --secontext -e trace=chmod
|
|
+chmod--secontext_full -a28 --secontext=full -e trace=chmod
|
|
chown -a28
|
|
chown32 -a31
|
|
chroot -a24
|
|
@@ -71,25 +75,43 @@
|
|
epoll_pwait
|
|
epoll_wait -a26
|
|
erestartsys -a34 -e signal=none -e trace=recvfrom
|
|
+execve--secontext +execve.test --secontext
|
|
+execve--secontext_full +execve.test --secontext=full
|
|
execveat
|
|
+execveat--secontext --secontext --trace=execveat
|
|
+execveat--secontext_full --secontext=full --trace=execveat
|
|
execveat-v -v -e trace=execveat
|
|
+faccessat--secontext +faccessat.test -a24 --secontext
|
|
+faccessat--secontext_full +faccessat.test -a24 --secontext=full
|
|
faccessat-P -a23 --trace=faccessat -P /dev/full
|
|
faccessat-y +faccessat.test -a24 -y
|
|
+faccessat-y--secontext +faccessat.test -a24 -y --secontext
|
|
+faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full
|
|
faccessat-yy +faccessat.test -a24 -yy
|
|
fadvise64_64 +fadvise64.test
|
|
fallocate -a18
|
|
fanotify_init
|
|
fanotify_mark -a32
|
|
+fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark
|
|
+fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark
|
|
fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark
|
|
fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark
|
|
fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark
|
|
fchdir -a11
|
|
fchmod -a15
|
|
+fchmod--secontext -a15 --secontext -e trace=fchmod
|
|
+fchmod--secontext_full -a15 --secontext=full -e trace=fchmod
|
|
fchmod-y -y -e trace=fchmod
|
|
+fchmod-y--secontext -a15 -y --secontext -e trace=fchmod
|
|
+fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod
|
|
fchmodat
|
|
+fchmodat--secontext --secontext -e trace=fchmodat
|
|
+fchmodat--secontext_full --secontext=full -e trace=fchmodat
|
|
fchown -a16
|
|
fchown32 -a18
|
|
fchownat
|
|
+fchownat--secontext --secontext -e trace=fchownat
|
|
+fchownat--secontext_full --secontext=full -e trace=fchownat
|
|
fcntl -a8
|
|
fcntl--pidns-translation test_pidns -a8 -e trace=fcntl
|
|
fcntl64 -a8
|
|
@@ -97,6 +119,8 @@
|
|
fdatasync -a14
|
|
file_handle -e trace=name_to_handle_at,open_by_handle_at
|
|
file_ioctl +ioctl.test
|
|
+file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at
|
|
+file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at
|
|
filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
|
|
filter_seccomp-flag ../$NAME
|
|
finit_module -a25
|
|
@@ -295,6 +319,8 @@
|
|
lchown32 -a32
|
|
link
|
|
linkat
|
|
+linkat--secontext --secontext -e trace=linkat
|
|
+linkat--secontext_full --secontext=full -e trace=linkat
|
|
lookup_dcookie -a27
|
|
lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
|
|
lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
|
|
@@ -434,9 +460,13 @@
|
|
oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full
|
|
oldstat -a32 -v -P stat.sample -P /dev/full
|
|
open -a30 -P $NAME.sample
|
|
+open--secontext -a30 -P open.sample --secontext --trace=open
|
|
+open--secontext_full -a30 -P open.sample --secontext=full --trace=open
|
|
open_tree -a30 -y
|
|
open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
|
|
openat -a36 -P $NAME.sample
|
|
+openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
|
|
+openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
|
|
openat2 -a35
|
|
openat2-Xabbrev --trace=openat2 -a35 -Xabbrev
|
|
openat2-Xraw --trace=openat2 -a32 -Xraw
|
|
Index: strace-5.7/tests-m32/linkat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/linkat.c 2021-08-24 21:08:35.391312587 +0200
|
|
+++ strace-5.7/tests-m32/linkat.c 2021-08-24 21:08:43.272245883 +0200
|
|
@@ -10,8 +10,14 @@
|
|
|
|
#ifdef __NR_linkat
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
+# include <stdlib.h>
|
|
# include <unistd.h>
|
|
+# include <sys/stat.h>
|
|
+
|
|
+# include "secontext.h"
|
|
+# include "xmalloc.h"
|
|
|
|
int
|
|
main(void)
|
|
@@ -27,18 +33,158 @@
|
|
const long fd_old = (long) 0xdeadbeefffffffffULL;
|
|
const long fd_new = (long) 0xdeadbeeffffffffeULL;
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ (void) unlink(sample_1);
|
|
+ (void) unlink(sample_2);
|
|
+
|
|
long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
|
|
- printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
|
|
+ printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
|
|
+ my_secontext, "linkat",
|
|
(int) fd_old, sample_1, (int) fd_new, sample_2,
|
|
rc, errno2name());
|
|
|
|
rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
|
|
- printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
|
|
+ printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
|
|
+ my_secontext, "linkat",
|
|
"AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
|
|
"AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
|
|
"|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
|
|
rc, errno2name());
|
|
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd_sample_1 < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+ if (close(fd_sample_1))
|
|
+ perror_msg_and_fail("close");
|
|
+
|
|
+ char *sample_1_secontext = SECONTEXT_FILE(sample_1);
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ const char *sample_2_secontext = sample_1_secontext;
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd_sample_2 < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+ if (close(fd_sample_2))
|
|
+ perror_msg_and_fail("close");
|
|
+
|
|
+ free(sample_1_secontext);
|
|
+ update_secontext_type(sample_1, "default_t");
|
|
+ sample_1_secontext = SECONTEXT_FILE(sample_1);
|
|
+ sample_2_secontext = sample_1_secontext;
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", sample_2);
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int dfd_old = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(dfd_old);
|
|
+ char *dfd_old_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", sample_2);
|
|
+
|
|
+ static const char new_dir[] = "new";
|
|
+ char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2);
|
|
+
|
|
+ (void) unlink(new_sample_2);
|
|
+ (void) rmdir(new_dir);
|
|
+
|
|
+ if (mkdir(new_dir, 0700))
|
|
+ perror_msg_and_fail("mkdir");
|
|
+ char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir);
|
|
+ char *new_dir_secontext = SECONTEXT_FILE(new_dir);
|
|
+ int dfd_new = get_dir_fd(new_dir);
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ dfd_new, new_dir_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ dfd_new, new_dir_secontext,
|
|
+ sample_2, SECONTEXT_FILE(new_sample_2),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2);
|
|
+
|
|
+ /* dfd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(dfd_old))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample_1))
|
|
+ perror_msg_and_fail("unlink: %s", sample_1);
|
|
+ if (unlink(new_sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", new_sample_2);
|
|
+ if (rmdir(new_dir))
|
|
+ perror_msg_and_fail("rmdir: %s", new_dir);
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests-m32/open.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/open.c 2021-08-24 21:08:35.391312587 +0200
|
|
+++ strace-5.7/tests-m32/open.c 2021-08-24 21:08:43.272245883 +0200
|
|
@@ -15,6 +15,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -25,10 +27,12 @@
|
|
create_and_enter_subdir("open_subdir");
|
|
|
|
static const char sample[] = "open.sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
|
|
- printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "open",
|
|
+ sample, sprintrc(fd), SECONTEXT_FILE(sample));
|
|
|
|
if (fd != -1) {
|
|
close(fd);
|
|
@@ -36,16 +40,18 @@
|
|
perror_msg_and_fail("unlink");
|
|
|
|
fd = syscall(__NR_open, sample, O_RDONLY);
|
|
- printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_RDONLY) = %s\n",
|
|
+ my_secontext, "open", sample, sprintrc(fd));
|
|
|
|
fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000);
|
|
- printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
|
|
+ my_secontext, "open", sample, sprintrc(fd));
|
|
}
|
|
|
|
# ifdef O_TMPFILE
|
|
fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600);
|
|
- printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
|
|
+ printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
|
|
+ my_secontext, "open",
|
|
sample, sprintrc(fd));
|
|
# endif /* O_TMPFILE */
|
|
|
|
Index: strace-5.7/tests-m32/openat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/openat.c 2021-08-24 21:08:35.392312578 +0200
|
|
+++ strace-5.7/tests-m32/openat.c 2021-08-24 21:08:43.273245874 +0200
|
|
@@ -15,6 +15,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
# ifdef O_TMPFILE
|
|
/* The kernel & C libraries often inline O_DIRECTORY. */
|
|
# define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY)
|
|
@@ -26,10 +28,12 @@
|
|
|
|
static void
|
|
test_mode_flag(unsigned int mode_val, const char *mode_str,
|
|
- unsigned int flag_val, const char *flag_str)
|
|
+ unsigned int flag_val, const char *flag_str,
|
|
+ const char *my_secontext)
|
|
{
|
|
long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0);
|
|
- printf("openat(-1, \"%s\", %s%s%s%s) = %s\n",
|
|
+ printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n",
|
|
+ my_secontext, "openat",
|
|
sample, mode_str,
|
|
flag_val ? "|" : "", flag_str,
|
|
flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "",
|
|
@@ -45,20 +49,7 @@
|
|
*/
|
|
create_and_enter_subdir("openat_subdir");
|
|
|
|
- long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
|
|
- printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
-
|
|
- if (fd != -1) {
|
|
- close(fd);
|
|
- if (unlink(sample) == -1)
|
|
- perror_msg_and_fail("unlink");
|
|
-
|
|
- fd = syscall(__NR_openat, -100, sample, O_RDONLY);
|
|
- printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
- }
|
|
-
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
struct {
|
|
unsigned int val;
|
|
const char *str;
|
|
@@ -105,7 +96,73 @@
|
|
for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m)
|
|
for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f)
|
|
test_mode_flag(modes[m].val, modes[m].str,
|
|
- flags[f].val, flags[f].str);
|
|
+ flags[f].val, flags[f].str,
|
|
+ my_secontext);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ (void) unlink(sample);
|
|
+ long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * File context in openat() is not displayed because file doesn't exist
|
|
+ * yet, but is displayed in return value since the file got created.
|
|
+ */
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ sample,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+
|
|
+ close(fd);
|
|
+
|
|
+ fd = syscall(__NR_openat, -100, sample, O_RDONLY);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+ if (fd != -1) {
|
|
+ close(fd);
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+ }
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("openat");
|
|
+ close(fd);
|
|
+
|
|
+ /*
|
|
+ * File context in openat() is not displayed because file doesn't exist
|
|
+ * yet, but is displayed in return value since the file got created.
|
|
+ */
|
|
+ printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+
|
|
+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+ if (fd != -1) {
|
|
+ close(fd);
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+ }
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests-m32/options-syntax.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/options-syntax.test 2021-08-24 21:08:35.392312578 +0200
|
|
+++ strace-5.7/tests-m32/options-syntax.test 2021-08-24 21:08:43.273245874 +0200
|
|
@@ -2,14 +2,16 @@
|
|
#
|
|
# Check strace options syntax.
|
|
#
|
|
-# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
|
|
-# Copyright (c) 2016-2020 The strace developers.
|
|
+# Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
|
|
+# Copyright (c) 2016-2021 The strace developers.
|
|
# All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
. "${srcdir=.}/syntax.sh"
|
|
|
|
+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y")
|
|
+
|
|
check_e "Invalid process id: '0'" -p 0
|
|
check_e "Invalid process id: '0'" --attach=0
|
|
check_e "Invalid process id: '-42'" -p -42
|
|
@@ -46,6 +48,8 @@
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
|
|
+[ -z "$compiled_with_secontext" ] ||
|
|
+ check_h "invalid --secontext argument: 'ss'" --secontext=ss
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
|
|
@@ -281,6 +285,11 @@
|
|
$STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters.
|
|
$STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true
|
|
|
|
+ if [ -n "$compiled_with_secontext" ]; then
|
|
+ check_e "--secontext has no effect with -c/--summary-only
|
|
+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true
|
|
+ fi
|
|
+
|
|
for c in --output-separately -A/--output-append-mode; do
|
|
check_e "$c has no effect without -o/--output
|
|
$STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true
|
|
Index: strace-5.7/tests-m32/secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/secontext.c 2021-08-24 21:08:43.274245866 +0200
|
|
@@ -0,0 +1,201 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# include <assert.h>
|
|
+# include <errno.h>
|
|
+# include <stdlib.h>
|
|
+# include <string.h>
|
|
+# include <unistd.h>
|
|
+# include <selinux/selinux.h>
|
|
+
|
|
+# include "xmalloc.h"
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "secontext.h"
|
|
+
|
|
+static char *
|
|
+secontext_format(char *context, const char *fmt)
|
|
+ ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
|
|
+
|
|
+static char *
|
|
+secontext_format(char *context, const char *fmt)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *res = context ? xasprintf(fmt, context) : xstrdup("");
|
|
+ free(context);
|
|
+ errno = saved_errno;
|
|
+ return res;
|
|
+}
|
|
+
|
|
+# define FORMAT_SPACE_BEFORE(string) secontext_format(string, " [%s]")
|
|
+# define FORMAT_SPACE_AFTER(string) secontext_format(string, "[%s] ")
|
|
+
|
|
+static char *
|
|
+strip_trailing_newlines(char *context)
|
|
+{
|
|
+ /*
|
|
+ * On the CI at least, the context may have a trailing \n,
|
|
+ * let's remove it just in case.
|
|
+ */
|
|
+ size_t len = strlen(context);
|
|
+ for (; len > 0; --len) {
|
|
+ if (context[len - 1] != '\n')
|
|
+ break;
|
|
+ }
|
|
+ context[len] = '\0';
|
|
+ return context;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_full_file(const char *filename)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *full_secontext = NULL;
|
|
+ char *secontext;
|
|
+
|
|
+ if (getfilecon(filename, &secontext) >= 0) {
|
|
+ full_secontext = strip_trailing_newlines(xstrdup(secontext));
|
|
+ freecon(secontext);
|
|
+ }
|
|
+ errno = saved_errno;
|
|
+ return full_secontext;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_short_file(const char *filename)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+
|
|
+ char *ctx = raw_secontext_full_file(filename);
|
|
+ if (ctx == NULL)
|
|
+ return ctx;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ const char *token;
|
|
+ unsigned int i;
|
|
+
|
|
+ char *ctx_copy = xstrdup(ctx);
|
|
+ char *context = NULL;
|
|
+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ context = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ if (context == NULL)
|
|
+ context = xstrdup(ctx);
|
|
+ free(ctx_copy);
|
|
+ free(ctx);
|
|
+
|
|
+ errno = saved_errno;
|
|
+ return context;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_full_pid(pid_t pid)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *full_secontext = NULL;
|
|
+ char *secontext;
|
|
+
|
|
+ if (getpidcon(pid, &secontext) == 0) {
|
|
+ full_secontext = strip_trailing_newlines(xstrdup(secontext));
|
|
+ freecon(secontext);
|
|
+ }
|
|
+ errno = saved_errno;
|
|
+ return full_secontext;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_short_pid(pid_t pid)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+
|
|
+ char *ctx = raw_secontext_full_pid(pid);
|
|
+ if (ctx == NULL)
|
|
+ return ctx;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ const char *token;
|
|
+ int i;
|
|
+
|
|
+ char *ctx_copy = xstrdup(ctx);
|
|
+ char *context = NULL;
|
|
+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ context = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ if (context == NULL)
|
|
+ context = xstrdup(ctx);
|
|
+ free(ctx_copy);
|
|
+ free(ctx);
|
|
+
|
|
+ errno = saved_errno;
|
|
+ return context;
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_full_file(const char *filename)
|
|
+{
|
|
+ return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_full_pid(pid_t pid)
|
|
+{
|
|
+ return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_short_file(const char *filename)
|
|
+{
|
|
+ return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_short_pid(pid_t pid)
|
|
+{
|
|
+ return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
|
|
+}
|
|
+
|
|
+void
|
|
+update_secontext_type(const char *file, const char *newtype)
|
|
+{
|
|
+ char *ctx = raw_secontext_full_file(file);
|
|
+ if (ctx == NULL)
|
|
+ return;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ char *token;
|
|
+ int field;
|
|
+ char *split[4];
|
|
+
|
|
+ for (token = strtok_r(ctx, ":", &saveptr), field = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), field++) {
|
|
+ assert(field < 4);
|
|
+ split[field] = token;
|
|
+ }
|
|
+ assert(field == 4);
|
|
+
|
|
+ char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
|
|
+ newtype, split[3]);
|
|
+
|
|
+ (void) setfilecon(file, newcontext);
|
|
+
|
|
+ free(newcontext);
|
|
+ free(ctx);
|
|
+}
|
|
+
|
|
+#endif /* HAVE_SELINUX_RUNTIME */
|
|
Index: strace-5.7/tests-m32/secontext.h
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/secontext.h 2021-08-24 21:08:43.274245866 +0200
|
|
@@ -0,0 +1,46 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+#include "xmalloc.h"
|
|
+#include <unistd.h>
|
|
+
|
|
+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
|
|
+
|
|
+void update_secontext_type(const char *file, const char *newtype);
|
|
+
|
|
+# ifdef PRINT_SECONTEXT_FULL
|
|
+
|
|
+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
|
|
+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
|
|
+
|
|
+# define SECONTEXT_FILE(filename) secontext_full_file(filename)
|
|
+# define SECONTEXT_PID(pid) secontext_full_pid(pid)
|
|
+
|
|
+# else
|
|
+
|
|
+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
|
|
+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
|
|
+
|
|
+# define SECONTEXT_FILE(filename) secontext_short_file(filename)
|
|
+# define SECONTEXT_PID(pid) secontext_short_pid(pid)
|
|
+
|
|
+# endif
|
|
+
|
|
+#else
|
|
+
|
|
+static inline void
|
|
+update_secontext_type(const char *file, const char *newtype)
|
|
+{
|
|
+}
|
|
+
|
|
+# define SECONTEXT_FILE(filename) xstrdup("")
|
|
+# define SECONTEXT_PID(pid) xstrdup("")
|
|
+
|
|
+#endif
|
|
+
|
|
+#define SECONTEXT_PID_MY() SECONTEXT_PID(getpid())
|
|
Index: strace-5.7/tests-m32/strace-V.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/strace-V.test 2021-08-24 21:08:35.392312578 +0200
|
|
+++ strace-5.7/tests-m32/strace-V.test 2021-08-24 21:08:43.274245866 +0200
|
|
@@ -33,7 +33,9 @@
|
|
;;
|
|
esac
|
|
|
|
-features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
|
|
+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext")
|
|
+
|
|
+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}"
|
|
[ -n "$features" ] || features=" (none)"
|
|
|
|
cat > "$EXP" << __EOF__
|
|
Index: strace-5.7/tests-mx32/Makefile.am
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/Makefile.am 2021-08-24 21:08:35.393312570 +0200
|
|
+++ strace-5.7/tests-mx32/Makefile.am 2021-08-24 21:08:43.274245866 +0200
|
|
@@ -28,6 +28,12 @@
|
|
-DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
|
|
AM_LDFLAGS = $(ARCH_MFLAGS)
|
|
|
|
+if HAVE_SELINUX_RUNTIME
|
|
+libselinux_LDADD = $(libselinux_LIBS)
|
|
+else
|
|
+libselinux_LDADD =
|
|
+endif
|
|
+
|
|
libtests_a_SOURCES = \
|
|
create_nl_socket.c \
|
|
create_tmpfile.c \
|
|
@@ -54,6 +60,8 @@
|
|
printxval-Xabbrev.c \
|
|
printxval-Xraw.c \
|
|
printxval-Xverbose.c \
|
|
+ secontext.c \
|
|
+ secontext.h \
|
|
signal2name.c \
|
|
skip_unavailable.c \
|
|
sprintrc.c \
|
|
@@ -76,7 +84,10 @@
|
|
|
|
include pure_executables.am
|
|
|
|
+include secontext.am
|
|
+
|
|
check_PROGRAMS = $(PURE_EXECUTABLES) \
|
|
+ $(secontext_EXECUTABLES) \
|
|
_newselect-P \
|
|
answer \
|
|
attach-f-p \
|
|
Index: strace-5.7/tests-mx32/access.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/access.c 2021-08-24 21:08:35.393312570 +0200
|
|
+++ strace-5.7/tests-mx32/access.c 2021-08-24 21:08:43.275245858 +0200
|
|
@@ -10,9 +10,12 @@
|
|
|
|
#ifdef __NR_access
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -22,15 +25,27 @@
|
|
*/
|
|
create_and_enter_subdir("access_subdir");
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
static const char sample[] = "access_sample";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_CREAT|O_RDONLY, 0400) == -1)
|
|
+ perror_msg_and_fail("open: %s", sample);
|
|
|
|
long rc = syscall(__NR_access, sample, F_OK);
|
|
- printf("access(\"%s\", F_OK) = %ld %s (%m)\n",
|
|
- sample, rc, errno2name());
|
|
+ printf("%s%s(\"%s\"%s, F_OK) = %s\n",
|
|
+ my_secontext, "access",
|
|
+ sample, SECONTEXT_FILE(sample),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink: %s", sample);
|
|
|
|
rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK);
|
|
- printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
|
|
- sample, rc, errno2name());
|
|
+ printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n",
|
|
+ my_secontext, "access",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests-mx32/chmod.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/chmod.c 2021-08-24 21:08:35.393312570 +0200
|
|
+++ strace-5.7/tests-mx32/chmod.c 2021-08-24 21:08:43.275245858 +0200
|
|
@@ -16,6 +16,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -25,22 +27,33 @@
|
|
*/
|
|
create_and_enter_subdir("chmod_subdir");
|
|
|
|
- static const char fname[] = "chmod_test_file";
|
|
-
|
|
- if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
|
|
- perror_msg_and_fail("open");
|
|
-
|
|
- long rc = syscall(__NR_chmod, fname, 0600);
|
|
- printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc));
|
|
-
|
|
- if (unlink(fname))
|
|
- perror_msg_and_fail("unlink");
|
|
-
|
|
- rc = syscall(__NR_chmod, fname, 051);
|
|
- printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
- rc = syscall(__NR_chmod, fname, 004);
|
|
- printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
|
|
+ static const char sample[] = "chmod_test_file";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_CREAT|O_RDONLY, 0400) < 0)
|
|
+ perror_msg_and_fail("open: %s", sample);
|
|
+
|
|
+ long rc = syscall(__NR_chmod, sample, 0600);
|
|
+ printf("%s%s(\"%s\"%s, 0600) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample, SECONTEXT_FILE(sample),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink: %s", sample);
|
|
+
|
|
+ rc = syscall(__NR_chmod, sample, 051);
|
|
+ printf("%s%s(\"%s\", 051) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_chmod, sample, 004);
|
|
+ printf("%s%s(\"%s\", 004) = %s\n",
|
|
+ my_secontext, "chmod",
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests-mx32/execve.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/execve.c 2021-08-24 21:08:35.394312561 +0200
|
|
+++ strace-5.7/tests-mx32/execve.c 2021-08-24 21:08:43.275245858 +0200
|
|
@@ -9,9 +9,12 @@
|
|
*/
|
|
|
|
#include "tests.h"
|
|
+#include <fcntl.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
+#include "secontext.h"
|
|
+
|
|
static const char *errstr;
|
|
|
|
static int
|
|
@@ -52,9 +55,16 @@
|
|
|
|
char ** const tail_argv = tail_memdup(argv, sizeof(argv));
|
|
char ** const tail_envp = tail_memdup(envp, sizeof(envp));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ (void) unlink(FILENAME);
|
|
+ if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ char *FILENAME_secontext = SECONTEXT_FILE(FILENAME);
|
|
|
|
call_execve(FILENAME, tail_argv, tail_envp);
|
|
- printf("execve(\"%s\""
|
|
+ printf("%s%s(\"%s\"%s"
|
|
", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
#if VERBOSE
|
|
", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
@@ -62,7 +72,9 @@
|
|
", %p /* 5 vars, unterminated */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[0], q_argv[1], q_argv[2],
|
|
argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
|
|
#if VERBOSE
|
|
, q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
|
|
@@ -77,14 +89,16 @@
|
|
(void) q_envp; /* workaround for clang bug #33068 */
|
|
|
|
call_execve(FILENAME, tail_argv, tail_envp);
|
|
- printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]"
|
|
#if VERBOSE
|
|
", [\"%s\", \"%s\"]"
|
|
#else
|
|
", %p /* 2 vars */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[0], q_argv[1], q_argv[2]
|
|
#if VERBOSE
|
|
, q_envp[0], q_envp[1]
|
|
#else
|
|
@@ -93,14 +107,16 @@
|
|
, errstr);
|
|
|
|
call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
|
|
- printf("execve(\"%s\", [\"%s\"]"
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\"]"
|
|
#if VERBOSE
|
|
", [\"%s\"]"
|
|
#else
|
|
", %p /* 1 var */"
|
|
#endif
|
|
") = %s\n",
|
|
- Q_FILENAME, q_argv[2]
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ q_argv[2]
|
|
#if VERBOSE
|
|
, q_envp[1]
|
|
#else
|
|
@@ -113,13 +129,15 @@
|
|
*empty = NULL;
|
|
|
|
call_execve(FILENAME, empty, empty);
|
|
- printf("execve(\"%s\", []"
|
|
+ printf("%s%s(\"%s\"%s, []"
|
|
#if VERBOSE
|
|
", []"
|
|
#else
|
|
", %p /* 0 vars */"
|
|
#endif
|
|
- ") = %s\n", Q_FILENAME
|
|
+ ") = %s\n",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext
|
|
#if !VERBOSE
|
|
, empty
|
|
#endif
|
|
@@ -143,7 +161,10 @@
|
|
a[i] = b[i] = NULL;
|
|
|
|
call_execve(FILENAME, a, b);
|
|
- printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
+ printf("%s%s(\"%s\"%s, [\"%.*s\"...",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ DEFAULT_STRLEN, a[0]);
|
|
for (i = 1; i < DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
#if VERBOSE
|
|
@@ -162,7 +183,10 @@
|
|
printf(") = %s\n", errstr);
|
|
|
|
call_execve(FILENAME, a + 1, b + 1);
|
|
- printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
|
|
+ printf("%s%s(\"%s\"%s, [\"%s\"",
|
|
+ my_secontext, "execve",
|
|
+ Q_FILENAME, FILENAME_secontext,
|
|
+ a[1]);
|
|
for (i = 2; i <= DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
#if VERBOSE
|
|
@@ -175,12 +199,17 @@
|
|
#endif
|
|
printf(") = %s\n", errstr);
|
|
|
|
+ if (unlink(FILENAME))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
|
|
- printf("execve(\"%s\", NULL, %p) = %s\n",
|
|
+ printf("%s%s(\"%s\", NULL, %p) = %s\n",
|
|
+ my_secontext, "execve",
|
|
Q_FILENAME, efault, errstr);
|
|
|
|
call_execve(FILENAME, efault, NULL);
|
|
- printf("execve(\"%s\", %p, NULL) = %s\n",
|
|
+ printf("%s%s(\"%s\", %p, NULL) = %s\n",
|
|
+ my_secontext, "execve",
|
|
Q_FILENAME, efault, errstr);
|
|
|
|
leave_and_remove_subdir();
|
|
Index: strace-5.7/tests-mx32/execve.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/execve.test 2021-08-24 21:08:35.394312561 +0200
|
|
+++ strace-5.7/tests-mx32/execve.test 2021-08-24 21:08:43.275245858 +0200
|
|
@@ -11,7 +11,7 @@
|
|
|
|
check_prog grep
|
|
run_prog > /dev/null
|
|
-run_strace -eexecve $args > "$EXP"
|
|
+run_strace -eexecve "$@" $args > "$EXP"
|
|
|
|
# Filter out execve() call made by strace.
|
|
grep -F test.execve < "$LOG" > "$OUT"
|
|
Index: strace-5.7/tests-mx32/execveat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/execveat.c 2021-08-24 21:08:35.394312561 +0200
|
|
+++ strace-5.7/tests-mx32/execveat.c 2021-08-24 21:08:43.276245849 +0200
|
|
@@ -13,9 +13,102 @@
|
|
|
|
#ifdef __NR_execveat
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
+static void
|
|
+tests_with_existing_file(void)
|
|
+{
|
|
+ /*
|
|
+ * Make sure the current workdir of the tracee
|
|
+ * is different from the current workdir of the tracer.
|
|
+ */
|
|
+ create_and_enter_subdir("execveat_subdir");
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ static const char sample[] = "execveat_sample";
|
|
+ (void) unlink(sample);
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+ static const char *argv[] = { sample, NULL };
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ sample, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ sample,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
|
|
+ my_secontext, "execveat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ argv[0],
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ leave_and_remove_subdir();
|
|
+}
|
|
+
|
|
# define FILENAME "test.execveat\nfilename"
|
|
# define Q_FILENAME "test.execveat\\nfilename"
|
|
|
|
@@ -40,9 +133,10 @@
|
|
{
|
|
const char ** const tail_argv = tail_memdup(argv, sizeof(argv));
|
|
const char ** const tail_envp = tail_memdup(envp, sizeof(envp));
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\""
|
|
+ printf("%s%s(AT_FDCWD, \"%s\""
|
|
", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
# if VERBOSE
|
|
", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
|
|
@@ -50,6 +144,7 @@
|
|
", %p /* 5 vars, unterminated */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv),
|
|
# if VERBOSE
|
|
@@ -65,13 +160,14 @@
|
|
(void) q_envp; /* workaround for clang bug #33068 */
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
|
|
# if VERBOSE
|
|
", [\"%s\", \"%s\"]"
|
|
# else
|
|
", %p /* 2 vars */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
|
|
# if VERBOSE
|
|
q_envp[0], q_envp[1],
|
|
@@ -81,13 +177,14 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]"
|
|
# if VERBOSE
|
|
", [\"%s\"]"
|
|
# else
|
|
", %p /* 1 var */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, q_argv[2],
|
|
# if VERBOSE
|
|
q_envp[1],
|
|
@@ -101,13 +198,14 @@
|
|
*empty = NULL;
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", []"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", []"
|
|
# if VERBOSE
|
|
", []"
|
|
# else
|
|
", %p /* 0 vars */"
|
|
# endif
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME,
|
|
# if !VERBOSE
|
|
empty,
|
|
@@ -132,7 +230,9 @@
|
|
a[i] = b[i] = NULL;
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...",
|
|
+ my_secontext, "execveat",
|
|
+ Q_FILENAME, DEFAULT_STRLEN, a[0]);
|
|
for (i = 1; i < DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
# if VERBOSE
|
|
@@ -152,7 +252,9 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"",
|
|
+ my_secontext, "execveat",
|
|
+ Q_FILENAME, a[1]);
|
|
for (i = 2; i <= DEFAULT_STRLEN; ++i)
|
|
printf(", \"%s\"", a[i]);
|
|
# if VERBOSE
|
|
@@ -167,15 +269,19 @@
|
|
errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", NULL, %p"
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, efault, errno2name());
|
|
|
|
syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100);
|
|
- printf("execveat(AT_FDCWD, \"%s\", %p, NULL"
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", %p, NULL"
|
|
", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
|
|
+ my_secontext, "execveat",
|
|
Q_FILENAME, efault, errno2name());
|
|
|
|
+ tests_with_existing_file();
|
|
+
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/tests-mx32/faccessat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/faccessat.c 2021-08-24 21:08:35.394312561 +0200
|
|
+++ strace-5.7/tests-mx32/faccessat.c 2021-08-24 21:08:43.276245849 +0200
|
|
@@ -12,12 +12,16 @@
|
|
|
|
#ifdef __NR_faccessat
|
|
|
|
-# include "xmalloc.h"
|
|
# include <fcntl.h>
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
-# ifndef FD_PATH
|
|
+# include "secontext.h"
|
|
+# include "xmalloc.h"
|
|
+
|
|
+# ifdef FD_PATH
|
|
+# define YFLAG
|
|
+# else
|
|
# define FD_PATH ""
|
|
# endif
|
|
# ifndef SKIP_IF_PROC_IS_UNAVAILABLE
|
|
@@ -43,11 +47,130 @@
|
|
return rc;
|
|
}
|
|
|
|
+# ifndef PATH_TRACING
|
|
+static void
|
|
+tests_with_existing_file(void)
|
|
+{
|
|
+ /*
|
|
+ * Make sure the current workdir of the tracee
|
|
+ * is different from the current workdir of the tracer.
|
|
+ */
|
|
+ create_and_enter_subdir("faccessat_subdir");
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ k_faccessat(-1, NULL, F_OK);
|
|
+ printf("%s%s(-1, NULL, F_OK) = %s\n",
|
|
+ my_secontext, "faccessat", errstr);
|
|
+
|
|
+ static const char sample[] = "faccessat_sample";
|
|
+ (void) unlink(sample);
|
|
+ int fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ k_faccessat(-100, sample, F_OK);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n",
|
|
+ my_secontext, "faccessat",
|
|
+ sample, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ k_faccessat(-100, sample, F_OK);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n",
|
|
+ my_secontext, "faccessat",
|
|
+ sample,
|
|
+ errstr);
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ k_faccessat(cwd_fd, sample, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\", F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample,
|
|
+ errstr);
|
|
+
|
|
+ fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ k_faccessat(cwd_fd, sample, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ k_faccessat(cwd_fd, sample_realpath, F_OK);
|
|
+# ifdef YFLAG
|
|
+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# else
|
|
+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
|
|
+# endif
|
|
+ my_secontext, "faccessat",
|
|
+ cwd_fd,
|
|
+# ifdef YFLAG
|
|
+ cwd,
|
|
+# endif
|
|
+ cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ errstr);
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
+ leave_and_remove_subdir();
|
|
+}
|
|
+# endif
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
SKIP_IF_PROC_IS_UNAVAILABLE;
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
+
|
|
TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
|
|
char *unterminated_str = xasprintf("%p", unterminated);
|
|
const void *const efault = unterminated + 1;
|
|
@@ -120,10 +243,10 @@
|
|
k_faccessat(dirfds[dirfd_i].val,
|
|
paths[path_i].val,
|
|
modes[mode_i].val);
|
|
-# ifdef PATH_TRACING
|
|
+# ifdef PATH_TRACING
|
|
if (dirfds[dirfd_i].val == fd ||
|
|
paths[path_i].val == fd_path)
|
|
-# endif
|
|
+# endif
|
|
printf("faccessat(%s, %s, %s) = %s\n",
|
|
dirfds[dirfd_i].str,
|
|
paths[path_i].str,
|
|
@@ -133,6 +256,12 @@
|
|
}
|
|
}
|
|
|
|
+# endif /* !TEST_SECONTEXT */
|
|
+
|
|
+# ifndef PATH_TRACING
|
|
+ tests_with_existing_file();
|
|
+# endif
|
|
+
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/tests-mx32/faccessat.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/faccessat.test 2021-08-24 21:08:35.395312553 +0200
|
|
+++ strace-5.7/tests-mx32/faccessat.test 2021-08-24 21:08:43.276245849 +0200
|
|
@@ -15,5 +15,5 @@
|
|
run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
|
|
|
|
# Filter out faccessat() calls made by ld.so and libc.
|
|
-sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
|
|
+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
|
|
match_diff "$OUT" "$EXP"
|
|
Index: strace-5.7/tests-mx32/fanotify_mark.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/fanotify_mark.c 2021-08-24 21:07:01.122112055 +0200
|
|
+++ strace-5.7/tests-mx32/fanotify_mark.c 2021-08-24 21:08:43.276245849 +0200
|
|
@@ -3,7 +3,7 @@
|
|
*
|
|
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
|
|
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
|
|
- * Copyright (c) 2015-2020 The strace developers.
|
|
+ * Copyright (c) 2015-2021 The strace developers.
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
@@ -21,6 +21,8 @@
|
|
# include <unistd.h>
|
|
# include <sys/fanotify.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
# if XLAT_RAW
|
|
# define str_fan_mark_add "0x1"
|
|
# define str_fan_modify_ondir "0x40000002"
|
|
@@ -35,6 +37,7 @@
|
|
# define str_at_fdcwd "AT_FDCWD"
|
|
# endif
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
/* Performs fanotify_mark call via the syscall interface. */
|
|
static void
|
|
do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
|
|
@@ -44,18 +47,18 @@
|
|
long rc;
|
|
|
|
rc = syscall(__NR_fanotify_mark, fd, flags,
|
|
-# if (LONG_MAX > INT_MAX) \
|
|
- || (defined __x86_64__ && defined __ILP32__) \
|
|
- || defined LINUX_MIPSN32
|
|
+# if (LONG_MAX > INT_MAX) \
|
|
+ || (defined __x86_64__ && defined __ILP32__) \
|
|
+ || defined LINUX_MIPSN32
|
|
mask,
|
|
-# else
|
|
+# else
|
|
/* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
|
|
-# ifdef HPPA
|
|
+# ifdef HPPA
|
|
LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
|
|
-# else
|
|
+# else
|
|
LL_VAL_TO_PAIR(mask),
|
|
+# endif
|
|
# endif
|
|
-# endif
|
|
dirfd, path);
|
|
|
|
printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
|
|
@@ -68,12 +71,14 @@
|
|
const char *str;
|
|
};
|
|
|
|
-# define STR16 "0123456789abcdef"
|
|
-# define STR64 STR16 STR16 STR16 STR16
|
|
+# define STR16 "0123456789abcdef"
|
|
+# define STR64 STR16 STR16 STR16 STR16
|
|
+# endif /* !TEST_SECONTEXT */
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
+# ifndef TEST_SECONTEXT
|
|
enum {
|
|
PATH1_SIZE = 64,
|
|
};
|
|
@@ -87,47 +92,47 @@
|
|
{ F8ILL_KULONG_MASK, "0" },
|
|
{ (kernel_ulong_t) 0xdec0deddefacec00ULL,
|
|
"0xefacec00"
|
|
-# if !XLAT_RAW
|
|
+# if !XLAT_RAW
|
|
" /* FAN_MARK_??? */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xda7a105700000040ULL,
|
|
-# if XLAT_RAW
|
|
+# if XLAT_RAW
|
|
"0x40"
|
|
-# elif XLAT_VERBOSE
|
|
+# elif XLAT_VERBOSE
|
|
"0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */"
|
|
-# else
|
|
+# else
|
|
"FAN_MARK_IGNORED_SURV_MODIFY"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xbadc0deddeadffffULL,
|
|
-# if XLAT_RAW || XLAT_VERBOSE
|
|
+# if XLAT_RAW || XLAT_VERBOSE
|
|
"0xdeadffff"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" /* "
|
|
-# endif
|
|
-# if !XLAT_RAW
|
|
+# endif
|
|
+# if !XLAT_RAW
|
|
"FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|"
|
|
"FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|"
|
|
"FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|"
|
|
"FAN_MARK_FILESYSTEM|0xdeadfe00"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
};
|
|
static const struct strval64 masks[] = {
|
|
{ ARG_ULL_STR(0) },
|
|
{ 0xdeadfeedffffffffULL,
|
|
-# if XLAT_RAW || XLAT_VERBOSE
|
|
+# if XLAT_RAW || XLAT_VERBOSE
|
|
"0xdeadfeedffffffff"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" /* "
|
|
-# endif
|
|
-# if !XLAT_RAW
|
|
+# endif
|
|
+# if !XLAT_RAW
|
|
"FAN_ACCESS|"
|
|
"FAN_MODIFY|"
|
|
"FAN_ATTRIB|"
|
|
@@ -149,27 +154,27 @@
|
|
"FAN_ONDIR|"
|
|
"FAN_EVENT_ON_CHILD|"
|
|
"0xdeadfeedb7f0a000"
|
|
-# endif
|
|
-# if XLAT_VERBOSE
|
|
+# endif
|
|
+# if XLAT_VERBOSE
|
|
" */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ ARG_ULL_STR(0xffffffffb7f0a000)
|
|
-# if !XLAT_RAW
|
|
+# if !XLAT_RAW
|
|
" /* FAN_??? */"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
};
|
|
static const struct strval dirfds[] = {
|
|
{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
|
|
{ (kernel_ulong_t) 0xdec0ded0ffffffffULL,
|
|
-# if XLAT_RAW
|
|
+# if XLAT_RAW
|
|
"-1"
|
|
-# elif XLAT_VERBOSE
|
|
+# elif XLAT_VERBOSE
|
|
"-1 /* FAN_NOFD */"
|
|
-# else
|
|
+# else
|
|
"FAN_NOFD"
|
|
-# endif
|
|
+# endif
|
|
},
|
|
{ (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd },
|
|
{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
|
|
@@ -202,12 +207,6 @@
|
|
snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
|
|
bogus_path1 + PATH1_SIZE);
|
|
|
|
- rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
- -100, ".");
|
|
- printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n",
|
|
- str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
|
|
- sprintrc(rc));
|
|
-
|
|
for (i = 0; i < ARRAY_SIZE(fds); i++) {
|
|
for (j = 0; j < ARRAY_SIZE(flags); j++) {
|
|
for (k = 0; k < ARRAY_SIZE(masks); k++) {
|
|
@@ -226,6 +225,40 @@
|
|
}
|
|
}
|
|
}
|
|
+# else /* TEST_SECONTEXT */
|
|
+ int rc;
|
|
+# endif
|
|
+ /*
|
|
+ * Test with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+ char path[] = ".";
|
|
+ char *path_secontext = SECONTEXT_FILE(path);
|
|
+
|
|
+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
+ -100, path);
|
|
+ printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n",
|
|
+ my_secontext, "fanotify_mark",
|
|
+ str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
|
|
+ path, path_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /*
|
|
+ * Test with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
|
|
+ cwd_fd, path);
|
|
+ printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n",
|
|
+ my_secontext, "fanotify_mark",
|
|
+ str_fan_mark_add, str_fan_modify_ondir,
|
|
+ cwd_fd, cwd_secontext,
|
|
+ path, path_secontext,
|
|
+ sprintrc(rc));
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
Index: strace-5.7/tests-mx32/fchmod.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/fchmod.c 2021-08-24 21:08:35.395312553 +0200
|
|
+++ strace-5.7/tests-mx32/fchmod.c 2021-08-24 21:08:43.277245841 +0200
|
|
@@ -18,6 +18,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -27,6 +29,8 @@
|
|
*/
|
|
create_and_enter_subdir("fchmod_subdir");
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
static const char sample[] = "fchmod_sample_file";
|
|
(void) unlink(sample);
|
|
int fd = open(sample, O_CREAT|O_RDONLY, 0400);
|
|
@@ -37,16 +41,19 @@
|
|
char *sample_realpath = get_fd_path(fd);
|
|
# endif
|
|
|
|
+ const char *sample_secontext = SECONTEXT_FILE(sample);
|
|
long rc = syscall(__NR_fchmod, fd, 0600);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s>, 0600) = %s\n",
|
|
+ printf("%s%s(%d<%s>%s, 0600) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 0600) = %s\n",
|
|
+ printf("%s%s(%d%s, 0600) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
@@ -54,26 +61,30 @@
|
|
|
|
rc = syscall(__NR_fchmod, fd, 051);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
|
|
+ printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 051) = %s\n",
|
|
+ printf("%s%s(%d%s, 051) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
rc = syscall(__NR_fchmod, fd, 004);
|
|
# ifdef YFLAG
|
|
- printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
|
|
+ printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n",
|
|
# else
|
|
- printf("fchmod(%d, 004) = %s\n",
|
|
+ printf("%s%s(%d%s, 004) = %s\n",
|
|
# endif
|
|
+ my_secontext, "fchmod",
|
|
fd,
|
|
# ifdef YFLAG
|
|
sample_realpath,
|
|
# endif
|
|
+ sample_secontext,
|
|
sprintrc(rc));
|
|
|
|
leave_and_remove_subdir();
|
|
Index: strace-5.7/tests-mx32/fchmodat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/fchmodat.c 2021-08-24 21:08:35.396312544 +0200
|
|
+++ strace-5.7/tests-mx32/fchmodat.c 2021-08-24 21:08:43.277245841 +0200
|
|
@@ -17,6 +17,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -26,26 +28,81 @@
|
|
*/
|
|
create_and_enter_subdir("fchmodat_subdir");
|
|
|
|
- static const char sample[] = "fchmodat_sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
+ static const char sample[] = "fchmodat_sample_file";
|
|
if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
perror_msg_and_fail("open");
|
|
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
long rc = syscall(__NR_fchmodat, -100, sample, 0600);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n",
|
|
- sample, sprintrc(rc));
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
perror_msg_and_fail("unlink");
|
|
|
|
rc = syscall(__NR_fchmodat, -100, sample, 051);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
sample, sprintrc(rc));
|
|
|
|
rc = syscall(__NR_fchmodat, -100, sample, 004);
|
|
- printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
sample, sprintrc(rc));
|
|
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\", 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
|
|
+ my_secontext, "fchmodat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests-mx32/fchownat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/fchownat.c 2021-08-24 21:08:35.396312544 +0200
|
|
+++ strace-5.7/tests-mx32/fchownat.c 2021-08-24 21:08:43.277245841 +0200
|
|
@@ -17,6 +17,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -26,25 +28,86 @@
|
|
*/
|
|
create_and_enter_subdir("fchownat_subdir");
|
|
|
|
- static const char sample[] = "fchownat_sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
uid_t uid = geteuid();
|
|
uid_t gid = getegid();
|
|
|
|
- if (open(sample, O_RDONLY | O_CREAT, 0400) == -1)
|
|
+ static const char sample[] = "fchownat_sample";
|
|
+ int fd = open(sample, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
|
|
long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0);
|
|
- printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n",
|
|
- sample, uid, gid, sprintrc(rc));
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ sample, sample_secontext,
|
|
+ uid, gid, sprintrc(rc));
|
|
|
|
if (unlink(sample))
|
|
perror_msg_and_fail("unlink");
|
|
|
|
rc = syscall(__NR_fchownat, AT_FDCWD,
|
|
sample, -1, -1L, AT_SYMLINK_NOFOLLOW);
|
|
- printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
sample, sprintrc(rc));
|
|
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+ char *sample_realpath = xasprintf("%s/%s", cwd, sample);
|
|
+
|
|
+ /* no file */
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ fd = open(sample, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("open");
|
|
+ close(fd);
|
|
+
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
|
|
+ my_secontext, "fchownat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample_realpath, sample_secontext,
|
|
+ uid, gid,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests-mx32/file_handle.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/file_handle.c 2021-08-24 21:08:35.396312544 +0200
|
|
+++ strace-5.7/tests-mx32/file_handle.c 2021-08-24 21:08:43.277245841 +0200
|
|
@@ -21,6 +21,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
enum assert_rc {
|
|
ASSERT_NONE,
|
|
ASSERT_SUCCESS,
|
|
@@ -48,6 +50,7 @@
|
|
printf("...");
|
|
}
|
|
|
|
+# ifndef TEST_SECONTEXT
|
|
void
|
|
do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
|
|
kernel_ulong_t pathname, const char *pathname_str,
|
|
@@ -129,6 +132,7 @@
|
|
|
|
printf("%s\n", sprintrc(rc));
|
|
}
|
|
+# endif /* !TEST_SECONTEXT */
|
|
|
|
struct strval {
|
|
kernel_ulong_t val;
|
|
@@ -141,12 +145,86 @@
|
|
int
|
|
main(void)
|
|
{
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
enum {
|
|
PATH1_SIZE = 64,
|
|
};
|
|
|
|
static const kernel_ulong_t fdcwd =
|
|
(kernel_ulong_t) 0x87654321ffffff9cULL;
|
|
+
|
|
+ struct file_handle *handle =
|
|
+ tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
|
|
+ struct file_handle *handle_0 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 0);
|
|
+ struct file_handle *handle_8 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 8);
|
|
+ struct file_handle *handle_128 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 128);
|
|
+ struct file_handle *handle_256 =
|
|
+ tail_alloc(sizeof(struct file_handle) + 256);
|
|
+ TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
|
|
+
|
|
+ char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
+
|
|
+ const int flags = 0x400;
|
|
+ int mount_id;
|
|
+
|
|
+ handle_0->handle_bytes = 256;
|
|
+ handle_8->handle_bytes = 0;
|
|
+ handle_128->handle_bytes = 128;
|
|
+ handle_256->handle_bytes = 256;
|
|
+
|
|
+ fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
|
|
+ fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
|
|
+
|
|
+ snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
|
|
+ handle_0 + sizeof(struct file_handle));
|
|
+
|
|
+ handle->handle_bytes = 0;
|
|
+
|
|
+ char path[] = ".";
|
|
+ char *path_secontext = SECONTEXT_FILE(path);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags | 1) == -1);
|
|
+ if (EINVAL != errno)
|
|
+ perror_msg_and_skip("name_to_handle_at");
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p"
|
|
+ ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ &mount_id);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags) == -1);
|
|
+ if (EOVERFLOW != errno)
|
|
+ perror_msg_and_skip("name_to_handle_at");
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}"
|
|
+ ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, &mount_id);
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u"
|
|
+ ", handle_type=%d, f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
+ int rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
|
|
+
|
|
+# ifndef TEST_SECONTEXT
|
|
static const struct strval dirfds[] = {
|
|
{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
|
|
{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
|
|
@@ -171,29 +249,11 @@
|
|
};
|
|
|
|
static const char str64[] = STR64;
|
|
-
|
|
-
|
|
char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
|
|
char *bogus_path2 = tail_memdup(str64, sizeof(str64));
|
|
-
|
|
- struct file_handle *handle =
|
|
- tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
|
|
- struct file_handle *handle_0 =
|
|
- tail_alloc(sizeof(struct file_handle) + 0);
|
|
- struct file_handle *handle_8 =
|
|
- tail_alloc(sizeof(struct file_handle) + 8);
|
|
- struct file_handle *handle_128 =
|
|
- tail_alloc(sizeof(struct file_handle) + 128);
|
|
- struct file_handle *handle_256 =
|
|
- tail_alloc(sizeof(struct file_handle) + 256);
|
|
- TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
|
|
-
|
|
- char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
-
|
|
char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
|
|
|
|
-
|
|
struct strval paths[] = {
|
|
{ (kernel_ulong_t) 0, "NULL" },
|
|
{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
|
|
@@ -229,62 +289,16 @@
|
|
(kernel_ulong_t) (uintptr_t) bogus_mount_id,
|
|
};
|
|
|
|
- const int flags = 0x400;
|
|
- int mount_id;
|
|
unsigned int i;
|
|
unsigned int j;
|
|
unsigned int k;
|
|
unsigned int l;
|
|
unsigned int m;
|
|
|
|
-
|
|
snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
|
|
snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
|
|
bogus_path1 + PATH1_SIZE);
|
|
|
|
- handle_0->handle_bytes = 256;
|
|
- handle_8->handle_bytes = 0;
|
|
- handle_128->handle_bytes = 128;
|
|
- handle_256->handle_bytes = 256;
|
|
-
|
|
- fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
|
|
- fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
|
|
-
|
|
- snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
|
|
- handle_0 + sizeof(struct file_handle));
|
|
-
|
|
- handle->handle_bytes = 0;
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags | 1) == -1);
|
|
- if (EINVAL != errno)
|
|
- perror_msg_and_skip("name_to_handle_at");
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
|
|
- ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags) == -1);
|
|
- if (EOVERFLOW != errno)
|
|
- perror_msg_and_skip("name_to_handle_at");
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
|
|
- ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
|
|
- handle->handle_bytes, &mount_id);
|
|
-
|
|
- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
|
|
- flags) == 0);
|
|
- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
|
|
- ", handle_type=%d, f_handle=",
|
|
- handle->handle_bytes, handle->handle_type);
|
|
- print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
- printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
-
|
|
- printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
|
|
- ", f_handle=", handle->handle_bytes, handle->handle_type);
|
|
- print_handle_data(handle->f_handle, handle->handle_bytes);
|
|
- int rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
- O_RDONLY | O_DIRECTORY);
|
|
- printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
|
|
-
|
|
for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
|
|
for (j = 0; j < ARRAY_SIZE(paths); j++) {
|
|
for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
|
|
@@ -320,6 +334,68 @@
|
|
}
|
|
}
|
|
}
|
|
+# endif
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(cwd_fd);
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d"
|
|
+ ", f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ path, path_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
|
|
+
|
|
+ /* cwd_fd ignored when path is absolute */
|
|
+ if (chdir(".."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id,
|
|
+ flags) == 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u"
|
|
+ ", handle_type=%d, f_handle=",
|
|
+ my_secontext, "name_to_handle_at",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ cwd, cwd_secontext,
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
|
|
+
|
|
+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
|
|
+ my_secontext, "open_by_handle_at",
|
|
+ handle->handle_bytes, handle->handle_type);
|
|
+ print_handle_data((unsigned char *) handle +
|
|
+ sizeof(struct file_handle),
|
|
+ handle->handle_bytes);
|
|
+ rc = syscall(__NR_open_by_handle_at, -1, handle,
|
|
+ O_RDONLY | O_DIRECTORY);
|
|
+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
|
|
+
|
|
+ if (fchdir(cwd_fd))
|
|
+ perror_msg_and_fail("fchdir");
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
Index: strace-5.7/tests-mx32/gen_secontext.sh
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/gen_secontext.sh 2021-08-24 21:08:43.277245841 +0200
|
|
@@ -0,0 +1,72 @@
|
|
+#!/bin/sh -efu
|
|
+#
|
|
+# Copyright (c) 2021 The strace developers.
|
|
+# All rights reserved.
|
|
+#
|
|
+# SPDX-License-Identifier: GPL-2.0-or-later
|
|
+
|
|
+usage()
|
|
+{
|
|
+ cat >&2 <<EOF
|
|
+Usage: $0 [<input>]
|
|
+
|
|
+Generate secontext files from <input> list.
|
|
+EOF
|
|
+ exit 1
|
|
+}
|
|
+
|
|
+if [ $# -eq 0 ]; then
|
|
+ input="${0%/*}/gen_tests.in"
|
|
+else
|
|
+ input="$1"
|
|
+ shift
|
|
+fi
|
|
+dir="$(dirname "$input")"
|
|
+[ $# -eq 0 ] || usage
|
|
+
|
|
+{
|
|
+ cat <<EOF
|
|
+# Generated by $0 from $input; do not edit.
|
|
+
|
|
+secontext_EXECUTABLES = \\
|
|
+EOF
|
|
+ sed -r -n 's/^([^#[:space:]]+--secontext(_full)?)[[:space:]].*/ \1 \\/p' < "$input"
|
|
+ cat <<EOF
|
|
+ #
|
|
+
|
|
+EOF
|
|
+ sed -r -n 's/-/_/g; s/^([^#[:space:]]+__secontext(_full)?)[[:space:]].*/\1_LDADD = \$(LDADD) \$(libselinux_LDADD)/p' < "$input"
|
|
+} > "$dir/secontext.am"
|
|
+
|
|
+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" |
|
|
+while read -r name; do {
|
|
+ cat <<-EOF > "$dir/$name.c"
|
|
+ /*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+ #include "tests.h"
|
|
+
|
|
+ #ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+ # define TEST_SECONTEXT
|
|
+ # include "${name%--secontext}.c"
|
|
+
|
|
+ #else
|
|
+
|
|
+ SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+ #endif
|
|
+ EOF
|
|
+} < /dev/null; done
|
|
+
|
|
+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" |
|
|
+while read -r name; do {
|
|
+ cat <<-EOF > "$dir/$name.c"
|
|
+ #define PRINT_SECONTEXT_FULL
|
|
+ #include "${name%_full}.c"
|
|
+ EOF
|
|
+} < /dev/null; done
|
|
Index: strace-5.7/tests-mx32/gen_tests.in
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/gen_tests.in 2021-08-24 21:08:35.397312536 +0200
|
|
+++ strace-5.7/tests-mx32/gen_tests.in 2021-08-24 21:08:43.278245832 +0200
|
|
@@ -10,6 +10,8 @@
|
|
accept -a22
|
|
accept4 -a37
|
|
access -a30 --trace-path=access_sample
|
|
+access--secontext -a30 --secontext --trace-path=access_sample -e trace=access
|
|
+access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access
|
|
acct -a20
|
|
add_key -a30 -s12
|
|
adjtimex -a15
|
|
@@ -24,6 +26,8 @@
|
|
bpf-v -a20 -v -e trace=bpf
|
|
btrfs +ioctl.test
|
|
chmod -a28
|
|
+chmod--secontext -a28 --secontext -e trace=chmod
|
|
+chmod--secontext_full -a28 --secontext=full -e trace=chmod
|
|
chown -a28
|
|
chown32 -a31
|
|
chroot -a24
|
|
@@ -71,25 +75,43 @@
|
|
epoll_pwait
|
|
epoll_wait -a26
|
|
erestartsys -a34 -e signal=none -e trace=recvfrom
|
|
+execve--secontext +execve.test --secontext
|
|
+execve--secontext_full +execve.test --secontext=full
|
|
execveat
|
|
+execveat--secontext --secontext --trace=execveat
|
|
+execveat--secontext_full --secontext=full --trace=execveat
|
|
execveat-v -v -e trace=execveat
|
|
+faccessat--secontext +faccessat.test -a24 --secontext
|
|
+faccessat--secontext_full +faccessat.test -a24 --secontext=full
|
|
faccessat-P -a23 --trace=faccessat -P /dev/full
|
|
faccessat-y +faccessat.test -a24 -y
|
|
+faccessat-y--secontext +faccessat.test -a24 -y --secontext
|
|
+faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full
|
|
faccessat-yy +faccessat.test -a24 -yy
|
|
fadvise64_64 +fadvise64.test
|
|
fallocate -a18
|
|
fanotify_init
|
|
fanotify_mark -a32
|
|
+fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark
|
|
+fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark
|
|
fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark
|
|
fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark
|
|
fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark
|
|
fchdir -a11
|
|
fchmod -a15
|
|
+fchmod--secontext -a15 --secontext -e trace=fchmod
|
|
+fchmod--secontext_full -a15 --secontext=full -e trace=fchmod
|
|
fchmod-y -y -e trace=fchmod
|
|
+fchmod-y--secontext -a15 -y --secontext -e trace=fchmod
|
|
+fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod
|
|
fchmodat
|
|
+fchmodat--secontext --secontext -e trace=fchmodat
|
|
+fchmodat--secontext_full --secontext=full -e trace=fchmodat
|
|
fchown -a16
|
|
fchown32 -a18
|
|
fchownat
|
|
+fchownat--secontext --secontext -e trace=fchownat
|
|
+fchownat--secontext_full --secontext=full -e trace=fchownat
|
|
fcntl -a8
|
|
fcntl--pidns-translation test_pidns -a8 -e trace=fcntl
|
|
fcntl64 -a8
|
|
@@ -97,6 +119,8 @@
|
|
fdatasync -a14
|
|
file_handle -e trace=name_to_handle_at,open_by_handle_at
|
|
file_ioctl +ioctl.test
|
|
+file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at
|
|
+file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at
|
|
filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
|
|
filter_seccomp-flag ../$NAME
|
|
finit_module -a25
|
|
@@ -295,6 +319,8 @@
|
|
lchown32 -a32
|
|
link
|
|
linkat
|
|
+linkat--secontext --secontext -e trace=linkat
|
|
+linkat--secontext_full --secontext=full -e trace=linkat
|
|
lookup_dcookie -a27
|
|
lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
|
|
lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
|
|
@@ -434,9 +460,13 @@
|
|
oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full
|
|
oldstat -a32 -v -P stat.sample -P /dev/full
|
|
open -a30 -P $NAME.sample
|
|
+open--secontext -a30 -P open.sample --secontext --trace=open
|
|
+open--secontext_full -a30 -P open.sample --secontext=full --trace=open
|
|
open_tree -a30 -y
|
|
open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
|
|
openat -a36 -P $NAME.sample
|
|
+openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
|
|
+openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
|
|
openat2 -a35
|
|
openat2-Xabbrev --trace=openat2 -a35 -Xabbrev
|
|
openat2-Xraw --trace=openat2 -a32 -Xraw
|
|
Index: strace-5.7/tests-mx32/linkat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/linkat.c 2021-08-24 21:08:35.397312536 +0200
|
|
+++ strace-5.7/tests-mx32/linkat.c 2021-08-24 21:08:43.278245832 +0200
|
|
@@ -10,8 +10,14 @@
|
|
|
|
#ifdef __NR_linkat
|
|
|
|
+# include <fcntl.h>
|
|
# include <stdio.h>
|
|
+# include <stdlib.h>
|
|
# include <unistd.h>
|
|
+# include <sys/stat.h>
|
|
+
|
|
+# include "secontext.h"
|
|
+# include "xmalloc.h"
|
|
|
|
int
|
|
main(void)
|
|
@@ -27,18 +33,158 @@
|
|
const long fd_old = (long) 0xdeadbeefffffffffULL;
|
|
const long fd_new = (long) 0xdeadbeeffffffffeULL;
|
|
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
+
|
|
+ (void) unlink(sample_1);
|
|
+ (void) unlink(sample_2);
|
|
+
|
|
long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
|
|
- printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
|
|
+ printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
|
|
+ my_secontext, "linkat",
|
|
(int) fd_old, sample_1, (int) fd_new, sample_2,
|
|
rc, errno2name());
|
|
|
|
rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
|
|
- printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
|
|
+ printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
|
|
+ my_secontext, "linkat",
|
|
"AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
|
|
"AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
|
|
"|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
|
|
rc, errno2name());
|
|
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd_sample_1 < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+ if (close(fd_sample_1))
|
|
+ perror_msg_and_fail("close");
|
|
+
|
|
+ char *sample_1_secontext = SECONTEXT_FILE(sample_1);
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ const char *sample_2_secontext = sample_1_secontext;
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400);
|
|
+ if (fd_sample_2 < 0)
|
|
+ perror_msg_and_fail("open");
|
|
+ if (close(fd_sample_2))
|
|
+ perror_msg_and_fail("close");
|
|
+
|
|
+ free(sample_1_secontext);
|
|
+ update_secontext_type(sample_1, "default_t");
|
|
+ sample_1_secontext = SECONTEXT_FILE(sample_1);
|
|
+ sample_2_secontext = sample_1_secontext;
|
|
+
|
|
+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", sample_2);
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int dfd_old = get_dir_fd(".");
|
|
+ char *cwd = get_fd_path(dfd_old);
|
|
+ char *dfd_old_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ sample_2, sample_2_secontext,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (unlink(sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", sample_2);
|
|
+
|
|
+ static const char new_dir[] = "new";
|
|
+ char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2);
|
|
+
|
|
+ (void) unlink(new_sample_2);
|
|
+ (void) rmdir(new_dir);
|
|
+
|
|
+ if (mkdir(new_dir, 0700))
|
|
+ perror_msg_and_fail("mkdir");
|
|
+ char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir);
|
|
+ char *new_dir_secontext = SECONTEXT_FILE(new_dir);
|
|
+ int dfd_new = get_dir_fd(new_dir);
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
|
|
+ /* no context printed for sample_2 since file doesn't exist yet */
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ dfd_new, new_dir_secontext,
|
|
+ sample_2,
|
|
+ sprintrc(rc));
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ dfd_new, new_dir_secontext,
|
|
+ sample_2, SECONTEXT_FILE(new_sample_2),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2);
|
|
+
|
|
+ /* dfd ignored when path is absolute */
|
|
+ if (chdir("../.."))
|
|
+ perror_msg_and_fail("chdir");
|
|
+
|
|
+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
|
|
+ my_secontext, "linkat",
|
|
+ dfd_old, dfd_old_secontext,
|
|
+ sample_1, sample_1_secontext,
|
|
+ new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath),
|
|
+ sprintrc(rc));
|
|
+
|
|
+ if (fchdir(dfd_old))
|
|
+ perror_msg_and_fail("fchdir");
|
|
+
|
|
+ if (unlink(sample_1))
|
|
+ perror_msg_and_fail("unlink: %s", sample_1);
|
|
+ if (unlink(new_sample_2))
|
|
+ perror_msg_and_fail("unlink: %s", new_sample_2);
|
|
+ if (rmdir(new_dir))
|
|
+ perror_msg_and_fail("rmdir: %s", new_dir);
|
|
+
|
|
leave_and_remove_subdir();
|
|
|
|
puts("+++ exited with 0 +++");
|
|
Index: strace-5.7/tests-mx32/open.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/open.c 2021-08-24 21:08:35.397312536 +0200
|
|
+++ strace-5.7/tests-mx32/open.c 2021-08-24 21:08:43.278245832 +0200
|
|
@@ -15,6 +15,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
int
|
|
main(void)
|
|
{
|
|
@@ -25,10 +27,12 @@
|
|
create_and_enter_subdir("open_subdir");
|
|
|
|
static const char sample[] = "open.sample";
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
|
|
long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
|
|
- printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "open",
|
|
+ sample, sprintrc(fd), SECONTEXT_FILE(sample));
|
|
|
|
if (fd != -1) {
|
|
close(fd);
|
|
@@ -36,16 +40,18 @@
|
|
perror_msg_and_fail("unlink");
|
|
|
|
fd = syscall(__NR_open, sample, O_RDONLY);
|
|
- printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_RDONLY) = %s\n",
|
|
+ my_secontext, "open", sample, sprintrc(fd));
|
|
|
|
fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000);
|
|
- printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
+ printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
|
|
+ my_secontext, "open", sample, sprintrc(fd));
|
|
}
|
|
|
|
# ifdef O_TMPFILE
|
|
fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600);
|
|
- printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
|
|
+ printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
|
|
+ my_secontext, "open",
|
|
sample, sprintrc(fd));
|
|
# endif /* O_TMPFILE */
|
|
|
|
Index: strace-5.7/tests-mx32/openat.c
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/openat.c 2021-08-24 21:08:35.397312536 +0200
|
|
+++ strace-5.7/tests-mx32/openat.c 2021-08-24 21:08:43.278245832 +0200
|
|
@@ -15,6 +15,8 @@
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
+# include "secontext.h"
|
|
+
|
|
# ifdef O_TMPFILE
|
|
/* The kernel & C libraries often inline O_DIRECTORY. */
|
|
# define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY)
|
|
@@ -26,10 +28,12 @@
|
|
|
|
static void
|
|
test_mode_flag(unsigned int mode_val, const char *mode_str,
|
|
- unsigned int flag_val, const char *flag_str)
|
|
+ unsigned int flag_val, const char *flag_str,
|
|
+ const char *my_secontext)
|
|
{
|
|
long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0);
|
|
- printf("openat(-1, \"%s\", %s%s%s%s) = %s\n",
|
|
+ printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n",
|
|
+ my_secontext, "openat",
|
|
sample, mode_str,
|
|
flag_val ? "|" : "", flag_str,
|
|
flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "",
|
|
@@ -45,20 +49,7 @@
|
|
*/
|
|
create_and_enter_subdir("openat_subdir");
|
|
|
|
- long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
|
|
- printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
-
|
|
- if (fd != -1) {
|
|
- close(fd);
|
|
- if (unlink(sample) == -1)
|
|
- perror_msg_and_fail("unlink");
|
|
-
|
|
- fd = syscall(__NR_openat, -100, sample, O_RDONLY);
|
|
- printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n",
|
|
- sample, sprintrc(fd));
|
|
- }
|
|
-
|
|
+ char *my_secontext = SECONTEXT_PID_MY();
|
|
struct {
|
|
unsigned int val;
|
|
const char *str;
|
|
@@ -105,7 +96,73 @@
|
|
for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m)
|
|
for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f)
|
|
test_mode_flag(modes[m].val, modes[m].str,
|
|
- flags[f].val, flags[f].str);
|
|
+ flags[f].val, flags[f].str,
|
|
+ my_secontext);
|
|
+
|
|
+ /*
|
|
+ * Tests with AT_FDCWD.
|
|
+ */
|
|
+
|
|
+ (void) unlink(sample);
|
|
+ long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
|
|
+
|
|
+ char *sample_secontext = SECONTEXT_FILE(sample);
|
|
+
|
|
+ /*
|
|
+ * File context in openat() is not displayed because file doesn't exist
|
|
+ * yet, but is displayed in return value since the file got created.
|
|
+ */
|
|
+ printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ sample,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+
|
|
+ close(fd);
|
|
+
|
|
+ fd = syscall(__NR_openat, -100, sample, O_RDONLY);
|
|
+ printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+ if (fd != -1) {
|
|
+ close(fd);
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+ }
|
|
+
|
|
+ /*
|
|
+ * Tests with dirfd.
|
|
+ */
|
|
+
|
|
+ int cwd_fd = get_dir_fd(".");
|
|
+ char *cwd_secontext = SECONTEXT_FILE(".");
|
|
+
|
|
+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400);
|
|
+ if (fd == -1)
|
|
+ perror_msg_and_fail("openat");
|
|
+ close(fd);
|
|
+
|
|
+ /*
|
|
+ * File context in openat() is not displayed because file doesn't exist
|
|
+ * yet, but is displayed in return value since the file got created.
|
|
+ */
|
|
+ printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+
|
|
+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY);
|
|
+ printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n",
|
|
+ my_secontext, "openat",
|
|
+ cwd_fd, cwd_secontext,
|
|
+ sample, sample_secontext,
|
|
+ sprintrc(fd), sample_secontext);
|
|
+ if (fd != -1) {
|
|
+ close(fd);
|
|
+ if (unlink(sample))
|
|
+ perror_msg_and_fail("unlink");
|
|
+ }
|
|
|
|
leave_and_remove_subdir();
|
|
|
|
Index: strace-5.7/tests-mx32/options-syntax.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/options-syntax.test 2021-08-24 21:08:35.398312527 +0200
|
|
+++ strace-5.7/tests-mx32/options-syntax.test 2021-08-24 21:08:43.279245824 +0200
|
|
@@ -2,14 +2,16 @@
|
|
#
|
|
# Check strace options syntax.
|
|
#
|
|
-# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
|
|
-# Copyright (c) 2016-2020 The strace developers.
|
|
+# Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
|
|
+# Copyright (c) 2016-2021 The strace developers.
|
|
# All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
. "${srcdir=.}/syntax.sh"
|
|
|
|
+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y")
|
|
+
|
|
check_e "Invalid process id: '0'" -p 0
|
|
check_e "Invalid process id: '0'" --attach=0
|
|
check_e "Invalid process id: '-42'" -p -42
|
|
@@ -46,6 +48,8 @@
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
|
|
check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
|
|
+[ -z "$compiled_with_secontext" ] ||
|
|
+ check_h "invalid --secontext argument: 'ss'" --secontext=ss
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
|
|
check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
|
|
@@ -281,6 +285,11 @@
|
|
$STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters.
|
|
$STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true
|
|
|
|
+ if [ -n "$compiled_with_secontext" ]; then
|
|
+ check_e "--secontext has no effect with -c/--summary-only
|
|
+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true
|
|
+ fi
|
|
+
|
|
for c in --output-separately -A/--output-append-mode; do
|
|
check_e "$c has no effect without -o/--output
|
|
$STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true
|
|
Index: strace-5.7/tests-mx32/secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/secontext.c 2021-08-24 21:08:43.279245824 +0200
|
|
@@ -0,0 +1,201 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# include <assert.h>
|
|
+# include <errno.h>
|
|
+# include <stdlib.h>
|
|
+# include <string.h>
|
|
+# include <unistd.h>
|
|
+# include <selinux/selinux.h>
|
|
+
|
|
+# include "xmalloc.h"
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "secontext.h"
|
|
+
|
|
+static char *
|
|
+secontext_format(char *context, const char *fmt)
|
|
+ ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
|
|
+
|
|
+static char *
|
|
+secontext_format(char *context, const char *fmt)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *res = context ? xasprintf(fmt, context) : xstrdup("");
|
|
+ free(context);
|
|
+ errno = saved_errno;
|
|
+ return res;
|
|
+}
|
|
+
|
|
+# define FORMAT_SPACE_BEFORE(string) secontext_format(string, " [%s]")
|
|
+# define FORMAT_SPACE_AFTER(string) secontext_format(string, "[%s] ")
|
|
+
|
|
+static char *
|
|
+strip_trailing_newlines(char *context)
|
|
+{
|
|
+ /*
|
|
+ * On the CI at least, the context may have a trailing \n,
|
|
+ * let's remove it just in case.
|
|
+ */
|
|
+ size_t len = strlen(context);
|
|
+ for (; len > 0; --len) {
|
|
+ if (context[len - 1] != '\n')
|
|
+ break;
|
|
+ }
|
|
+ context[len] = '\0';
|
|
+ return context;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_full_file(const char *filename)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *full_secontext = NULL;
|
|
+ char *secontext;
|
|
+
|
|
+ if (getfilecon(filename, &secontext) >= 0) {
|
|
+ full_secontext = strip_trailing_newlines(xstrdup(secontext));
|
|
+ freecon(secontext);
|
|
+ }
|
|
+ errno = saved_errno;
|
|
+ return full_secontext;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_short_file(const char *filename)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+
|
|
+ char *ctx = raw_secontext_full_file(filename);
|
|
+ if (ctx == NULL)
|
|
+ return ctx;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ const char *token;
|
|
+ unsigned int i;
|
|
+
|
|
+ char *ctx_copy = xstrdup(ctx);
|
|
+ char *context = NULL;
|
|
+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ context = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ if (context == NULL)
|
|
+ context = xstrdup(ctx);
|
|
+ free(ctx_copy);
|
|
+ free(ctx);
|
|
+
|
|
+ errno = saved_errno;
|
|
+ return context;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_full_pid(pid_t pid)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+ char *full_secontext = NULL;
|
|
+ char *secontext;
|
|
+
|
|
+ if (getpidcon(pid, &secontext) == 0) {
|
|
+ full_secontext = strip_trailing_newlines(xstrdup(secontext));
|
|
+ freecon(secontext);
|
|
+ }
|
|
+ errno = saved_errno;
|
|
+ return full_secontext;
|
|
+}
|
|
+
|
|
+static char *
|
|
+raw_secontext_short_pid(pid_t pid)
|
|
+{
|
|
+ int saved_errno = errno;
|
|
+
|
|
+ char *ctx = raw_secontext_full_pid(pid);
|
|
+ if (ctx == NULL)
|
|
+ return ctx;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ const char *token;
|
|
+ int i;
|
|
+
|
|
+ char *ctx_copy = xstrdup(ctx);
|
|
+ char *context = NULL;
|
|
+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), i++) {
|
|
+ if (i == 2) {
|
|
+ context = xstrdup(token);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ if (context == NULL)
|
|
+ context = xstrdup(ctx);
|
|
+ free(ctx_copy);
|
|
+ free(ctx);
|
|
+
|
|
+ errno = saved_errno;
|
|
+ return context;
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_full_file(const char *filename)
|
|
+{
|
|
+ return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_full_pid(pid_t pid)
|
|
+{
|
|
+ return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_short_file(const char *filename)
|
|
+{
|
|
+ return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
|
|
+}
|
|
+
|
|
+char *
|
|
+secontext_short_pid(pid_t pid)
|
|
+{
|
|
+ return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
|
|
+}
|
|
+
|
|
+void
|
|
+update_secontext_type(const char *file, const char *newtype)
|
|
+{
|
|
+ char *ctx = raw_secontext_full_file(file);
|
|
+ if (ctx == NULL)
|
|
+ return;
|
|
+
|
|
+ char *saveptr = NULL;
|
|
+ char *token;
|
|
+ int field;
|
|
+ char *split[4];
|
|
+
|
|
+ for (token = strtok_r(ctx, ":", &saveptr), field = 0;
|
|
+ token; token = strtok_r(NULL, ":", &saveptr), field++) {
|
|
+ assert(field < 4);
|
|
+ split[field] = token;
|
|
+ }
|
|
+ assert(field == 4);
|
|
+
|
|
+ char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
|
|
+ newtype, split[3]);
|
|
+
|
|
+ (void) setfilecon(file, newcontext);
|
|
+
|
|
+ free(newcontext);
|
|
+ free(ctx);
|
|
+}
|
|
+
|
|
+#endif /* HAVE_SELINUX_RUNTIME */
|
|
Index: strace-5.7/tests-mx32/secontext.h
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/secontext.h 2021-08-24 21:08:43.279245824 +0200
|
|
@@ -0,0 +1,46 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+#include "xmalloc.h"
|
|
+#include <unistd.h>
|
|
+
|
|
+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
|
|
+
|
|
+void update_secontext_type(const char *file, const char *newtype);
|
|
+
|
|
+# ifdef PRINT_SECONTEXT_FULL
|
|
+
|
|
+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
|
|
+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
|
|
+
|
|
+# define SECONTEXT_FILE(filename) secontext_full_file(filename)
|
|
+# define SECONTEXT_PID(pid) secontext_full_pid(pid)
|
|
+
|
|
+# else
|
|
+
|
|
+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
|
|
+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
|
|
+
|
|
+# define SECONTEXT_FILE(filename) secontext_short_file(filename)
|
|
+# define SECONTEXT_PID(pid) secontext_short_pid(pid)
|
|
+
|
|
+# endif
|
|
+
|
|
+#else
|
|
+
|
|
+static inline void
|
|
+update_secontext_type(const char *file, const char *newtype)
|
|
+{
|
|
+}
|
|
+
|
|
+# define SECONTEXT_FILE(filename) xstrdup("")
|
|
+# define SECONTEXT_PID(pid) xstrdup("")
|
|
+
|
|
+#endif
|
|
+
|
|
+#define SECONTEXT_PID_MY() SECONTEXT_PID(getpid())
|
|
Index: strace-5.7/tests-mx32/strace-V.test
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/strace-V.test 2021-08-24 21:08:35.398312527 +0200
|
|
+++ strace-5.7/tests-mx32/strace-V.test 2021-08-24 21:08:43.279245824 +0200
|
|
@@ -33,7 +33,9 @@
|
|
;;
|
|
esac
|
|
|
|
-features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
|
|
+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext")
|
|
+
|
|
+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}"
|
|
[ -n "$features" ] || features=" (none)"
|
|
|
|
cat > "$EXP" << __EOF__
|
|
Index: strace-5.7/util.c
|
|
===================================================================
|
|
--- strace-5.7.orig/util.c 2021-08-24 21:08:35.399312519 +0200
|
|
+++ strace-5.7/util.c 2021-08-24 21:08:43.279245824 +0200
|
|
@@ -26,6 +26,7 @@
|
|
#include "largefile_wrappers.h"
|
|
#include "number_set.h"
|
|
#include "print_utils.h"
|
|
+#include "secontext.h"
|
|
#include "static_assert.h"
|
|
#include "string_to_uint.h"
|
|
#include "xlat.h"
|
|
@@ -653,6 +654,13 @@
|
|
} else {
|
|
tprintf("%d", fd);
|
|
}
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ char *context;
|
|
+ if (!selinux_getfdcon(pid, fd, &context)) {
|
|
+ tprintf(" [%s]", context);
|
|
+ free(context);
|
|
+ }
|
|
+#endif
|
|
}
|
|
|
|
void
|
|
@@ -945,6 +953,14 @@
|
|
else {
|
|
path[n++] = !nul_seen;
|
|
print_quoted_cstring(path, n);
|
|
+
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ char *context;
|
|
+ if (nul_seen && !selinux_getfilecon(tcp, path, &context)) {
|
|
+ tprintf(" [%s]", context);
|
|
+ free(context);
|
|
+ }
|
|
+#endif
|
|
}
|
|
|
|
return nul_seen;
|
|
Index: strace-5.7/xgetdents.c
|
|
===================================================================
|
|
--- strace-5.7.orig/xgetdents.c 2021-08-24 21:08:35.399312519 +0200
|
|
+++ strace-5.7/xgetdents.c 2021-08-24 21:08:43.280245815 +0200
|
|
@@ -122,6 +122,9 @@
|
|
{
|
|
if (entering(tcp)) {
|
|
printfd(tcp, tcp->u_arg[0]);
|
|
+#ifdef ENABLE_SECONTEXT
|
|
+ tcp->last_dirfd = (int) tcp->u_arg[0];
|
|
+#endif
|
|
tprints(", ");
|
|
return 0;
|
|
}
|
|
Index: strace-5.7/Makefile.in
|
|
===================================================================
|
|
--- strace-5.7.orig/Makefile.in 2021-08-24 21:08:35.404312477 +0200
|
|
+++ strace-5.7/Makefile.in 2021-08-24 21:08:43.282245798 +0200
|
|
@@ -122,14 +122,21 @@
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_11 = $(libiberty_CPPFLAGS)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_12 = $(libiberty_LDFLAGS)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_13 = $(libiberty_LIBS)
|
|
-@HAVE_M32_MPERS_TRUE@am__append_14 = libmpers-m32.a
|
|
-@HAVE_M32_MPERS_TRUE@am__append_15 = libmpers-m32.a
|
|
-@HAVE_M32_MPERS_TRUE@am__append_16 = $(mpers_m32_targets)
|
|
-@HAVE_M32_MPERS_TRUE@am__append_17 = $(mpers_m32_targets)
|
|
-@HAVE_MX32_MPERS_TRUE@am__append_18 = libmpers-mx32.a
|
|
-@HAVE_MX32_MPERS_TRUE@am__append_19 = libmpers-mx32.a
|
|
-@HAVE_MX32_MPERS_TRUE@am__append_20 = $(mpers_mx32_targets)
|
|
-@HAVE_MX32_MPERS_TRUE@am__append_21 = $(mpers_mx32_targets)
|
|
+@ENABLE_SECONTEXT_TRUE@am__append_14 = \
|
|
+@ENABLE_SECONTEXT_TRUE@ secontext.c \
|
|
+@ENABLE_SECONTEXT_TRUE@ secontext.h
|
|
+
|
|
+@ENABLE_SECONTEXT_TRUE@am__append_15 = $(libselinux_CPPFLAGS)
|
|
+@ENABLE_SECONTEXT_TRUE@am__append_16 = $(libselinux_LDFLAGS)
|
|
+@ENABLE_SECONTEXT_TRUE@am__append_17 = $(libselinux_LIBS)
|
|
+@HAVE_M32_MPERS_TRUE@am__append_18 = libmpers-m32.a
|
|
+@HAVE_M32_MPERS_TRUE@am__append_19 = libmpers-m32.a
|
|
+@HAVE_M32_MPERS_TRUE@am__append_20 = $(mpers_m32_targets)
|
|
+@HAVE_M32_MPERS_TRUE@am__append_21 = $(mpers_m32_targets)
|
|
+@HAVE_MX32_MPERS_TRUE@am__append_22 = libmpers-mx32.a
|
|
+@HAVE_MX32_MPERS_TRUE@am__append_23 = libmpers-mx32.a
|
|
+@HAVE_MX32_MPERS_TRUE@am__append_24 = $(mpers_mx32_targets)
|
|
+@HAVE_MX32_MPERS_TRUE@am__append_25 = $(mpers_mx32_targets)
|
|
subdir = .
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
|
|
@@ -178,6 +185,7 @@
|
|
$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
|
|
$(top_srcdir)/m4/st_libunwind.m4 \
|
|
$(top_srcdir)/m4/st_save_restore_var.m4 \
|
|
+ $(top_srcdir)/m4/st_selinux.m4 \
|
|
$(top_srcdir)/m4/st_stacktrace.m4 \
|
|
$(top_srcdir)/m4/st_warn_cflags.m4 \
|
|
$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
|
|
@@ -382,7 +390,7 @@
|
|
types/check-rtnl_link.c types/check-rtnl_mdb.c \
|
|
types/check-rtnl_neightbl.c types/check-rtnl_route.c \
|
|
types/check-v4l2.c unwind.c unwind.h unwind-libdw.c \
|
|
- unwind-libunwind.c
|
|
+ unwind-libunwind.c secontext.c secontext.h
|
|
am__objects_3 =
|
|
am__dirstamp = $(am__leading_dot)dirstamp
|
|
am__objects_4 = types/libstrace_a-check-cryptouser.$(OBJEXT) \
|
|
@@ -398,6 +406,8 @@
|
|
@ENABLE_STACKTRACE_TRUE@am__objects_6 = libstrace_a-unwind.$(OBJEXT)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__objects_7 = libstrace_a-unwind-libdw.$(OBJEXT)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__objects_8 = libstrace_a-unwind-libunwind.$(OBJEXT)
|
|
+@ENABLE_SECONTEXT_TRUE@am__objects_9 = \
|
|
+@ENABLE_SECONTEXT_TRUE@ libstrace_a-secontext.$(OBJEXT)
|
|
am_libstrace_a_OBJECTS = libstrace_a-access.$(OBJEXT) \
|
|
libstrace_a-affinity.$(OBJEXT) libstrace_a-aio.$(OBJEXT) \
|
|
libstrace_a-alpha.$(OBJEXT) \
|
|
@@ -567,7 +577,7 @@
|
|
libstrace_a-xattr.$(OBJEXT) libstrace_a-xgetdents.$(OBJEXT) \
|
|
libstrace_a-xlat.$(OBJEXT) libstrace_a-xmalloc.$(OBJEXT) \
|
|
$(am__objects_3) $(am__objects_5) $(am__objects_6) \
|
|
- $(am__objects_7) $(am__objects_8)
|
|
+ $(am__objects_7) $(am__objects_8) $(am__objects_9)
|
|
libstrace_a_OBJECTS = $(am_libstrace_a_OBJECTS)
|
|
am_strace_OBJECTS = strace-strace.$(OBJEXT)
|
|
strace_OBJECTS = $(am_strace_OBJECTS)
|
|
@@ -576,10 +586,12 @@
|
|
@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@ $(am__DEPENDENCIES_1)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
|
|
+@ENABLE_SECONTEXT_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1)
|
|
strace_DEPENDENCIES = libstrace.a $(am__DEPENDENCIES_1) \
|
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
|
|
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \
|
|
- $(am__DEPENDENCIES_1) $(am__append_14) $(am__append_18)
|
|
+ $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_1) $(am__append_18) \
|
|
+ $(am__append_22)
|
|
strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \
|
|
$(LDFLAGS) -o $@
|
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
@@ -1223,6 +1235,9 @@
|
|
libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
|
|
libiberty_LDFLAGS = @libiberty_LDFLAGS@
|
|
libiberty_LIBS = @libiberty_LIBS@
|
|
+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
|
|
+libselinux_LDFLAGS = @libselinux_LDFLAGS@
|
|
+libselinux_LIBS = @libselinux_LIBS@
|
|
libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
|
|
libunwind_LDFLAGS = @libunwind_LDFLAGS@
|
|
libunwind_LIBS = @libunwind_LIBS@
|
|
@@ -1782,14 +1797,15 @@
|
|
xlat/xattrflags.h xlat/xdp_flags.h xlat/xfs_dqblk_flags.h \
|
|
xlat/xfs_quota_flags.h
|
|
strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_3) $(am__append_8) \
|
|
- $(am__append_11) $(CODE_COVERAGE_CPPFLAGS)
|
|
+ $(am__append_11) $(am__append_15) $(CODE_COVERAGE_CPPFLAGS)
|
|
strace_CFLAGS = $(AM_CFLAGS) $(am__append_4) $(CODE_COVERAGE_CFLAGS)
|
|
-strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12)
|
|
+strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12) \
|
|
+ $(am__append_16)
|
|
strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_6) \
|
|
- $(am__append_10) $(am__append_13) $(CODE_COVERAGE_LIBS) \
|
|
- $(am__append_14) $(am__append_18)
|
|
+ $(am__append_10) $(am__append_13) $(am__append_17) \
|
|
+ $(CODE_COVERAGE_LIBS) $(am__append_18) $(am__append_22)
|
|
strace_SOURCES = strace.c
|
|
-noinst_LIBRARIES = libstrace.a $(am__append_15) $(am__append_19)
|
|
+noinst_LIBRARIES = libstrace.a $(am__append_19) $(am__append_23)
|
|
libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
|
|
libstrace_a_CFLAGS = $(strace_CFLAGS)
|
|
libstrace_a_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.h \
|
|
@@ -1864,7 +1880,7 @@
|
|
wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \
|
|
xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \
|
|
$(TYPES_HEADER_FILES) $(strace_SOURCES_check) $(am__append_1) \
|
|
- $(am__append_2) $(am__append_7)
|
|
+ $(am__append_2) $(am__append_7) $(am__append_14)
|
|
strace_SOURCES_check = bpf_attr_check.c $(TYPES_CHECK_FILES)
|
|
CODE_COVERAGE_BRANCH_COVERAGE = 1
|
|
CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
|
|
@@ -2459,12 +2475,12 @@
|
|
ioctl_redefs_h = $(filter-out ioctl_redefs0.h,$(subst ioctlent,ioctl_redefs,$(ioctlent_h)))
|
|
BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) bpf_attr_check.c \
|
|
native_printer_decls.h native_printer_defs.h printers.h sen.h \
|
|
- sys_func.h .version scno.h $(am__append_16) $(am__append_20)
|
|
+ sys_func.h .version scno.h $(am__append_20) $(am__append_24)
|
|
CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
|
|
ioctl_iocdef.h ioctl_iocdef.i bpf_attr_check.c \
|
|
native_printer_decls.h native_printer_defs.h printers.h sen.h \
|
|
- sys_func.h syscallent.i scno.h $(am__append_17) \
|
|
- $(am__append_21)
|
|
+ sys_func.h syscallent.i scno.h $(am__append_21) \
|
|
+ $(am__append_25)
|
|
DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h linux/linux/signal.h
|
|
SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
|
|
@@ -2963,6 +2979,7 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sched.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-scsi.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-seccomp.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-secontext.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sendfile.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sg_io_v3.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sg_io_v4.Po@am__quote@ # am--include-marker
|
|
@@ -7814,6 +7831,20 @@
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi`
|
|
|
|
+libstrace_a-secontext.o: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-secontext.o -MD -MP -MF $(DEPDIR)/libstrace_a-secontext.Tpo -c -o libstrace_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-secontext.Tpo $(DEPDIR)/libstrace_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libstrace_a-secontext.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+
|
|
+libstrace_a-secontext.obj: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-secontext.obj -MD -MP -MF $(DEPDIR)/libstrace_a-secontext.Tpo -c -o libstrace_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-secontext.Tpo $(DEPDIR)/libstrace_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libstrace_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+
|
|
strace-strace.o: strace.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.o -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po
|
|
Index: strace-5.7/tests/Makefile.in
|
|
===================================================================
|
|
--- strace-5.7.orig/tests/Makefile.in 2021-08-24 21:08:35.436312206 +0200
|
|
+++ strace-5.7/tests/Makefile.in 2021-08-24 21:08:43.286245764 +0200
|
|
@@ -22,6 +22,8 @@
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit.
|
|
+
|
|
# scno.h make rules for strace.
|
|
#
|
|
# Copyright (c) 2017-2019 Dmitry V. Levin <ldv@altlinux.org>
|
|
@@ -102,8 +104,8 @@
|
|
POST_UNINSTALL = :
|
|
build_triplet = @build@
|
|
host_triplet = @host@
|
|
-check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
|
|
- attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
|
|
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \
|
|
+ answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
|
|
attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
|
|
block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \
|
|
bpf-obj_get_info_by_fd$(EXEEXT) \
|
|
@@ -221,7 +223,7 @@
|
|
xetpriority--pidns-translation$(EXEEXT) \
|
|
xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
|
|
-TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
|
|
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3)
|
|
subdir = tests
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
|
|
@@ -270,6 +272,7 @@
|
|
$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
|
|
$(top_srcdir)/m4/st_libunwind.m4 \
|
|
$(top_srcdir)/m4/st_save_restore_var.m4 \
|
|
+ $(top_srcdir)/m4/st_selinux.m4 \
|
|
$(top_srcdir)/m4/st_stacktrace.m4 \
|
|
$(top_srcdir)/m4/st_warn_cflags.m4 \
|
|
$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
|
|
@@ -298,7 +301,8 @@
|
|
epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
|
|
epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
|
|
erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
|
|
- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
|
|
+ execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \
|
|
+ faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \
|
|
fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
|
|
fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
|
|
fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
|
|
@@ -543,6 +547,26 @@
|
|
xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
|
|
xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
|
|
xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
|
|
+am__EXEEXT_2 = access--secontext$(EXEEXT) \
|
|
+ access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
|
|
+ chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
|
|
+ execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
|
|
+ execveat--secontext_full$(EXEEXT) \
|
|
+ faccessat--secontext$(EXEEXT) \
|
|
+ faccessat--secontext_full$(EXEEXT) \
|
|
+ faccessat-y--secontext$(EXEEXT) \
|
|
+ faccessat-y--secontext_full$(EXEEXT) \
|
|
+ fanotify_mark--secontext$(EXEEXT) \
|
|
+ fanotify_mark--secontext_full$(EXEEXT) \
|
|
+ fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
|
|
+ fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
|
|
+ fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
|
|
+ fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
|
|
+ file_handle--secontext$(EXEEXT) \
|
|
+ file_handle--secontext_full$(EXEEXT) \
|
|
+ linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
|
|
+ open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
|
|
+ openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
|
|
ARFLAGS = cru
|
|
AM_V_AR = $(am__v_AR_@AM_V@)
|
|
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
|
|
@@ -571,6 +595,7 @@
|
|
libtests_a-printxval-Xabbrev.$(OBJEXT) \
|
|
libtests_a-printxval-Xraw.$(OBJEXT) \
|
|
libtests_a-printxval-Xverbose.$(OBJEXT) \
|
|
+ libtests_a-secontext.$(OBJEXT) \
|
|
libtests_a-signal2name.$(OBJEXT) \
|
|
libtests_a-skip_unavailable.$(OBJEXT) \
|
|
libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
|
|
@@ -600,6 +625,14 @@
|
|
access_OBJECTS = access.$(OBJEXT)
|
|
access_LDADD = $(LDADD)
|
|
access_DEPENDENCIES = libtests.a
|
|
+access__secontext_SOURCES = access--secontext.c
|
|
+access__secontext_OBJECTS = access--secontext.$(OBJEXT)
|
|
+am__DEPENDENCIES_1 =
|
|
+@HAVE_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
|
|
+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+access__secontext_full_SOURCES = access--secontext_full.c
|
|
+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
|
|
+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
acct_SOURCES = acct.c
|
|
acct_OBJECTS = acct.$(OBJEXT)
|
|
acct_LDADD = $(LDADD)
|
|
@@ -718,6 +751,12 @@
|
|
chmod_OBJECTS = chmod.$(OBJEXT)
|
|
chmod_LDADD = $(LDADD)
|
|
chmod_DEPENDENCIES = libtests.a
|
|
+chmod__secontext_SOURCES = chmod--secontext.c
|
|
+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT)
|
|
+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+chmod__secontext_full_SOURCES = chmod--secontext_full.c
|
|
+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
|
|
+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
chown_SOURCES = chown.c
|
|
chown_OBJECTS = chown.$(OBJEXT)
|
|
chown_LDADD = $(LDADD)
|
|
@@ -828,7 +867,6 @@
|
|
creat_DEPENDENCIES = libtests.a
|
|
delay_SOURCES = delay.c
|
|
delay_OBJECTS = delay.$(OBJEXT)
|
|
-am__DEPENDENCIES_1 =
|
|
delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
|
|
delete_module_SOURCES = delete_module.c
|
|
delete_module_OBJECTS = delete_module.$(OBJEXT)
|
|
@@ -930,6 +968,12 @@
|
|
execve_OBJECTS = execve.$(OBJEXT)
|
|
execve_LDADD = $(LDADD)
|
|
execve_DEPENDENCIES = libtests.a
|
|
+execve__secontext_SOURCES = execve--secontext.c
|
|
+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT)
|
|
+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+execve__secontext_full_SOURCES = execve--secontext_full.c
|
|
+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
|
|
+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
execve_v_SOURCES = execve-v.c
|
|
execve_v_OBJECTS = execve-v.$(OBJEXT)
|
|
execve_v_LDADD = $(LDADD)
|
|
@@ -938,6 +982,12 @@
|
|
execveat_OBJECTS = execveat.$(OBJEXT)
|
|
execveat_LDADD = $(LDADD)
|
|
execveat_DEPENDENCIES = libtests.a
|
|
+execveat__secontext_SOURCES = execveat--secontext.c
|
|
+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT)
|
|
+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+execveat__secontext_full_SOURCES = execveat--secontext_full.c
|
|
+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
|
|
+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
execveat_v_SOURCES = execveat-v.c
|
|
execveat_v_OBJECTS = execveat-v.$(OBJEXT)
|
|
execveat_v_LDADD = $(LDADD)
|
|
@@ -946,6 +996,34 @@
|
|
faccessat_OBJECTS = faccessat.$(OBJEXT)
|
|
faccessat_LDADD = $(LDADD)
|
|
faccessat_DEPENDENCIES = libtests.a
|
|
+faccessat__secontext_SOURCES = faccessat--secontext.c
|
|
+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT)
|
|
+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c
|
|
+faccessat__secontext_full_OBJECTS = \
|
|
+ faccessat--secontext_full.$(OBJEXT)
|
|
+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
+faccessat_P_SOURCES = faccessat-P.c
|
|
+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
|
|
+faccessat_P_LDADD = $(LDADD)
|
|
+faccessat_P_DEPENDENCIES = libtests.a
|
|
+faccessat_y_SOURCES = faccessat-y.c
|
|
+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT)
|
|
+faccessat_y_LDADD = $(LDADD)
|
|
+faccessat_y_DEPENDENCIES = libtests.a
|
|
+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c
|
|
+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT)
|
|
+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c
|
|
+faccessat_y__secontext_full_OBJECTS = \
|
|
+ faccessat-y--secontext_full.$(OBJEXT)
|
|
+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
+faccessat_yy_SOURCES = faccessat-yy.c
|
|
+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
|
|
+faccessat_yy_LDADD = $(LDADD)
|
|
+faccessat_yy_DEPENDENCIES = libtests.a
|
|
fadvise64_SOURCES = fadvise64.c
|
|
fadvise64_OBJECTS = fadvise64.$(OBJEXT)
|
|
fadvise64_LDADD = $(LDADD)
|
|
@@ -966,6 +1044,15 @@
|
|
fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
|
|
fanotify_mark_LDADD = $(LDADD)
|
|
fanotify_mark_DEPENDENCIES = libtests.a
|
|
+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c
|
|
+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT)
|
|
+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fanotify_mark__secontext_full_SOURCES = \
|
|
+ fanotify_mark--secontext_full.c
|
|
+fanotify_mark__secontext_full_OBJECTS = \
|
|
+ fanotify_mark--secontext_full.$(OBJEXT)
|
|
+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
|
|
fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
|
|
fanotify_mark_Xabbrev_LDADD = $(LDADD)
|
|
@@ -986,14 +1073,32 @@
|
|
fchmod_OBJECTS = fchmod.$(OBJEXT)
|
|
fchmod_LDADD = $(LDADD)
|
|
fchmod_DEPENDENCIES = libtests.a
|
|
+fchmod__secontext_SOURCES = fchmod--secontext.c
|
|
+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT)
|
|
+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
|
|
+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
|
|
+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchmod_y_SOURCES = fchmod-y.c
|
|
fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
|
|
fchmod_y_LDADD = $(LDADD)
|
|
fchmod_y_DEPENDENCIES = libtests.a
|
|
+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c
|
|
+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT)
|
|
+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
|
|
+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
|
|
+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchmodat_SOURCES = fchmodat.c
|
|
fchmodat_OBJECTS = fchmodat.$(OBJEXT)
|
|
fchmodat_LDADD = $(LDADD)
|
|
fchmodat_DEPENDENCIES = libtests.a
|
|
+fchmodat__secontext_SOURCES = fchmodat--secontext.c
|
|
+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT)
|
|
+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
|
|
+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
|
|
+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchown_SOURCES = fchown.c
|
|
fchown_OBJECTS = fchown.$(OBJEXT)
|
|
fchown_LDADD = $(LDADD)
|
|
@@ -1006,6 +1111,12 @@
|
|
fchownat_OBJECTS = fchownat.$(OBJEXT)
|
|
fchownat_LDADD = $(LDADD)
|
|
fchownat_DEPENDENCIES = libtests.a
|
|
+fchownat__secontext_SOURCES = fchownat--secontext.c
|
|
+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT)
|
|
+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
|
|
+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
|
|
+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fcntl_SOURCES = fcntl.c
|
|
fcntl_OBJECTS = fcntl.$(OBJEXT)
|
|
fcntl_LDADD = $(LDADD)
|
|
@@ -1035,6 +1146,14 @@
|
|
file_handle_OBJECTS = file_handle.$(OBJEXT)
|
|
file_handle_LDADD = $(LDADD)
|
|
file_handle_DEPENDENCIES = libtests.a
|
|
+file_handle__secontext_SOURCES = file_handle--secontext.c
|
|
+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT)
|
|
+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c
|
|
+file_handle__secontext_full_OBJECTS = \
|
|
+ file_handle--secontext_full.$(OBJEXT)
|
|
+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
file_ioctl_SOURCES = file_ioctl.c
|
|
file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
|
|
file_ioctl_LDADD = $(LDADD)
|
|
@@ -1886,6 +2005,12 @@
|
|
linkat_OBJECTS = linkat.$(OBJEXT)
|
|
linkat_LDADD = $(LDADD)
|
|
linkat_DEPENDENCIES = libtests.a
|
|
+linkat__secontext_SOURCES = linkat--secontext.c
|
|
+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT)
|
|
+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+linkat__secontext_full_SOURCES = linkat--secontext_full.c
|
|
+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
|
|
+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
list_sigaction_signum_SOURCES = list_sigaction_signum.c
|
|
list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
|
|
list_sigaction_signum_LDADD = $(LDADD)
|
|
@@ -2530,6 +2655,12 @@
|
|
open_OBJECTS = open.$(OBJEXT)
|
|
open_LDADD = $(LDADD)
|
|
open_DEPENDENCIES = libtests.a
|
|
+open__secontext_SOURCES = open--secontext.c
|
|
+open__secontext_OBJECTS = open--secontext.$(OBJEXT)
|
|
+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+open__secontext_full_SOURCES = open--secontext_full.c
|
|
+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
|
|
+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
open_tree_SOURCES = open_tree.c
|
|
open_tree_OBJECTS = open_tree.$(OBJEXT)
|
|
open_tree_LDADD = $(LDADD)
|
|
@@ -2542,6 +2673,12 @@
|
|
openat_OBJECTS = openat.$(OBJEXT)
|
|
openat_LDADD = $(LDADD)
|
|
openat_DEPENDENCIES = libtests.a
|
|
+openat__secontext_SOURCES = openat--secontext.c
|
|
+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT)
|
|
+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+openat__secontext_full_SOURCES = openat--secontext_full.c
|
|
+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
|
|
+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
openat2_SOURCES = openat2.c
|
|
openat2_OBJECTS = openat2.$(OBJEXT)
|
|
openat2_LDADD = $(LDADD)
|
|
@@ -4487,7 +4624,8 @@
|
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
|
am__v_CCLD_1 =
|
|
SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
|
|
- accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
|
|
+ accept4.c access.c access--secontext.c \
|
|
+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
|
|
aio_pgetevents.c alarm.c answer.c attach-f-p.c \
|
|
attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
|
|
block_reset_raise_run.c block_reset_run.c bpf.c \
|
|
@@ -4495,7 +4633,8 @@
|
|
bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
|
|
bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
|
|
brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
|
|
- check_sigign.c chmod.c chown.c chown32.c chroot.c \
|
|
+ check_sigign.c chmod.c chmod--secontext.c \
|
|
+ chmod--secontext_full.c chown.c chown32.c chroot.c \
|
|
clock_adjtime.c clock_nanosleep.c clock_xettime.c \
|
|
clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
|
|
clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
|
|
@@ -4509,25 +4648,35 @@
|
|
dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
|
|
dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
|
|
epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
|
|
- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
|
|
- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
|
|
- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
|
|
- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
|
|
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
|
|
- fcntl--pidns-translation.c fcntl64.c \
|
|
- fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
- file_handle.c file_ioctl.c filter-unavailable.c \
|
|
- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
|
|
- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
|
|
- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
|
|
- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
|
|
- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
|
|
- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
|
|
- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
|
|
- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
|
|
- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
|
|
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
|
|
- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
+ execve--secontext.c execve--secontext_full.c execve-v.c \
|
|
+ execveat.c execveat--secontext.c execveat--secontext_full.c \
|
|
+ execveat-v.c faccessat.c faccessat--secontext.c \
|
|
+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
|
|
+ faccessat-y--secontext.c faccessat-y--secontext_full.c \
|
|
+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
|
|
+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
|
|
+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
|
|
+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
|
|
+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
|
|
+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
|
|
+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
|
|
+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \
|
|
+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
|
|
+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
+ file_handle.c file_handle--secontext.c \
|
|
+ file_handle--secontext_full.c file_ioctl.c \
|
|
+ filter-unavailable.c filter_seccomp-flag.c \
|
|
+ filter_seccomp-perf.c finit_module.c flock.c \
|
|
+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
|
|
+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
|
|
+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
|
|
+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
|
|
+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
|
|
+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
|
|
+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
|
|
+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
|
|
+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
|
|
+ getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
|
|
getresgid32.c getresuid.c getresuid32.c getrlimit.c \
|
|
getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
|
|
@@ -4578,7 +4727,8 @@
|
|
kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
|
|
keyctl-Xraw.c keyctl-Xverbose.c kill.c \
|
|
kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
|
|
- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
|
|
+ lchown32.c link.c linkat.c linkat--secontext.c \
|
|
+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \
|
|
localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
|
|
lstat64.c madvise.c maybe_switch_current_tcp.c \
|
|
maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
|
|
@@ -4629,23 +4779,25 @@
|
|
old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
|
|
old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
|
|
oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
|
|
- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
|
|
- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
|
|
- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
|
|
- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
|
|
- orphaned_process_group.c osf_utimes.c pause.c pc.c \
|
|
- perf_event_open.c perf_event_open_nonverbose.c \
|
|
- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
|
|
- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
|
|
- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
|
|
- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
|
|
- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
|
|
- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
|
|
- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
|
|
- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
|
|
- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
|
|
- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
|
|
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
+ oldstat.c open.c open--secontext.c open--secontext_full.c \
|
|
+ open_tree.c open_tree-P.c openat.c openat--secontext.c \
|
|
+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \
|
|
+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
|
|
+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
|
|
+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
|
|
+ osf_utimes.c pause.c pc.c perf_event_open.c \
|
|
+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
|
|
+ personality.c personality-Xabbrev.c personality-Xraw.c \
|
|
+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
|
|
+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
|
|
+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
|
|
+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
|
|
+ pidfd_open-yy.c pidfd_send_signal.c \
|
|
+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
|
|
+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
|
|
+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
|
|
+ prctl-dumpable.c prctl-name.c prctl-no-args.c \
|
|
+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
|
|
prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
|
|
preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
|
|
@@ -4735,7 +4887,8 @@
|
|
xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
|
|
zeroargc.c
|
|
DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
|
|
- accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
|
|
+ accept.c accept4.c access.c access--secontext.c \
|
|
+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
|
|
aio_pgetevents.c alarm.c answer.c attach-f-p.c \
|
|
attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
|
|
block_reset_raise_run.c block_reset_run.c bpf.c \
|
|
@@ -4743,7 +4896,8 @@
|
|
bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
|
|
bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
|
|
brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
|
|
- check_sigign.c chmod.c chown.c chown32.c chroot.c \
|
|
+ check_sigign.c chmod.c chmod--secontext.c \
|
|
+ chmod--secontext_full.c chown.c chown32.c chroot.c \
|
|
clock_adjtime.c clock_nanosleep.c clock_xettime.c \
|
|
clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
|
|
clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
|
|
@@ -4757,25 +4911,35 @@
|
|
dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
|
|
dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
|
|
epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
|
|
- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
|
|
- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
|
|
- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
|
|
- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
|
|
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
|
|
- fcntl--pidns-translation.c fcntl64.c \
|
|
- fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
- file_handle.c file_ioctl.c filter-unavailable.c \
|
|
- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
|
|
- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
|
|
- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
|
|
- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
|
|
- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
|
|
- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
|
|
- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
|
|
- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
|
|
- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
|
|
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
|
|
- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
+ execve--secontext.c execve--secontext_full.c execve-v.c \
|
|
+ execveat.c execveat--secontext.c execveat--secontext_full.c \
|
|
+ execveat-v.c faccessat.c faccessat--secontext.c \
|
|
+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
|
|
+ faccessat-y--secontext.c faccessat-y--secontext_full.c \
|
|
+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
|
|
+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
|
|
+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
|
|
+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
|
|
+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
|
|
+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
|
|
+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
|
|
+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \
|
|
+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
|
|
+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
+ file_handle.c file_handle--secontext.c \
|
|
+ file_handle--secontext_full.c file_ioctl.c \
|
|
+ filter-unavailable.c filter_seccomp-flag.c \
|
|
+ filter_seccomp-perf.c finit_module.c flock.c \
|
|
+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
|
|
+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
|
|
+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
|
|
+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
|
|
+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
|
|
+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
|
|
+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
|
|
+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
|
|
+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
|
|
+ getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
|
|
getresgid32.c getresuid.c getresuid32.c getrlimit.c \
|
|
getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
|
|
@@ -4826,7 +4990,8 @@
|
|
kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
|
|
keyctl-Xraw.c keyctl-Xverbose.c kill.c \
|
|
kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
|
|
- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
|
|
+ lchown32.c link.c linkat.c linkat--secontext.c \
|
|
+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \
|
|
localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
|
|
lstat64.c madvise.c maybe_switch_current_tcp.c \
|
|
maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
|
|
@@ -4877,23 +5042,25 @@
|
|
old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
|
|
old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
|
|
oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
|
|
- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
|
|
- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
|
|
- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
|
|
- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
|
|
- orphaned_process_group.c osf_utimes.c pause.c pc.c \
|
|
- perf_event_open.c perf_event_open_nonverbose.c \
|
|
- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
|
|
- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
|
|
- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
|
|
- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
|
|
- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
|
|
- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
|
|
- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
|
|
- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
|
|
- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
|
|
- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
|
|
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
+ oldstat.c open.c open--secontext.c open--secontext_full.c \
|
|
+ open_tree.c open_tree-P.c openat.c openat--secontext.c \
|
|
+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \
|
|
+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
|
|
+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
|
|
+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
|
|
+ osf_utimes.c pause.c pc.c perf_event_open.c \
|
|
+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
|
|
+ personality.c personality-Xabbrev.c personality-Xraw.c \
|
|
+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
|
|
+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
|
|
+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
|
|
+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
|
|
+ pidfd_open-yy.c pidfd_send_signal.c \
|
|
+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
|
|
+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
|
|
+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
|
|
+ prctl-dumpable.c prctl-name.c prctl-no-args.c \
|
|
+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
|
|
prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
|
|
preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
|
|
@@ -5194,7 +5361,7 @@
|
|
bases=`echo $$bases`
|
|
RECHECK_LOGS = $(TEST_LOGS)
|
|
AM_RECURSIVE_TARGETS = check recheck
|
|
-@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \
|
|
+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \
|
|
@ENABLE_STACKTRACE_TRUE@ $(am__append_1)
|
|
TEST_SUITE_LOG = test-suite.log
|
|
TEST_EXTENSIONS = @EXEEXT@ .test
|
|
@@ -5216,7 +5383,8 @@
|
|
esac
|
|
am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
|
|
$(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \
|
|
- $(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING
|
|
+ $(srcdir)/secontext.am $(top_srcdir)/depcomp \
|
|
+ $(top_srcdir)/test-driver COPYING
|
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
ACLOCAL = @ACLOCAL@
|
|
AMTAR = @AMTAR@
|
|
@@ -5357,6 +5525,9 @@
|
|
libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
|
|
libiberty_LDFLAGS = @libiberty_LDFLAGS@
|
|
libiberty_LIBS = @libiberty_LIBS@
|
|
+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
|
|
+libselinux_LDFLAGS = @libselinux_LDFLAGS@
|
|
+libselinux_LIBS = @libselinux_LIBS@
|
|
libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
|
|
libunwind_LDFLAGS = @libunwind_LDFLAGS@
|
|
libunwind_LIBS = @libunwind_LIBS@
|
|
@@ -5400,6 +5571,8 @@
|
|
-DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
|
|
|
|
AM_LDFLAGS = $(ARCH_MFLAGS)
|
|
+@HAVE_SELINUX_RUNTIME_FALSE@libselinux_LDADD =
|
|
+@HAVE_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS)
|
|
libtests_a_SOURCES = \
|
|
create_nl_socket.c \
|
|
create_tmpfile.c \
|
|
@@ -5426,6 +5599,8 @@
|
|
printxval-Xabbrev.c \
|
|
printxval-Xraw.c \
|
|
printxval-Xverbose.c \
|
|
+ secontext.c \
|
|
+ secontext.h \
|
|
signal2name.c \
|
|
skip_unavailable.c \
|
|
sprintrc.c \
|
|
@@ -5505,6 +5680,9 @@
|
|
execve \
|
|
execveat \
|
|
faccessat \
|
|
+ faccessat-P \
|
|
+ faccessat-y \
|
|
+ faccessat-yy \
|
|
fadvise64 \
|
|
fadvise64_64 \
|
|
fallocate \
|
|
@@ -6077,6 +6255,69 @@
|
|
xettimeofday \
|
|
#
|
|
|
|
+secontext_EXECUTABLES = \
|
|
+ access--secontext \
|
|
+ access--secontext_full \
|
|
+ chmod--secontext \
|
|
+ chmod--secontext_full \
|
|
+ execve--secontext \
|
|
+ execve--secontext_full \
|
|
+ execveat--secontext \
|
|
+ execveat--secontext_full \
|
|
+ faccessat--secontext \
|
|
+ faccessat--secontext_full \
|
|
+ faccessat-y--secontext \
|
|
+ faccessat-y--secontext_full \
|
|
+ fanotify_mark--secontext \
|
|
+ fanotify_mark--secontext_full \
|
|
+ fchmod--secontext \
|
|
+ fchmod--secontext_full \
|
|
+ fchmod-y--secontext \
|
|
+ fchmod-y--secontext_full \
|
|
+ fchmodat--secontext \
|
|
+ fchmodat--secontext_full \
|
|
+ fchownat--secontext \
|
|
+ fchownat--secontext_full \
|
|
+ file_handle--secontext \
|
|
+ file_handle--secontext_full \
|
|
+ linkat--secontext \
|
|
+ linkat--secontext_full \
|
|
+ open--secontext \
|
|
+ open--secontext_full \
|
|
+ openat--secontext \
|
|
+ openat--secontext_full \
|
|
+ #
|
|
+
|
|
+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
attach_f_p_LDADD = -lpthread $(LDADD)
|
|
count_f_LDADD = -lpthread $(LDADD)
|
|
delay_LDADD = $(clock_LIBS) $(LDADD)
|
|
@@ -6129,14 +6370,15 @@
|
|
|
|
# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
|
|
GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
|
|
- accept4.gen.test access.gen.test acct.gen.test \
|
|
- add_key.gen.test adjtimex.gen.test aio.gen.test \
|
|
- aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
|
|
- bpf-obj_get_info_by_fd.gen.test \
|
|
+ accept4.gen.test access.gen.test access--secontext.gen.test \
|
|
+ access--secontext_full.gen.test acct.gen.test add_key.gen.test \
|
|
+ adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
|
|
+ alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
|
|
bpf-obj_get_info_by_fd-prog.gen.test \
|
|
bpf-obj_get_info_by_fd-prog-v.gen.test \
|
|
bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
|
|
- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
|
|
+ btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \
|
|
+ chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \
|
|
chroot.gen.test clock.gen.test clock_adjtime.gen.test \
|
|
clock_nanosleep.gen.test clock_xettime.gen.test \
|
|
clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \
|
|
@@ -6155,21 +6397,36 @@
|
|
dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \
|
|
epoll_create.gen.test epoll_create1.gen.test \
|
|
epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \
|
|
- erestartsys.gen.test execveat.gen.test execveat-v.gen.test \
|
|
- faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \
|
|
+ erestartsys.gen.test execve--secontext.gen.test \
|
|
+ execve--secontext_full.gen.test execveat.gen.test \
|
|
+ execveat--secontext.gen.test execveat--secontext_full.gen.test \
|
|
+ execveat-v.gen.test faccessat--secontext.gen.test \
|
|
+ faccessat--secontext_full.gen.test faccessat-P.gen.test \
|
|
+ faccessat-y.gen.test faccessat-y--secontext.gen.test \
|
|
+ faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
|
|
+ fadvise64_64.gen.test fallocate.gen.test \
|
|
fanotify_init.gen.test fanotify_mark.gen.test \
|
|
+ fanotify_mark--secontext.gen.test \
|
|
+ fanotify_mark--secontext_full.gen.test \
|
|
fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
|
|
fanotify_mark-Xverbose.gen.test fchdir.gen.test \
|
|
- fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
|
|
- fchown.gen.test fchown32.gen.test fchownat.gen.test \
|
|
+ fchmod.gen.test fchmod--secontext.gen.test \
|
|
+ fchmod--secontext_full.gen.test fchmod-y.gen.test \
|
|
+ fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
|
|
+ fchmodat.gen.test fchmodat--secontext.gen.test \
|
|
+ fchmodat--secontext_full.gen.test fchown.gen.test \
|
|
+ fchown32.gen.test fchownat.gen.test \
|
|
+ fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
|
|
fcntl.gen.test fcntl--pidns-translation.gen.test \
|
|
fcntl64.gen.test fcntl64--pidns-translation.gen.test \
|
|
fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
|
|
- filter_seccomp.gen.test filter_seccomp-flag.gen.test \
|
|
- finit_module.gen.test flock.gen.test fork-f.gen.test \
|
|
- fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
|
|
- fsopen.gen.test fspick.gen.test fspick-P.gen.test \
|
|
- fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
|
|
+ file_handle--secontext.gen.test \
|
|
+ file_handle--secontext_full.gen.test filter_seccomp.gen.test \
|
|
+ filter_seccomp-flag.gen.test finit_module.gen.test \
|
|
+ flock.gen.test fork-f.gen.test fsconfig.gen.test \
|
|
+ fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
|
|
+ fspick.gen.test fspick-P.gen.test fstat.gen.test \
|
|
+ fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
|
|
fstat-Xverbose.gen.test fstat64.gen.test \
|
|
fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
|
|
fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
|
|
@@ -6259,8 +6516,9 @@
|
|
keyctl-Xverbose.gen.test kill.gen.test \
|
|
kill--pidns-translation.gen.test ksysent.gen.test \
|
|
lchown.gen.test lchown32.gen.test link.gen.test \
|
|
- linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
|
|
- lstat64.gen.test madvise.gen.test \
|
|
+ linkat.gen.test linkat--secontext.gen.test \
|
|
+ linkat--secontext_full.gen.test lookup_dcookie.gen.test \
|
|
+ lstat.gen.test lstat64.gen.test madvise.gen.test \
|
|
maybe_switch_current_tcp.gen.test \
|
|
maybe_switch_current_tcp--quiet-thread-execve.gen.test \
|
|
mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
|
|
@@ -6328,14 +6586,17 @@
|
|
old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \
|
|
oldselect.gen.test oldselect-P.gen.test \
|
|
oldselect-efault.gen.test oldselect-efault-P.gen.test \
|
|
- oldstat.gen.test open.gen.test open_tree.gen.test \
|
|
- open_tree-P.gen.test openat.gen.test openat2.gen.test \
|
|
- openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
|
|
- openat2-Xverbose.gen.test openat2-v.gen.test \
|
|
- openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
|
|
- openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
|
|
- openat2-y.gen.test orphaned_process_group.gen.test \
|
|
- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
|
|
+ oldstat.gen.test open.gen.test open--secontext.gen.test \
|
|
+ open--secontext_full.gen.test open_tree.gen.test \
|
|
+ open_tree-P.gen.test openat.gen.test \
|
|
+ openat--secontext.gen.test openat--secontext_full.gen.test \
|
|
+ openat2.gen.test openat2-Xabbrev.gen.test \
|
|
+ openat2-Xraw.gen.test openat2-Xverbose.gen.test \
|
|
+ openat2-v.gen.test openat2-v-y.gen.test \
|
|
+ openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
|
|
+ openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
|
|
+ orphaned_process_group.gen.test osf_utimes.gen.test \
|
|
+ pause.gen.test perf_event_open.gen.test \
|
|
perf_event_open_nonverbose.gen.test \
|
|
perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
|
|
personality-Xraw.gen.test personality-Xverbose.gen.test \
|
|
@@ -6806,7 +7067,7 @@
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
|
|
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
|
|
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
|
|
@for dep in $?; do \
|
|
case '$(am__configure_deps)' in \
|
|
*$$dep*) \
|
|
@@ -6826,7 +7087,7 @@
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
-$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
|
|
+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
@@ -6868,6 +7129,14 @@
|
|
@rm -f access$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
|
|
|
|
+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES)
|
|
+ @rm -f access--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS)
|
|
+
|
|
+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES)
|
|
+ @rm -f access--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES)
|
|
@rm -f acct$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
|
|
@@ -6984,6 +7253,14 @@
|
|
@rm -f chmod$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
|
|
|
|
+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES)
|
|
+ @rm -f chmod--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS)
|
|
+
|
|
+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES)
|
|
+ @rm -f chmod--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES)
|
|
@rm -f chown$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
|
|
@@ -7196,6 +7473,14 @@
|
|
@rm -f execve$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
|
|
|
|
+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES)
|
|
+ @rm -f execve--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS)
|
|
+
|
|
+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES)
|
|
+ @rm -f execve--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES)
|
|
@rm -f execve-v$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
|
|
@@ -7204,6 +7489,14 @@
|
|
@rm -f execveat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
|
|
|
|
+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES)
|
|
+ @rm -f execveat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f execveat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES)
|
|
@rm -f execveat-v$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
|
|
@@ -7212,6 +7505,34 @@
|
|
@rm -f faccessat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
|
|
|
|
+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES)
|
|
+ @rm -f faccessat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f faccessat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES)
|
|
+ @rm -f faccessat-P$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES)
|
|
+ @rm -f faccessat-y$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES)
|
|
+ @rm -f faccessat-y--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES)
|
|
+ @rm -f faccessat-y--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES)
|
|
+ @rm -f faccessat-yy$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
|
|
+
|
|
fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES)
|
|
@rm -f fadvise64$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
|
|
@@ -7232,6 +7553,14 @@
|
|
@rm -f fanotify_mark$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
|
|
|
|
+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES)
|
|
+ @rm -f fanotify_mark--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fanotify_mark--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES)
|
|
@rm -f fanotify_mark-Xabbrev$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
|
|
@@ -7252,14 +7581,38 @@
|
|
@rm -f fchmod$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
|
|
|
|
+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmod--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmod--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES)
|
|
@rm -f fchmod-y$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
|
|
|
|
+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmod-y--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmod-y--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES)
|
|
@rm -f fchmodat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
|
|
|
|
+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmodat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmodat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES)
|
|
@rm -f fchown$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
|
|
@@ -7272,6 +7625,14 @@
|
|
@rm -f fchownat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
|
|
|
|
+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES)
|
|
+ @rm -f fchownat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchownat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES)
|
|
@rm -f fcntl$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
|
|
@@ -7300,6 +7661,14 @@
|
|
@rm -f file_handle$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
|
|
|
|
+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES)
|
|
+ @rm -f file_handle--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS)
|
|
+
|
|
+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES)
|
|
+ @rm -f file_handle--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES)
|
|
@rm -f file_ioctl$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
|
|
@@ -8124,6 +8493,14 @@
|
|
@rm -f linkat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
|
|
|
|
+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES)
|
|
+ @rm -f linkat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f linkat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES)
|
|
@rm -f list_sigaction_signum$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
|
|
@@ -8756,6 +9133,14 @@
|
|
@rm -f open$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
|
|
|
|
+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES)
|
|
+ @rm -f open--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS)
|
|
+
|
|
+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES)
|
|
+ @rm -f open--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES)
|
|
@rm -f open_tree$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
|
|
@@ -8768,6 +9153,14 @@
|
|
@rm -f openat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
|
|
|
|
+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES)
|
|
+ @rm -f openat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f openat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES)
|
|
@rm -f openat2$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
|
|
@@ -10094,6 +10487,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
|
|
@@ -10123,6 +10518,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
|
|
@@ -10176,25 +10573,46 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
|
|
@@ -10202,6 +10620,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
|
|
@@ -10431,6 +10851,7 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
|
|
@@ -10443,6 +10864,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
|
|
@@ -10601,9 +11024,13 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
|
|
@@ -11300,6 +11727,20 @@
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi`
|
|
|
|
+libtests_a-secontext.o: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+
|
|
+libtests_a-secontext.obj: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+
|
|
libtests_a-signal2name.o: signal2name.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
|
|
@@ -13841,6 +14282,12 @@
|
|
$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -13883,6 +14330,12 @@
|
|
$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14024,13 +14477,43 @@
|
|
$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
-$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
@@ -14045,6 +14528,12 @@
|
|
$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14060,12 +14549,30 @@
|
|
$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14075,6 +14582,12 @@
|
|
$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14096,6 +14609,12 @@
|
|
$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14690,6 +15209,12 @@
|
|
$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -15107,6 +15632,12 @@
|
|
$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -15116,6 +15647,12 @@
|
|
$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
Index: strace-5.7/tests-m32/Makefile.in
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-m32/Makefile.in 2021-08-24 21:08:35.467311943 +0200
|
|
+++ strace-5.7/tests-m32/Makefile.in 2021-08-24 21:08:43.289245739 +0200
|
|
@@ -22,6 +22,8 @@
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit.
|
|
+
|
|
# scno.h make rules for strace.
|
|
#
|
|
# Copyright (c) 2017-2019 Dmitry V. Levin <ldv@altlinux.org>
|
|
@@ -102,8 +104,8 @@
|
|
POST_UNINSTALL = :
|
|
build_triplet = @build@
|
|
host_triplet = @host@
|
|
-check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
|
|
- attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
|
|
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \
|
|
+ answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
|
|
attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
|
|
block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \
|
|
bpf-obj_get_info_by_fd$(EXEEXT) \
|
|
@@ -221,7 +223,7 @@
|
|
xetpriority--pidns-translation$(EXEEXT) \
|
|
xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
|
|
-TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
|
|
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3)
|
|
subdir = tests-m32
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
|
|
@@ -270,6 +272,7 @@
|
|
$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
|
|
$(top_srcdir)/m4/st_libunwind.m4 \
|
|
$(top_srcdir)/m4/st_save_restore_var.m4 \
|
|
+ $(top_srcdir)/m4/st_selinux.m4 \
|
|
$(top_srcdir)/m4/st_stacktrace.m4 \
|
|
$(top_srcdir)/m4/st_warn_cflags.m4 \
|
|
$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
|
|
@@ -298,7 +301,8 @@
|
|
epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
|
|
epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
|
|
erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
|
|
- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
|
|
+ execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \
|
|
+ faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \
|
|
fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
|
|
fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
|
|
fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
|
|
@@ -543,6 +547,26 @@
|
|
xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
|
|
xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
|
|
xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
|
|
+am__EXEEXT_2 = access--secontext$(EXEEXT) \
|
|
+ access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
|
|
+ chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
|
|
+ execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
|
|
+ execveat--secontext_full$(EXEEXT) \
|
|
+ faccessat--secontext$(EXEEXT) \
|
|
+ faccessat--secontext_full$(EXEEXT) \
|
|
+ faccessat-y--secontext$(EXEEXT) \
|
|
+ faccessat-y--secontext_full$(EXEEXT) \
|
|
+ fanotify_mark--secontext$(EXEEXT) \
|
|
+ fanotify_mark--secontext_full$(EXEEXT) \
|
|
+ fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
|
|
+ fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
|
|
+ fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
|
|
+ fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
|
|
+ file_handle--secontext$(EXEEXT) \
|
|
+ file_handle--secontext_full$(EXEEXT) \
|
|
+ linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
|
|
+ open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
|
|
+ openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
|
|
ARFLAGS = cru
|
|
AM_V_AR = $(am__v_AR_@AM_V@)
|
|
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
|
|
@@ -571,6 +595,7 @@
|
|
libtests_a-printxval-Xabbrev.$(OBJEXT) \
|
|
libtests_a-printxval-Xraw.$(OBJEXT) \
|
|
libtests_a-printxval-Xverbose.$(OBJEXT) \
|
|
+ libtests_a-secontext.$(OBJEXT) \
|
|
libtests_a-signal2name.$(OBJEXT) \
|
|
libtests_a-skip_unavailable.$(OBJEXT) \
|
|
libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
|
|
@@ -600,6 +625,15 @@
|
|
access_OBJECTS = access.$(OBJEXT)
|
|
access_LDADD = $(LDADD)
|
|
access_DEPENDENCIES = libtests.a
|
|
+access__secontext_SOURCES = access--secontext.c
|
|
+access__secontext_OBJECTS = access--secontext.$(OBJEXT)
|
|
+am__DEPENDENCIES_1 =
|
|
+@HAVE_M32_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = \
|
|
+@HAVE_M32_SELINUX_RUNTIME_TRUE@ $(am__DEPENDENCIES_1)
|
|
+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+access__secontext_full_SOURCES = access--secontext_full.c
|
|
+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
|
|
+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
acct_SOURCES = acct.c
|
|
acct_OBJECTS = acct.$(OBJEXT)
|
|
acct_LDADD = $(LDADD)
|
|
@@ -718,6 +752,12 @@
|
|
chmod_OBJECTS = chmod.$(OBJEXT)
|
|
chmod_LDADD = $(LDADD)
|
|
chmod_DEPENDENCIES = libtests.a
|
|
+chmod__secontext_SOURCES = chmod--secontext.c
|
|
+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT)
|
|
+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+chmod__secontext_full_SOURCES = chmod--secontext_full.c
|
|
+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
|
|
+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
chown_SOURCES = chown.c
|
|
chown_OBJECTS = chown.$(OBJEXT)
|
|
chown_LDADD = $(LDADD)
|
|
@@ -828,7 +868,6 @@
|
|
creat_DEPENDENCIES = libtests.a
|
|
delay_SOURCES = delay.c
|
|
delay_OBJECTS = delay.$(OBJEXT)
|
|
-am__DEPENDENCIES_1 =
|
|
delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
|
|
delete_module_SOURCES = delete_module.c
|
|
delete_module_OBJECTS = delete_module.$(OBJEXT)
|
|
@@ -930,6 +969,12 @@
|
|
execve_OBJECTS = execve.$(OBJEXT)
|
|
execve_LDADD = $(LDADD)
|
|
execve_DEPENDENCIES = libtests.a
|
|
+execve__secontext_SOURCES = execve--secontext.c
|
|
+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT)
|
|
+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+execve__secontext_full_SOURCES = execve--secontext_full.c
|
|
+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
|
|
+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
execve_v_SOURCES = execve-v.c
|
|
execve_v_OBJECTS = execve-v.$(OBJEXT)
|
|
execve_v_LDADD = $(LDADD)
|
|
@@ -938,6 +983,12 @@
|
|
execveat_OBJECTS = execveat.$(OBJEXT)
|
|
execveat_LDADD = $(LDADD)
|
|
execveat_DEPENDENCIES = libtests.a
|
|
+execveat__secontext_SOURCES = execveat--secontext.c
|
|
+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT)
|
|
+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+execveat__secontext_full_SOURCES = execveat--secontext_full.c
|
|
+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
|
|
+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
execveat_v_SOURCES = execveat-v.c
|
|
execveat_v_OBJECTS = execveat-v.$(OBJEXT)
|
|
execveat_v_LDADD = $(LDADD)
|
|
@@ -946,6 +997,34 @@
|
|
faccessat_OBJECTS = faccessat.$(OBJEXT)
|
|
faccessat_LDADD = $(LDADD)
|
|
faccessat_DEPENDENCIES = libtests.a
|
|
+faccessat__secontext_SOURCES = faccessat--secontext.c
|
|
+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT)
|
|
+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c
|
|
+faccessat__secontext_full_OBJECTS = \
|
|
+ faccessat--secontext_full.$(OBJEXT)
|
|
+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
+faccessat_P_SOURCES = faccessat-P.c
|
|
+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
|
|
+faccessat_P_LDADD = $(LDADD)
|
|
+faccessat_P_DEPENDENCIES = libtests.a
|
|
+faccessat_y_SOURCES = faccessat-y.c
|
|
+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT)
|
|
+faccessat_y_LDADD = $(LDADD)
|
|
+faccessat_y_DEPENDENCIES = libtests.a
|
|
+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c
|
|
+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT)
|
|
+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c
|
|
+faccessat_y__secontext_full_OBJECTS = \
|
|
+ faccessat-y--secontext_full.$(OBJEXT)
|
|
+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
+faccessat_yy_SOURCES = faccessat-yy.c
|
|
+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
|
|
+faccessat_yy_LDADD = $(LDADD)
|
|
+faccessat_yy_DEPENDENCIES = libtests.a
|
|
fadvise64_SOURCES = fadvise64.c
|
|
fadvise64_OBJECTS = fadvise64.$(OBJEXT)
|
|
fadvise64_LDADD = $(LDADD)
|
|
@@ -966,6 +1045,15 @@
|
|
fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
|
|
fanotify_mark_LDADD = $(LDADD)
|
|
fanotify_mark_DEPENDENCIES = libtests.a
|
|
+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c
|
|
+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT)
|
|
+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fanotify_mark__secontext_full_SOURCES = \
|
|
+ fanotify_mark--secontext_full.c
|
|
+fanotify_mark__secontext_full_OBJECTS = \
|
|
+ fanotify_mark--secontext_full.$(OBJEXT)
|
|
+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
|
|
fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
|
|
fanotify_mark_Xabbrev_LDADD = $(LDADD)
|
|
@@ -986,14 +1074,32 @@
|
|
fchmod_OBJECTS = fchmod.$(OBJEXT)
|
|
fchmod_LDADD = $(LDADD)
|
|
fchmod_DEPENDENCIES = libtests.a
|
|
+fchmod__secontext_SOURCES = fchmod--secontext.c
|
|
+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT)
|
|
+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
|
|
+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
|
|
+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchmod_y_SOURCES = fchmod-y.c
|
|
fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
|
|
fchmod_y_LDADD = $(LDADD)
|
|
fchmod_y_DEPENDENCIES = libtests.a
|
|
+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c
|
|
+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT)
|
|
+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
|
|
+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
|
|
+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchmodat_SOURCES = fchmodat.c
|
|
fchmodat_OBJECTS = fchmodat.$(OBJEXT)
|
|
fchmodat_LDADD = $(LDADD)
|
|
fchmodat_DEPENDENCIES = libtests.a
|
|
+fchmodat__secontext_SOURCES = fchmodat--secontext.c
|
|
+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT)
|
|
+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
|
|
+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
|
|
+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchown_SOURCES = fchown.c
|
|
fchown_OBJECTS = fchown.$(OBJEXT)
|
|
fchown_LDADD = $(LDADD)
|
|
@@ -1006,6 +1112,12 @@
|
|
fchownat_OBJECTS = fchownat.$(OBJEXT)
|
|
fchownat_LDADD = $(LDADD)
|
|
fchownat_DEPENDENCIES = libtests.a
|
|
+fchownat__secontext_SOURCES = fchownat--secontext.c
|
|
+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT)
|
|
+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
|
|
+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
|
|
+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fcntl_SOURCES = fcntl.c
|
|
fcntl_OBJECTS = fcntl.$(OBJEXT)
|
|
fcntl_LDADD = $(LDADD)
|
|
@@ -1035,6 +1147,14 @@
|
|
file_handle_OBJECTS = file_handle.$(OBJEXT)
|
|
file_handle_LDADD = $(LDADD)
|
|
file_handle_DEPENDENCIES = libtests.a
|
|
+file_handle__secontext_SOURCES = file_handle--secontext.c
|
|
+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT)
|
|
+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c
|
|
+file_handle__secontext_full_OBJECTS = \
|
|
+ file_handle--secontext_full.$(OBJEXT)
|
|
+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
file_ioctl_SOURCES = file_ioctl.c
|
|
file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
|
|
file_ioctl_LDADD = $(LDADD)
|
|
@@ -1886,6 +2006,12 @@
|
|
linkat_OBJECTS = linkat.$(OBJEXT)
|
|
linkat_LDADD = $(LDADD)
|
|
linkat_DEPENDENCIES = libtests.a
|
|
+linkat__secontext_SOURCES = linkat--secontext.c
|
|
+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT)
|
|
+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+linkat__secontext_full_SOURCES = linkat--secontext_full.c
|
|
+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
|
|
+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
list_sigaction_signum_SOURCES = list_sigaction_signum.c
|
|
list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
|
|
list_sigaction_signum_LDADD = $(LDADD)
|
|
@@ -2530,6 +2656,12 @@
|
|
open_OBJECTS = open.$(OBJEXT)
|
|
open_LDADD = $(LDADD)
|
|
open_DEPENDENCIES = libtests.a
|
|
+open__secontext_SOURCES = open--secontext.c
|
|
+open__secontext_OBJECTS = open--secontext.$(OBJEXT)
|
|
+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+open__secontext_full_SOURCES = open--secontext_full.c
|
|
+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
|
|
+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
open_tree_SOURCES = open_tree.c
|
|
open_tree_OBJECTS = open_tree.$(OBJEXT)
|
|
open_tree_LDADD = $(LDADD)
|
|
@@ -2542,6 +2674,12 @@
|
|
openat_OBJECTS = openat.$(OBJEXT)
|
|
openat_LDADD = $(LDADD)
|
|
openat_DEPENDENCIES = libtests.a
|
|
+openat__secontext_SOURCES = openat--secontext.c
|
|
+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT)
|
|
+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+openat__secontext_full_SOURCES = openat--secontext_full.c
|
|
+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
|
|
+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
openat2_SOURCES = openat2.c
|
|
openat2_OBJECTS = openat2.$(OBJEXT)
|
|
openat2_LDADD = $(LDADD)
|
|
@@ -4487,7 +4625,8 @@
|
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
|
am__v_CCLD_1 =
|
|
SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
|
|
- accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
|
|
+ accept4.c access.c access--secontext.c \
|
|
+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
|
|
aio_pgetevents.c alarm.c answer.c attach-f-p.c \
|
|
attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
|
|
block_reset_raise_run.c block_reset_run.c bpf.c \
|
|
@@ -4495,7 +4634,8 @@
|
|
bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
|
|
bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
|
|
brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
|
|
- check_sigign.c chmod.c chown.c chown32.c chroot.c \
|
|
+ check_sigign.c chmod.c chmod--secontext.c \
|
|
+ chmod--secontext_full.c chown.c chown32.c chroot.c \
|
|
clock_adjtime.c clock_nanosleep.c clock_xettime.c \
|
|
clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
|
|
clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
|
|
@@ -4509,25 +4649,35 @@
|
|
dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
|
|
dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
|
|
epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
|
|
- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
|
|
- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
|
|
- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
|
|
- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
|
|
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
|
|
- fcntl--pidns-translation.c fcntl64.c \
|
|
- fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
- file_handle.c file_ioctl.c filter-unavailable.c \
|
|
- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
|
|
- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
|
|
- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
|
|
- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
|
|
- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
|
|
- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
|
|
- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
|
|
- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
|
|
- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
|
|
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
|
|
- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
+ execve--secontext.c execve--secontext_full.c execve-v.c \
|
|
+ execveat.c execveat--secontext.c execveat--secontext_full.c \
|
|
+ execveat-v.c faccessat.c faccessat--secontext.c \
|
|
+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
|
|
+ faccessat-y--secontext.c faccessat-y--secontext_full.c \
|
|
+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
|
|
+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
|
|
+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
|
|
+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
|
|
+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
|
|
+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
|
|
+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
|
|
+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \
|
|
+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
|
|
+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
+ file_handle.c file_handle--secontext.c \
|
|
+ file_handle--secontext_full.c file_ioctl.c \
|
|
+ filter-unavailable.c filter_seccomp-flag.c \
|
|
+ filter_seccomp-perf.c finit_module.c flock.c \
|
|
+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
|
|
+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
|
|
+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
|
|
+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
|
|
+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
|
|
+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
|
|
+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
|
|
+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
|
|
+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
|
|
+ getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
|
|
getresgid32.c getresuid.c getresuid32.c getrlimit.c \
|
|
getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
|
|
@@ -4578,7 +4728,8 @@
|
|
kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
|
|
keyctl-Xraw.c keyctl-Xverbose.c kill.c \
|
|
kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
|
|
- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
|
|
+ lchown32.c link.c linkat.c linkat--secontext.c \
|
|
+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \
|
|
localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
|
|
lstat64.c madvise.c maybe_switch_current_tcp.c \
|
|
maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
|
|
@@ -4629,23 +4780,25 @@
|
|
old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
|
|
old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
|
|
oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
|
|
- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
|
|
- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
|
|
- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
|
|
- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
|
|
- orphaned_process_group.c osf_utimes.c pause.c pc.c \
|
|
- perf_event_open.c perf_event_open_nonverbose.c \
|
|
- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
|
|
- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
|
|
- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
|
|
- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
|
|
- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
|
|
- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
|
|
- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
|
|
- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
|
|
- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
|
|
- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
|
|
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
+ oldstat.c open.c open--secontext.c open--secontext_full.c \
|
|
+ open_tree.c open_tree-P.c openat.c openat--secontext.c \
|
|
+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \
|
|
+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
|
|
+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
|
|
+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
|
|
+ osf_utimes.c pause.c pc.c perf_event_open.c \
|
|
+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
|
|
+ personality.c personality-Xabbrev.c personality-Xraw.c \
|
|
+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
|
|
+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
|
|
+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
|
|
+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
|
|
+ pidfd_open-yy.c pidfd_send_signal.c \
|
|
+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
|
|
+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
|
|
+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
|
|
+ prctl-dumpable.c prctl-name.c prctl-no-args.c \
|
|
+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
|
|
prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
|
|
preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
|
|
@@ -4735,7 +4888,8 @@
|
|
xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
|
|
zeroargc.c
|
|
DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
|
|
- accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
|
|
+ accept.c accept4.c access.c access--secontext.c \
|
|
+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
|
|
aio_pgetevents.c alarm.c answer.c attach-f-p.c \
|
|
attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
|
|
block_reset_raise_run.c block_reset_run.c bpf.c \
|
|
@@ -4743,7 +4897,8 @@
|
|
bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
|
|
bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
|
|
brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
|
|
- check_sigign.c chmod.c chown.c chown32.c chroot.c \
|
|
+ check_sigign.c chmod.c chmod--secontext.c \
|
|
+ chmod--secontext_full.c chown.c chown32.c chroot.c \
|
|
clock_adjtime.c clock_nanosleep.c clock_xettime.c \
|
|
clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
|
|
clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
|
|
@@ -4757,25 +4912,35 @@
|
|
dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
|
|
dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
|
|
epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
|
|
- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
|
|
- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
|
|
- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
|
|
- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
|
|
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
|
|
- fcntl--pidns-translation.c fcntl64.c \
|
|
- fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
- file_handle.c file_ioctl.c filter-unavailable.c \
|
|
- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
|
|
- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
|
|
- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
|
|
- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
|
|
- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
|
|
- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
|
|
- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
|
|
- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
|
|
- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
|
|
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
|
|
- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
+ execve--secontext.c execve--secontext_full.c execve-v.c \
|
|
+ execveat.c execveat--secontext.c execveat--secontext_full.c \
|
|
+ execveat-v.c faccessat.c faccessat--secontext.c \
|
|
+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
|
|
+ faccessat-y--secontext.c faccessat-y--secontext_full.c \
|
|
+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
|
|
+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
|
|
+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
|
|
+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
|
|
+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
|
|
+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
|
|
+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
|
|
+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \
|
|
+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
|
|
+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
+ file_handle.c file_handle--secontext.c \
|
|
+ file_handle--secontext_full.c file_ioctl.c \
|
|
+ filter-unavailable.c filter_seccomp-flag.c \
|
|
+ filter_seccomp-perf.c finit_module.c flock.c \
|
|
+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
|
|
+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
|
|
+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
|
|
+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
|
|
+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
|
|
+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
|
|
+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
|
|
+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
|
|
+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
|
|
+ getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
|
|
getresgid32.c getresuid.c getresuid32.c getrlimit.c \
|
|
getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
|
|
@@ -4826,7 +4991,8 @@
|
|
kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
|
|
keyctl-Xraw.c keyctl-Xverbose.c kill.c \
|
|
kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
|
|
- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
|
|
+ lchown32.c link.c linkat.c linkat--secontext.c \
|
|
+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \
|
|
localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
|
|
lstat64.c madvise.c maybe_switch_current_tcp.c \
|
|
maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
|
|
@@ -4877,23 +5043,25 @@
|
|
old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
|
|
old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
|
|
oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
|
|
- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
|
|
- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
|
|
- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
|
|
- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
|
|
- orphaned_process_group.c osf_utimes.c pause.c pc.c \
|
|
- perf_event_open.c perf_event_open_nonverbose.c \
|
|
- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
|
|
- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
|
|
- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
|
|
- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
|
|
- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
|
|
- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
|
|
- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
|
|
- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
|
|
- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
|
|
- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
|
|
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
+ oldstat.c open.c open--secontext.c open--secontext_full.c \
|
|
+ open_tree.c open_tree-P.c openat.c openat--secontext.c \
|
|
+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \
|
|
+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
|
|
+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
|
|
+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
|
|
+ osf_utimes.c pause.c pc.c perf_event_open.c \
|
|
+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
|
|
+ personality.c personality-Xabbrev.c personality-Xraw.c \
|
|
+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
|
|
+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
|
|
+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
|
|
+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
|
|
+ pidfd_open-yy.c pidfd_send_signal.c \
|
|
+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
|
|
+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
|
|
+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
|
|
+ prctl-dumpable.c prctl-name.c prctl-no-args.c \
|
|
+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
|
|
prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
|
|
preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
|
|
@@ -5194,7 +5362,7 @@
|
|
bases=`echo $$bases`
|
|
RECHECK_LOGS = $(TEST_LOGS)
|
|
AM_RECURSIVE_TARGETS = check recheck
|
|
-@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \
|
|
+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \
|
|
@ENABLE_STACKTRACE_TRUE@ $(am__append_1)
|
|
TEST_SUITE_LOG = test-suite.log
|
|
TEST_EXTENSIONS = @EXEEXT@ .test
|
|
@@ -5216,7 +5384,8 @@
|
|
esac
|
|
am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
|
|
$(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \
|
|
- $(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING
|
|
+ $(srcdir)/secontext.am $(top_srcdir)/depcomp \
|
|
+ $(top_srcdir)/test-driver COPYING
|
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
ACLOCAL = @ACLOCAL@
|
|
AMTAR = @AMTAR@
|
|
@@ -5357,6 +5526,9 @@
|
|
libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
|
|
libiberty_LDFLAGS = @libiberty_LDFLAGS@
|
|
libiberty_LIBS = @libiberty_LIBS@
|
|
+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
|
|
+libselinux_LDFLAGS = @libselinux_LDFLAGS@
|
|
+libselinux_LIBS = @libselinux_LIBS@
|
|
libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
|
|
libunwind_LDFLAGS = @libunwind_LDFLAGS@
|
|
libunwind_LIBS = @libunwind_LIBS@
|
|
@@ -5400,6 +5572,8 @@
|
|
-DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
|
|
|
|
AM_LDFLAGS = $(ARCH_MFLAGS)
|
|
+@HAVE_M32_SELINUX_RUNTIME_FALSE@libselinux_LDADD =
|
|
+@HAVE_M32_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS)
|
|
libtests_a_SOURCES = \
|
|
create_nl_socket.c \
|
|
create_tmpfile.c \
|
|
@@ -5426,6 +5600,8 @@
|
|
printxval-Xabbrev.c \
|
|
printxval-Xraw.c \
|
|
printxval-Xverbose.c \
|
|
+ secontext.c \
|
|
+ secontext.h \
|
|
signal2name.c \
|
|
skip_unavailable.c \
|
|
sprintrc.c \
|
|
@@ -5505,6 +5681,9 @@
|
|
execve \
|
|
execveat \
|
|
faccessat \
|
|
+ faccessat-P \
|
|
+ faccessat-y \
|
|
+ faccessat-yy \
|
|
fadvise64 \
|
|
fadvise64_64 \
|
|
fallocate \
|
|
@@ -6077,6 +6256,69 @@
|
|
xettimeofday \
|
|
#
|
|
|
|
+secontext_EXECUTABLES = \
|
|
+ access--secontext \
|
|
+ access--secontext_full \
|
|
+ chmod--secontext \
|
|
+ chmod--secontext_full \
|
|
+ execve--secontext \
|
|
+ execve--secontext_full \
|
|
+ execveat--secontext \
|
|
+ execveat--secontext_full \
|
|
+ faccessat--secontext \
|
|
+ faccessat--secontext_full \
|
|
+ faccessat-y--secontext \
|
|
+ faccessat-y--secontext_full \
|
|
+ fanotify_mark--secontext \
|
|
+ fanotify_mark--secontext_full \
|
|
+ fchmod--secontext \
|
|
+ fchmod--secontext_full \
|
|
+ fchmod-y--secontext \
|
|
+ fchmod-y--secontext_full \
|
|
+ fchmodat--secontext \
|
|
+ fchmodat--secontext_full \
|
|
+ fchownat--secontext \
|
|
+ fchownat--secontext_full \
|
|
+ file_handle--secontext \
|
|
+ file_handle--secontext_full \
|
|
+ linkat--secontext \
|
|
+ linkat--secontext_full \
|
|
+ open--secontext \
|
|
+ open--secontext_full \
|
|
+ openat--secontext \
|
|
+ openat--secontext_full \
|
|
+ #
|
|
+
|
|
+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
attach_f_p_LDADD = -lpthread $(LDADD)
|
|
count_f_LDADD = -lpthread $(LDADD)
|
|
delay_LDADD = $(clock_LIBS) $(LDADD)
|
|
@@ -6129,14 +6371,15 @@
|
|
|
|
# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
|
|
GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
|
|
- accept4.gen.test access.gen.test acct.gen.test \
|
|
- add_key.gen.test adjtimex.gen.test aio.gen.test \
|
|
- aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
|
|
- bpf-obj_get_info_by_fd.gen.test \
|
|
+ accept4.gen.test access.gen.test access--secontext.gen.test \
|
|
+ access--secontext_full.gen.test acct.gen.test add_key.gen.test \
|
|
+ adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
|
|
+ alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
|
|
bpf-obj_get_info_by_fd-prog.gen.test \
|
|
bpf-obj_get_info_by_fd-prog-v.gen.test \
|
|
bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
|
|
- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
|
|
+ btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \
|
|
+ chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \
|
|
chroot.gen.test clock.gen.test clock_adjtime.gen.test \
|
|
clock_nanosleep.gen.test clock_xettime.gen.test \
|
|
clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \
|
|
@@ -6155,21 +6398,36 @@
|
|
dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \
|
|
epoll_create.gen.test epoll_create1.gen.test \
|
|
epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \
|
|
- erestartsys.gen.test execveat.gen.test execveat-v.gen.test \
|
|
- faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \
|
|
+ erestartsys.gen.test execve--secontext.gen.test \
|
|
+ execve--secontext_full.gen.test execveat.gen.test \
|
|
+ execveat--secontext.gen.test execveat--secontext_full.gen.test \
|
|
+ execveat-v.gen.test faccessat--secontext.gen.test \
|
|
+ faccessat--secontext_full.gen.test faccessat-P.gen.test \
|
|
+ faccessat-y.gen.test faccessat-y--secontext.gen.test \
|
|
+ faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
|
|
+ fadvise64_64.gen.test fallocate.gen.test \
|
|
fanotify_init.gen.test fanotify_mark.gen.test \
|
|
+ fanotify_mark--secontext.gen.test \
|
|
+ fanotify_mark--secontext_full.gen.test \
|
|
fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
|
|
fanotify_mark-Xverbose.gen.test fchdir.gen.test \
|
|
- fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
|
|
- fchown.gen.test fchown32.gen.test fchownat.gen.test \
|
|
+ fchmod.gen.test fchmod--secontext.gen.test \
|
|
+ fchmod--secontext_full.gen.test fchmod-y.gen.test \
|
|
+ fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
|
|
+ fchmodat.gen.test fchmodat--secontext.gen.test \
|
|
+ fchmodat--secontext_full.gen.test fchown.gen.test \
|
|
+ fchown32.gen.test fchownat.gen.test \
|
|
+ fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
|
|
fcntl.gen.test fcntl--pidns-translation.gen.test \
|
|
fcntl64.gen.test fcntl64--pidns-translation.gen.test \
|
|
fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
|
|
- filter_seccomp.gen.test filter_seccomp-flag.gen.test \
|
|
- finit_module.gen.test flock.gen.test fork-f.gen.test \
|
|
- fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
|
|
- fsopen.gen.test fspick.gen.test fspick-P.gen.test \
|
|
- fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
|
|
+ file_handle--secontext.gen.test \
|
|
+ file_handle--secontext_full.gen.test filter_seccomp.gen.test \
|
|
+ filter_seccomp-flag.gen.test finit_module.gen.test \
|
|
+ flock.gen.test fork-f.gen.test fsconfig.gen.test \
|
|
+ fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
|
|
+ fspick.gen.test fspick-P.gen.test fstat.gen.test \
|
|
+ fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
|
|
fstat-Xverbose.gen.test fstat64.gen.test \
|
|
fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
|
|
fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
|
|
@@ -6259,8 +6517,9 @@
|
|
keyctl-Xverbose.gen.test kill.gen.test \
|
|
kill--pidns-translation.gen.test ksysent.gen.test \
|
|
lchown.gen.test lchown32.gen.test link.gen.test \
|
|
- linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
|
|
- lstat64.gen.test madvise.gen.test \
|
|
+ linkat.gen.test linkat--secontext.gen.test \
|
|
+ linkat--secontext_full.gen.test lookup_dcookie.gen.test \
|
|
+ lstat.gen.test lstat64.gen.test madvise.gen.test \
|
|
maybe_switch_current_tcp.gen.test \
|
|
maybe_switch_current_tcp--quiet-thread-execve.gen.test \
|
|
mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
|
|
@@ -6328,14 +6587,17 @@
|
|
old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \
|
|
oldselect.gen.test oldselect-P.gen.test \
|
|
oldselect-efault.gen.test oldselect-efault-P.gen.test \
|
|
- oldstat.gen.test open.gen.test open_tree.gen.test \
|
|
- open_tree-P.gen.test openat.gen.test openat2.gen.test \
|
|
- openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
|
|
- openat2-Xverbose.gen.test openat2-v.gen.test \
|
|
- openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
|
|
- openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
|
|
- openat2-y.gen.test orphaned_process_group.gen.test \
|
|
- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
|
|
+ oldstat.gen.test open.gen.test open--secontext.gen.test \
|
|
+ open--secontext_full.gen.test open_tree.gen.test \
|
|
+ open_tree-P.gen.test openat.gen.test \
|
|
+ openat--secontext.gen.test openat--secontext_full.gen.test \
|
|
+ openat2.gen.test openat2-Xabbrev.gen.test \
|
|
+ openat2-Xraw.gen.test openat2-Xverbose.gen.test \
|
|
+ openat2-v.gen.test openat2-v-y.gen.test \
|
|
+ openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
|
|
+ openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
|
|
+ orphaned_process_group.gen.test osf_utimes.gen.test \
|
|
+ pause.gen.test perf_event_open.gen.test \
|
|
perf_event_open_nonverbose.gen.test \
|
|
perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
|
|
personality-Xraw.gen.test personality-Xverbose.gen.test \
|
|
@@ -6806,7 +7068,7 @@
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
|
|
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
|
|
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
|
|
@for dep in $?; do \
|
|
case '$(am__configure_deps)' in \
|
|
*$$dep*) \
|
|
@@ -6826,7 +7088,7 @@
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
-$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
|
|
+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
@@ -6868,6 +7130,14 @@
|
|
@rm -f access$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
|
|
|
|
+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES)
|
|
+ @rm -f access--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS)
|
|
+
|
|
+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES)
|
|
+ @rm -f access--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES)
|
|
@rm -f acct$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
|
|
@@ -6984,6 +7254,14 @@
|
|
@rm -f chmod$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
|
|
|
|
+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES)
|
|
+ @rm -f chmod--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS)
|
|
+
|
|
+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES)
|
|
+ @rm -f chmod--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES)
|
|
@rm -f chown$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
|
|
@@ -7196,6 +7474,14 @@
|
|
@rm -f execve$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
|
|
|
|
+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES)
|
|
+ @rm -f execve--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS)
|
|
+
|
|
+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES)
|
|
+ @rm -f execve--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES)
|
|
@rm -f execve-v$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
|
|
@@ -7204,6 +7490,14 @@
|
|
@rm -f execveat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
|
|
|
|
+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES)
|
|
+ @rm -f execveat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f execveat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES)
|
|
@rm -f execveat-v$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
|
|
@@ -7212,6 +7506,34 @@
|
|
@rm -f faccessat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
|
|
|
|
+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES)
|
|
+ @rm -f faccessat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f faccessat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES)
|
|
+ @rm -f faccessat-P$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES)
|
|
+ @rm -f faccessat-y$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES)
|
|
+ @rm -f faccessat-y--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES)
|
|
+ @rm -f faccessat-y--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES)
|
|
+ @rm -f faccessat-yy$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
|
|
+
|
|
fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES)
|
|
@rm -f fadvise64$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
|
|
@@ -7232,6 +7554,14 @@
|
|
@rm -f fanotify_mark$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
|
|
|
|
+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES)
|
|
+ @rm -f fanotify_mark--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fanotify_mark--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES)
|
|
@rm -f fanotify_mark-Xabbrev$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
|
|
@@ -7252,14 +7582,38 @@
|
|
@rm -f fchmod$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
|
|
|
|
+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmod--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmod--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES)
|
|
@rm -f fchmod-y$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
|
|
|
|
+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmod-y--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmod-y--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES)
|
|
@rm -f fchmodat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
|
|
|
|
+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmodat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmodat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES)
|
|
@rm -f fchown$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
|
|
@@ -7272,6 +7626,14 @@
|
|
@rm -f fchownat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
|
|
|
|
+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES)
|
|
+ @rm -f fchownat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchownat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES)
|
|
@rm -f fcntl$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
|
|
@@ -7300,6 +7662,14 @@
|
|
@rm -f file_handle$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
|
|
|
|
+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES)
|
|
+ @rm -f file_handle--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS)
|
|
+
|
|
+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES)
|
|
+ @rm -f file_handle--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES)
|
|
@rm -f file_ioctl$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
|
|
@@ -8124,6 +8494,14 @@
|
|
@rm -f linkat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
|
|
|
|
+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES)
|
|
+ @rm -f linkat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f linkat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES)
|
|
@rm -f list_sigaction_signum$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
|
|
@@ -8756,6 +9134,14 @@
|
|
@rm -f open$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
|
|
|
|
+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES)
|
|
+ @rm -f open--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS)
|
|
+
|
|
+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES)
|
|
+ @rm -f open--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES)
|
|
@rm -f open_tree$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
|
|
@@ -8768,6 +9154,14 @@
|
|
@rm -f openat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
|
|
|
|
+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES)
|
|
+ @rm -f openat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f openat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES)
|
|
@rm -f openat2$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
|
|
@@ -10094,6 +10488,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
|
|
@@ -10123,6 +10519,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
|
|
@@ -10176,25 +10574,46 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
|
|
@@ -10202,6 +10621,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
|
|
@@ -10431,6 +10852,7 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
|
|
@@ -10443,6 +10865,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
|
|
@@ -10601,9 +11025,13 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
|
|
@@ -11300,6 +11728,20 @@
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi`
|
|
|
|
+libtests_a-secontext.o: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+
|
|
+libtests_a-secontext.obj: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+
|
|
libtests_a-signal2name.o: signal2name.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
|
|
@@ -13841,6 +14283,12 @@
|
|
$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -13883,6 +14331,12 @@
|
|
$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14024,13 +14478,43 @@
|
|
$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
-$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
@@ -14045,6 +14529,12 @@
|
|
$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14060,12 +14550,30 @@
|
|
$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14075,6 +14583,12 @@
|
|
$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14096,6 +14610,12 @@
|
|
$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14690,6 +15210,12 @@
|
|
$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -15107,6 +15633,12 @@
|
|
$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -15116,6 +15648,12 @@
|
|
$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
Index: strace-5.7/tests-mx32/Makefile.in
|
|
===================================================================
|
|
--- strace-5.7.orig/tests-mx32/Makefile.in 2021-08-24 21:08:35.498311681 +0200
|
|
+++ strace-5.7/tests-mx32/Makefile.in 2021-08-24 21:08:43.292245714 +0200
|
|
@@ -22,6 +22,8 @@
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit.
|
|
+
|
|
# scno.h make rules for strace.
|
|
#
|
|
# Copyright (c) 2017-2019 Dmitry V. Levin <ldv@altlinux.org>
|
|
@@ -102,8 +104,8 @@
|
|
POST_UNINSTALL = :
|
|
build_triplet = @build@
|
|
host_triplet = @host@
|
|
-check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
|
|
- attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
|
|
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \
|
|
+ answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
|
|
attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
|
|
block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \
|
|
bpf-obj_get_info_by_fd$(EXEEXT) \
|
|
@@ -221,7 +223,7 @@
|
|
xetpriority--pidns-translation$(EXEEXT) \
|
|
xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
|
|
@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
|
|
-TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
|
|
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3)
|
|
subdir = tests-mx32
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
|
|
@@ -270,6 +272,7 @@
|
|
$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
|
|
$(top_srcdir)/m4/st_libunwind.m4 \
|
|
$(top_srcdir)/m4/st_save_restore_var.m4 \
|
|
+ $(top_srcdir)/m4/st_selinux.m4 \
|
|
$(top_srcdir)/m4/st_stacktrace.m4 \
|
|
$(top_srcdir)/m4/st_warn_cflags.m4 \
|
|
$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
|
|
@@ -298,7 +301,8 @@
|
|
epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
|
|
epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
|
|
erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
|
|
- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
|
|
+ execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \
|
|
+ faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \
|
|
fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
|
|
fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
|
|
fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
|
|
@@ -543,6 +547,26 @@
|
|
xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
|
|
xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
|
|
xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
|
|
+am__EXEEXT_2 = access--secontext$(EXEEXT) \
|
|
+ access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
|
|
+ chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
|
|
+ execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
|
|
+ execveat--secontext_full$(EXEEXT) \
|
|
+ faccessat--secontext$(EXEEXT) \
|
|
+ faccessat--secontext_full$(EXEEXT) \
|
|
+ faccessat-y--secontext$(EXEEXT) \
|
|
+ faccessat-y--secontext_full$(EXEEXT) \
|
|
+ fanotify_mark--secontext$(EXEEXT) \
|
|
+ fanotify_mark--secontext_full$(EXEEXT) \
|
|
+ fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
|
|
+ fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
|
|
+ fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
|
|
+ fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
|
|
+ file_handle--secontext$(EXEEXT) \
|
|
+ file_handle--secontext_full$(EXEEXT) \
|
|
+ linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
|
|
+ open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
|
|
+ openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
|
|
ARFLAGS = cru
|
|
AM_V_AR = $(am__v_AR_@AM_V@)
|
|
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
|
|
@@ -571,6 +595,7 @@
|
|
libtests_a-printxval-Xabbrev.$(OBJEXT) \
|
|
libtests_a-printxval-Xraw.$(OBJEXT) \
|
|
libtests_a-printxval-Xverbose.$(OBJEXT) \
|
|
+ libtests_a-secontext.$(OBJEXT) \
|
|
libtests_a-signal2name.$(OBJEXT) \
|
|
libtests_a-skip_unavailable.$(OBJEXT) \
|
|
libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
|
|
@@ -600,6 +625,15 @@
|
|
access_OBJECTS = access.$(OBJEXT)
|
|
access_LDADD = $(LDADD)
|
|
access_DEPENDENCIES = libtests.a
|
|
+access__secontext_SOURCES = access--secontext.c
|
|
+access__secontext_OBJECTS = access--secontext.$(OBJEXT)
|
|
+am__DEPENDENCIES_1 =
|
|
+@HAVE_MX32_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = \
|
|
+@HAVE_MX32_SELINUX_RUNTIME_TRUE@ $(am__DEPENDENCIES_1)
|
|
+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+access__secontext_full_SOURCES = access--secontext_full.c
|
|
+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
|
|
+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
acct_SOURCES = acct.c
|
|
acct_OBJECTS = acct.$(OBJEXT)
|
|
acct_LDADD = $(LDADD)
|
|
@@ -718,6 +752,12 @@
|
|
chmod_OBJECTS = chmod.$(OBJEXT)
|
|
chmod_LDADD = $(LDADD)
|
|
chmod_DEPENDENCIES = libtests.a
|
|
+chmod__secontext_SOURCES = chmod--secontext.c
|
|
+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT)
|
|
+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+chmod__secontext_full_SOURCES = chmod--secontext_full.c
|
|
+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
|
|
+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
chown_SOURCES = chown.c
|
|
chown_OBJECTS = chown.$(OBJEXT)
|
|
chown_LDADD = $(LDADD)
|
|
@@ -828,7 +868,6 @@
|
|
creat_DEPENDENCIES = libtests.a
|
|
delay_SOURCES = delay.c
|
|
delay_OBJECTS = delay.$(OBJEXT)
|
|
-am__DEPENDENCIES_1 =
|
|
delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
|
|
delete_module_SOURCES = delete_module.c
|
|
delete_module_OBJECTS = delete_module.$(OBJEXT)
|
|
@@ -930,6 +969,12 @@
|
|
execve_OBJECTS = execve.$(OBJEXT)
|
|
execve_LDADD = $(LDADD)
|
|
execve_DEPENDENCIES = libtests.a
|
|
+execve__secontext_SOURCES = execve--secontext.c
|
|
+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT)
|
|
+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+execve__secontext_full_SOURCES = execve--secontext_full.c
|
|
+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
|
|
+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
execve_v_SOURCES = execve-v.c
|
|
execve_v_OBJECTS = execve-v.$(OBJEXT)
|
|
execve_v_LDADD = $(LDADD)
|
|
@@ -938,6 +983,12 @@
|
|
execveat_OBJECTS = execveat.$(OBJEXT)
|
|
execveat_LDADD = $(LDADD)
|
|
execveat_DEPENDENCIES = libtests.a
|
|
+execveat__secontext_SOURCES = execveat--secontext.c
|
|
+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT)
|
|
+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+execveat__secontext_full_SOURCES = execveat--secontext_full.c
|
|
+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
|
|
+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
execveat_v_SOURCES = execveat-v.c
|
|
execveat_v_OBJECTS = execveat-v.$(OBJEXT)
|
|
execveat_v_LDADD = $(LDADD)
|
|
@@ -946,6 +997,34 @@
|
|
faccessat_OBJECTS = faccessat.$(OBJEXT)
|
|
faccessat_LDADD = $(LDADD)
|
|
faccessat_DEPENDENCIES = libtests.a
|
|
+faccessat__secontext_SOURCES = faccessat--secontext.c
|
|
+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT)
|
|
+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c
|
|
+faccessat__secontext_full_OBJECTS = \
|
|
+ faccessat--secontext_full.$(OBJEXT)
|
|
+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
+faccessat_P_SOURCES = faccessat-P.c
|
|
+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
|
|
+faccessat_P_LDADD = $(LDADD)
|
|
+faccessat_P_DEPENDENCIES = libtests.a
|
|
+faccessat_y_SOURCES = faccessat-y.c
|
|
+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT)
|
|
+faccessat_y_LDADD = $(LDADD)
|
|
+faccessat_y_DEPENDENCIES = libtests.a
|
|
+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c
|
|
+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT)
|
|
+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c
|
|
+faccessat_y__secontext_full_OBJECTS = \
|
|
+ faccessat-y--secontext_full.$(OBJEXT)
|
|
+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
+faccessat_yy_SOURCES = faccessat-yy.c
|
|
+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
|
|
+faccessat_yy_LDADD = $(LDADD)
|
|
+faccessat_yy_DEPENDENCIES = libtests.a
|
|
fadvise64_SOURCES = fadvise64.c
|
|
fadvise64_OBJECTS = fadvise64.$(OBJEXT)
|
|
fadvise64_LDADD = $(LDADD)
|
|
@@ -966,6 +1045,15 @@
|
|
fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
|
|
fanotify_mark_LDADD = $(LDADD)
|
|
fanotify_mark_DEPENDENCIES = libtests.a
|
|
+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c
|
|
+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT)
|
|
+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fanotify_mark__secontext_full_SOURCES = \
|
|
+ fanotify_mark--secontext_full.c
|
|
+fanotify_mark__secontext_full_OBJECTS = \
|
|
+ fanotify_mark--secontext_full.$(OBJEXT)
|
|
+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
|
|
fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
|
|
fanotify_mark_Xabbrev_LDADD = $(LDADD)
|
|
@@ -986,14 +1074,32 @@
|
|
fchmod_OBJECTS = fchmod.$(OBJEXT)
|
|
fchmod_LDADD = $(LDADD)
|
|
fchmod_DEPENDENCIES = libtests.a
|
|
+fchmod__secontext_SOURCES = fchmod--secontext.c
|
|
+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT)
|
|
+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
|
|
+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
|
|
+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchmod_y_SOURCES = fchmod-y.c
|
|
fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
|
|
fchmod_y_LDADD = $(LDADD)
|
|
fchmod_y_DEPENDENCIES = libtests.a
|
|
+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c
|
|
+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT)
|
|
+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
|
|
+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
|
|
+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchmodat_SOURCES = fchmodat.c
|
|
fchmodat_OBJECTS = fchmodat.$(OBJEXT)
|
|
fchmodat_LDADD = $(LDADD)
|
|
fchmodat_DEPENDENCIES = libtests.a
|
|
+fchmodat__secontext_SOURCES = fchmodat--secontext.c
|
|
+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT)
|
|
+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
|
|
+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
|
|
+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fchown_SOURCES = fchown.c
|
|
fchown_OBJECTS = fchown.$(OBJEXT)
|
|
fchown_LDADD = $(LDADD)
|
|
@@ -1006,6 +1112,12 @@
|
|
fchownat_OBJECTS = fchownat.$(OBJEXT)
|
|
fchownat_LDADD = $(LDADD)
|
|
fchownat_DEPENDENCIES = libtests.a
|
|
+fchownat__secontext_SOURCES = fchownat--secontext.c
|
|
+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT)
|
|
+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
|
|
+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
|
|
+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
fcntl_SOURCES = fcntl.c
|
|
fcntl_OBJECTS = fcntl.$(OBJEXT)
|
|
fcntl_LDADD = $(LDADD)
|
|
@@ -1035,6 +1147,14 @@
|
|
file_handle_OBJECTS = file_handle.$(OBJEXT)
|
|
file_handle_LDADD = $(LDADD)
|
|
file_handle_DEPENDENCIES = libtests.a
|
|
+file_handle__secontext_SOURCES = file_handle--secontext.c
|
|
+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT)
|
|
+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c
|
|
+file_handle__secontext_full_OBJECTS = \
|
|
+ file_handle--secontext_full.$(OBJEXT)
|
|
+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
|
|
+ $(am__DEPENDENCIES_2)
|
|
file_ioctl_SOURCES = file_ioctl.c
|
|
file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
|
|
file_ioctl_LDADD = $(LDADD)
|
|
@@ -1886,6 +2006,12 @@
|
|
linkat_OBJECTS = linkat.$(OBJEXT)
|
|
linkat_LDADD = $(LDADD)
|
|
linkat_DEPENDENCIES = libtests.a
|
|
+linkat__secontext_SOURCES = linkat--secontext.c
|
|
+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT)
|
|
+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+linkat__secontext_full_SOURCES = linkat--secontext_full.c
|
|
+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
|
|
+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
list_sigaction_signum_SOURCES = list_sigaction_signum.c
|
|
list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
|
|
list_sigaction_signum_LDADD = $(LDADD)
|
|
@@ -2530,6 +2656,12 @@
|
|
open_OBJECTS = open.$(OBJEXT)
|
|
open_LDADD = $(LDADD)
|
|
open_DEPENDENCIES = libtests.a
|
|
+open__secontext_SOURCES = open--secontext.c
|
|
+open__secontext_OBJECTS = open--secontext.$(OBJEXT)
|
|
+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+open__secontext_full_SOURCES = open--secontext_full.c
|
|
+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
|
|
+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
open_tree_SOURCES = open_tree.c
|
|
open_tree_OBJECTS = open_tree.$(OBJEXT)
|
|
open_tree_LDADD = $(LDADD)
|
|
@@ -2542,6 +2674,12 @@
|
|
openat_OBJECTS = openat.$(OBJEXT)
|
|
openat_LDADD = $(LDADD)
|
|
openat_DEPENDENCIES = libtests.a
|
|
+openat__secontext_SOURCES = openat--secontext.c
|
|
+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT)
|
|
+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
+openat__secontext_full_SOURCES = openat--secontext_full.c
|
|
+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
|
|
+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
|
|
openat2_SOURCES = openat2.c
|
|
openat2_OBJECTS = openat2.$(OBJEXT)
|
|
openat2_LDADD = $(LDADD)
|
|
@@ -4487,7 +4625,8 @@
|
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
|
am__v_CCLD_1 =
|
|
SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
|
|
- accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
|
|
+ accept4.c access.c access--secontext.c \
|
|
+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
|
|
aio_pgetevents.c alarm.c answer.c attach-f-p.c \
|
|
attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
|
|
block_reset_raise_run.c block_reset_run.c bpf.c \
|
|
@@ -4495,7 +4634,8 @@
|
|
bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
|
|
bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
|
|
brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
|
|
- check_sigign.c chmod.c chown.c chown32.c chroot.c \
|
|
+ check_sigign.c chmod.c chmod--secontext.c \
|
|
+ chmod--secontext_full.c chown.c chown32.c chroot.c \
|
|
clock_adjtime.c clock_nanosleep.c clock_xettime.c \
|
|
clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
|
|
clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
|
|
@@ -4509,25 +4649,35 @@
|
|
dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
|
|
dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
|
|
epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
|
|
- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
|
|
- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
|
|
- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
|
|
- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
|
|
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
|
|
- fcntl--pidns-translation.c fcntl64.c \
|
|
- fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
- file_handle.c file_ioctl.c filter-unavailable.c \
|
|
- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
|
|
- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
|
|
- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
|
|
- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
|
|
- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
|
|
- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
|
|
- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
|
|
- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
|
|
- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
|
|
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
|
|
- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
+ execve--secontext.c execve--secontext_full.c execve-v.c \
|
|
+ execveat.c execveat--secontext.c execveat--secontext_full.c \
|
|
+ execveat-v.c faccessat.c faccessat--secontext.c \
|
|
+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
|
|
+ faccessat-y--secontext.c faccessat-y--secontext_full.c \
|
|
+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
|
|
+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
|
|
+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
|
|
+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
|
|
+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
|
|
+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
|
|
+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
|
|
+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \
|
|
+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
|
|
+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
+ file_handle.c file_handle--secontext.c \
|
|
+ file_handle--secontext_full.c file_ioctl.c \
|
|
+ filter-unavailable.c filter_seccomp-flag.c \
|
|
+ filter_seccomp-perf.c finit_module.c flock.c \
|
|
+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
|
|
+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
|
|
+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
|
|
+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
|
|
+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
|
|
+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
|
|
+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
|
|
+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
|
|
+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
|
|
+ getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
|
|
getresgid32.c getresuid.c getresuid32.c getrlimit.c \
|
|
getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
|
|
@@ -4578,7 +4728,8 @@
|
|
kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
|
|
keyctl-Xraw.c keyctl-Xverbose.c kill.c \
|
|
kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
|
|
- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
|
|
+ lchown32.c link.c linkat.c linkat--secontext.c \
|
|
+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \
|
|
localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
|
|
lstat64.c madvise.c maybe_switch_current_tcp.c \
|
|
maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
|
|
@@ -4629,23 +4780,25 @@
|
|
old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
|
|
old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
|
|
oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
|
|
- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
|
|
- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
|
|
- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
|
|
- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
|
|
- orphaned_process_group.c osf_utimes.c pause.c pc.c \
|
|
- perf_event_open.c perf_event_open_nonverbose.c \
|
|
- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
|
|
- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
|
|
- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
|
|
- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
|
|
- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
|
|
- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
|
|
- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
|
|
- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
|
|
- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
|
|
- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
|
|
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
+ oldstat.c open.c open--secontext.c open--secontext_full.c \
|
|
+ open_tree.c open_tree-P.c openat.c openat--secontext.c \
|
|
+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \
|
|
+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
|
|
+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
|
|
+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
|
|
+ osf_utimes.c pause.c pc.c perf_event_open.c \
|
|
+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
|
|
+ personality.c personality-Xabbrev.c personality-Xraw.c \
|
|
+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
|
|
+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
|
|
+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
|
|
+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
|
|
+ pidfd_open-yy.c pidfd_send_signal.c \
|
|
+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
|
|
+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
|
|
+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
|
|
+ prctl-dumpable.c prctl-name.c prctl-no-args.c \
|
|
+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
|
|
prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
|
|
preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
|
|
@@ -4735,7 +4888,8 @@
|
|
xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
|
|
zeroargc.c
|
|
DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
|
|
- accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
|
|
+ accept.c accept4.c access.c access--secontext.c \
|
|
+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
|
|
aio_pgetevents.c alarm.c answer.c attach-f-p.c \
|
|
attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
|
|
block_reset_raise_run.c block_reset_run.c bpf.c \
|
|
@@ -4743,7 +4897,8 @@
|
|
bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
|
|
bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
|
|
brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
|
|
- check_sigign.c chmod.c chown.c chown32.c chroot.c \
|
|
+ check_sigign.c chmod.c chmod--secontext.c \
|
|
+ chmod--secontext_full.c chown.c chown32.c chroot.c \
|
|
clock_adjtime.c clock_nanosleep.c clock_xettime.c \
|
|
clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
|
|
clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
|
|
@@ -4757,25 +4912,35 @@
|
|
dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
|
|
dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
|
|
epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
|
|
- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
|
|
- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
|
|
- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
|
|
- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
|
|
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
|
|
- fcntl--pidns-translation.c fcntl64.c \
|
|
- fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
- file_handle.c file_ioctl.c filter-unavailable.c \
|
|
- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
|
|
- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
|
|
- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
|
|
- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
|
|
- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
|
|
- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
|
|
- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
|
|
- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
|
|
- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
|
|
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
|
|
- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
+ execve--secontext.c execve--secontext_full.c execve-v.c \
|
|
+ execveat.c execveat--secontext.c execveat--secontext_full.c \
|
|
+ execveat-v.c faccessat.c faccessat--secontext.c \
|
|
+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
|
|
+ faccessat-y--secontext.c faccessat-y--secontext_full.c \
|
|
+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
|
|
+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
|
|
+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
|
|
+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
|
|
+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
|
|
+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
|
|
+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
|
|
+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \
|
|
+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
|
|
+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
|
|
+ file_handle.c file_handle--secontext.c \
|
|
+ file_handle--secontext_full.c file_ioctl.c \
|
|
+ filter-unavailable.c filter_seccomp-flag.c \
|
|
+ filter_seccomp-perf.c finit_module.c flock.c \
|
|
+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
|
|
+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
|
|
+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
|
|
+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
|
|
+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
|
|
+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
|
|
+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
|
|
+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
|
|
+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
|
|
+ getpgrp.c getpgrp--pidns-translation.c getpid.c \
|
|
getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
|
|
getresgid32.c getresuid.c getresuid32.c getrlimit.c \
|
|
getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
|
|
@@ -4826,7 +4991,8 @@
|
|
kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
|
|
keyctl-Xraw.c keyctl-Xverbose.c kill.c \
|
|
kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
|
|
- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
|
|
+ lchown32.c link.c linkat.c linkat--secontext.c \
|
|
+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \
|
|
localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
|
|
lstat64.c madvise.c maybe_switch_current_tcp.c \
|
|
maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
|
|
@@ -4877,23 +5043,25 @@
|
|
old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
|
|
old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
|
|
oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
|
|
- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
|
|
- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
|
|
- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
|
|
- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
|
|
- orphaned_process_group.c osf_utimes.c pause.c pc.c \
|
|
- perf_event_open.c perf_event_open_nonverbose.c \
|
|
- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
|
|
- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
|
|
- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
|
|
- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
|
|
- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
|
|
- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
|
|
- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
|
|
- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
|
|
- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
|
|
- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
|
|
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
+ oldstat.c open.c open--secontext.c open--secontext_full.c \
|
|
+ open_tree.c open_tree-P.c openat.c openat--secontext.c \
|
|
+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \
|
|
+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
|
|
+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
|
|
+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
|
|
+ osf_utimes.c pause.c pc.c perf_event_open.c \
|
|
+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
|
|
+ personality.c personality-Xabbrev.c personality-Xraw.c \
|
|
+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
|
|
+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
|
|
+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
|
|
+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
|
|
+ pidfd_open-yy.c pidfd_send_signal.c \
|
|
+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
|
|
+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
|
|
+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
|
|
+ prctl-dumpable.c prctl-name.c prctl-no-args.c \
|
|
+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \
|
|
prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
|
|
prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
|
|
preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
|
|
@@ -5194,7 +5362,7 @@
|
|
bases=`echo $$bases`
|
|
RECHECK_LOGS = $(TEST_LOGS)
|
|
AM_RECURSIVE_TARGETS = check recheck
|
|
-@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \
|
|
+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \
|
|
@ENABLE_STACKTRACE_TRUE@ $(am__append_1)
|
|
TEST_SUITE_LOG = test-suite.log
|
|
TEST_EXTENSIONS = @EXEEXT@ .test
|
|
@@ -5216,7 +5384,8 @@
|
|
esac
|
|
am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
|
|
$(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \
|
|
- $(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING
|
|
+ $(srcdir)/secontext.am $(top_srcdir)/depcomp \
|
|
+ $(top_srcdir)/test-driver COPYING
|
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
ACLOCAL = @ACLOCAL@
|
|
AMTAR = @AMTAR@
|
|
@@ -5357,6 +5526,9 @@
|
|
libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
|
|
libiberty_LDFLAGS = @libiberty_LDFLAGS@
|
|
libiberty_LIBS = @libiberty_LIBS@
|
|
+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
|
|
+libselinux_LDFLAGS = @libselinux_LDFLAGS@
|
|
+libselinux_LIBS = @libselinux_LIBS@
|
|
libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
|
|
libunwind_LDFLAGS = @libunwind_LDFLAGS@
|
|
libunwind_LIBS = @libunwind_LIBS@
|
|
@@ -5400,6 +5572,8 @@
|
|
-DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
|
|
|
|
AM_LDFLAGS = $(ARCH_MFLAGS)
|
|
+@HAVE_MX32_SELINUX_RUNTIME_FALSE@libselinux_LDADD =
|
|
+@HAVE_MX32_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS)
|
|
libtests_a_SOURCES = \
|
|
create_nl_socket.c \
|
|
create_tmpfile.c \
|
|
@@ -5426,6 +5600,8 @@
|
|
printxval-Xabbrev.c \
|
|
printxval-Xraw.c \
|
|
printxval-Xverbose.c \
|
|
+ secontext.c \
|
|
+ secontext.h \
|
|
signal2name.c \
|
|
skip_unavailable.c \
|
|
sprintrc.c \
|
|
@@ -5505,6 +5681,9 @@
|
|
execve \
|
|
execveat \
|
|
faccessat \
|
|
+ faccessat-P \
|
|
+ faccessat-y \
|
|
+ faccessat-yy \
|
|
fadvise64 \
|
|
fadvise64_64 \
|
|
fallocate \
|
|
@@ -6077,6 +6256,69 @@
|
|
xettimeofday \
|
|
#
|
|
|
|
+secontext_EXECUTABLES = \
|
|
+ access--secontext \
|
|
+ access--secontext_full \
|
|
+ chmod--secontext \
|
|
+ chmod--secontext_full \
|
|
+ execve--secontext \
|
|
+ execve--secontext_full \
|
|
+ execveat--secontext \
|
|
+ execveat--secontext_full \
|
|
+ faccessat--secontext \
|
|
+ faccessat--secontext_full \
|
|
+ faccessat-y--secontext \
|
|
+ faccessat-y--secontext_full \
|
|
+ fanotify_mark--secontext \
|
|
+ fanotify_mark--secontext_full \
|
|
+ fchmod--secontext \
|
|
+ fchmod--secontext_full \
|
|
+ fchmod-y--secontext \
|
|
+ fchmod-y--secontext_full \
|
|
+ fchmodat--secontext \
|
|
+ fchmodat--secontext_full \
|
|
+ fchownat--secontext \
|
|
+ fchownat--secontext_full \
|
|
+ file_handle--secontext \
|
|
+ file_handle--secontext_full \
|
|
+ linkat--secontext \
|
|
+ linkat--secontext_full \
|
|
+ open--secontext \
|
|
+ open--secontext_full \
|
|
+ openat--secontext \
|
|
+ openat--secontext_full \
|
|
+ #
|
|
+
|
|
+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
|
|
attach_f_p_LDADD = -lpthread $(LDADD)
|
|
count_f_LDADD = -lpthread $(LDADD)
|
|
delay_LDADD = $(clock_LIBS) $(LDADD)
|
|
@@ -6129,14 +6371,15 @@
|
|
|
|
# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
|
|
GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
|
|
- accept4.gen.test access.gen.test acct.gen.test \
|
|
- add_key.gen.test adjtimex.gen.test aio.gen.test \
|
|
- aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
|
|
- bpf-obj_get_info_by_fd.gen.test \
|
|
+ accept4.gen.test access.gen.test access--secontext.gen.test \
|
|
+ access--secontext_full.gen.test acct.gen.test add_key.gen.test \
|
|
+ adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
|
|
+ alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
|
|
bpf-obj_get_info_by_fd-prog.gen.test \
|
|
bpf-obj_get_info_by_fd-prog-v.gen.test \
|
|
bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
|
|
- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
|
|
+ btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \
|
|
+ chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \
|
|
chroot.gen.test clock.gen.test clock_adjtime.gen.test \
|
|
clock_nanosleep.gen.test clock_xettime.gen.test \
|
|
clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \
|
|
@@ -6155,21 +6398,36 @@
|
|
dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \
|
|
epoll_create.gen.test epoll_create1.gen.test \
|
|
epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \
|
|
- erestartsys.gen.test execveat.gen.test execveat-v.gen.test \
|
|
- faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \
|
|
+ erestartsys.gen.test execve--secontext.gen.test \
|
|
+ execve--secontext_full.gen.test execveat.gen.test \
|
|
+ execveat--secontext.gen.test execveat--secontext_full.gen.test \
|
|
+ execveat-v.gen.test faccessat--secontext.gen.test \
|
|
+ faccessat--secontext_full.gen.test faccessat-P.gen.test \
|
|
+ faccessat-y.gen.test faccessat-y--secontext.gen.test \
|
|
+ faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
|
|
+ fadvise64_64.gen.test fallocate.gen.test \
|
|
fanotify_init.gen.test fanotify_mark.gen.test \
|
|
+ fanotify_mark--secontext.gen.test \
|
|
+ fanotify_mark--secontext_full.gen.test \
|
|
fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
|
|
fanotify_mark-Xverbose.gen.test fchdir.gen.test \
|
|
- fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
|
|
- fchown.gen.test fchown32.gen.test fchownat.gen.test \
|
|
+ fchmod.gen.test fchmod--secontext.gen.test \
|
|
+ fchmod--secontext_full.gen.test fchmod-y.gen.test \
|
|
+ fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
|
|
+ fchmodat.gen.test fchmodat--secontext.gen.test \
|
|
+ fchmodat--secontext_full.gen.test fchown.gen.test \
|
|
+ fchown32.gen.test fchownat.gen.test \
|
|
+ fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
|
|
fcntl.gen.test fcntl--pidns-translation.gen.test \
|
|
fcntl64.gen.test fcntl64--pidns-translation.gen.test \
|
|
fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
|
|
- filter_seccomp.gen.test filter_seccomp-flag.gen.test \
|
|
- finit_module.gen.test flock.gen.test fork-f.gen.test \
|
|
- fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
|
|
- fsopen.gen.test fspick.gen.test fspick-P.gen.test \
|
|
- fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
|
|
+ file_handle--secontext.gen.test \
|
|
+ file_handle--secontext_full.gen.test filter_seccomp.gen.test \
|
|
+ filter_seccomp-flag.gen.test finit_module.gen.test \
|
|
+ flock.gen.test fork-f.gen.test fsconfig.gen.test \
|
|
+ fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
|
|
+ fspick.gen.test fspick-P.gen.test fstat.gen.test \
|
|
+ fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
|
|
fstat-Xverbose.gen.test fstat64.gen.test \
|
|
fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
|
|
fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
|
|
@@ -6259,8 +6517,9 @@
|
|
keyctl-Xverbose.gen.test kill.gen.test \
|
|
kill--pidns-translation.gen.test ksysent.gen.test \
|
|
lchown.gen.test lchown32.gen.test link.gen.test \
|
|
- linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
|
|
- lstat64.gen.test madvise.gen.test \
|
|
+ linkat.gen.test linkat--secontext.gen.test \
|
|
+ linkat--secontext_full.gen.test lookup_dcookie.gen.test \
|
|
+ lstat.gen.test lstat64.gen.test madvise.gen.test \
|
|
maybe_switch_current_tcp.gen.test \
|
|
maybe_switch_current_tcp--quiet-thread-execve.gen.test \
|
|
mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
|
|
@@ -6328,14 +6587,17 @@
|
|
old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \
|
|
oldselect.gen.test oldselect-P.gen.test \
|
|
oldselect-efault.gen.test oldselect-efault-P.gen.test \
|
|
- oldstat.gen.test open.gen.test open_tree.gen.test \
|
|
- open_tree-P.gen.test openat.gen.test openat2.gen.test \
|
|
- openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
|
|
- openat2-Xverbose.gen.test openat2-v.gen.test \
|
|
- openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
|
|
- openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
|
|
- openat2-y.gen.test orphaned_process_group.gen.test \
|
|
- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
|
|
+ oldstat.gen.test open.gen.test open--secontext.gen.test \
|
|
+ open--secontext_full.gen.test open_tree.gen.test \
|
|
+ open_tree-P.gen.test openat.gen.test \
|
|
+ openat--secontext.gen.test openat--secontext_full.gen.test \
|
|
+ openat2.gen.test openat2-Xabbrev.gen.test \
|
|
+ openat2-Xraw.gen.test openat2-Xverbose.gen.test \
|
|
+ openat2-v.gen.test openat2-v-y.gen.test \
|
|
+ openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
|
|
+ openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
|
|
+ orphaned_process_group.gen.test osf_utimes.gen.test \
|
|
+ pause.gen.test perf_event_open.gen.test \
|
|
perf_event_open_nonverbose.gen.test \
|
|
perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
|
|
personality-Xraw.gen.test personality-Xverbose.gen.test \
|
|
@@ -6806,7 +7068,7 @@
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
|
|
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
|
|
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
|
|
@for dep in $?; do \
|
|
case '$(am__configure_deps)' in \
|
|
*$$dep*) \
|
|
@@ -6826,7 +7088,7 @@
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
-$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
|
|
+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
@@ -6868,6 +7130,14 @@
|
|
@rm -f access$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
|
|
|
|
+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES)
|
|
+ @rm -f access--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS)
|
|
+
|
|
+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES)
|
|
+ @rm -f access--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES)
|
|
@rm -f acct$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
|
|
@@ -6984,6 +7254,14 @@
|
|
@rm -f chmod$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
|
|
|
|
+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES)
|
|
+ @rm -f chmod--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS)
|
|
+
|
|
+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES)
|
|
+ @rm -f chmod--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES)
|
|
@rm -f chown$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
|
|
@@ -7196,6 +7474,14 @@
|
|
@rm -f execve$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
|
|
|
|
+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES)
|
|
+ @rm -f execve--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS)
|
|
+
|
|
+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES)
|
|
+ @rm -f execve--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES)
|
|
@rm -f execve-v$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
|
|
@@ -7204,6 +7490,14 @@
|
|
@rm -f execveat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
|
|
|
|
+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES)
|
|
+ @rm -f execveat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f execveat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES)
|
|
@rm -f execveat-v$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
|
|
@@ -7212,6 +7506,34 @@
|
|
@rm -f faccessat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
|
|
|
|
+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES)
|
|
+ @rm -f faccessat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f faccessat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES)
|
|
+ @rm -f faccessat-P$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES)
|
|
+ @rm -f faccessat-y$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES)
|
|
+ @rm -f faccessat-y--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES)
|
|
+ @rm -f faccessat-y--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES)
|
|
+ @rm -f faccessat-yy$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
|
|
+
|
|
fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES)
|
|
@rm -f fadvise64$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
|
|
@@ -7232,6 +7554,14 @@
|
|
@rm -f fanotify_mark$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
|
|
|
|
+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES)
|
|
+ @rm -f fanotify_mark--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fanotify_mark--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES)
|
|
@rm -f fanotify_mark-Xabbrev$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
|
|
@@ -7252,14 +7582,38 @@
|
|
@rm -f fchmod$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
|
|
|
|
+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmod--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmod--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES)
|
|
@rm -f fchmod-y$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
|
|
|
|
+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmod-y--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmod-y--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES)
|
|
@rm -f fchmodat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
|
|
|
|
+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES)
|
|
+ @rm -f fchmodat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchmodat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES)
|
|
@rm -f fchown$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
|
|
@@ -7272,6 +7626,14 @@
|
|
@rm -f fchownat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
|
|
|
|
+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES)
|
|
+ @rm -f fchownat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f fchownat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES)
|
|
@rm -f fcntl$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
|
|
@@ -7300,6 +7662,14 @@
|
|
@rm -f file_handle$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
|
|
|
|
+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES)
|
|
+ @rm -f file_handle--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS)
|
|
+
|
|
+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES)
|
|
+ @rm -f file_handle--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES)
|
|
@rm -f file_ioctl$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
|
|
@@ -8124,6 +8494,14 @@
|
|
@rm -f linkat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
|
|
|
|
+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES)
|
|
+ @rm -f linkat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f linkat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES)
|
|
@rm -f list_sigaction_signum$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
|
|
@@ -8756,6 +9134,14 @@
|
|
@rm -f open$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
|
|
|
|
+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES)
|
|
+ @rm -f open--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS)
|
|
+
|
|
+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES)
|
|
+ @rm -f open--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES)
|
|
@rm -f open_tree$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
|
|
@@ -8768,6 +9154,14 @@
|
|
@rm -f openat$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
|
|
|
|
+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES)
|
|
+ @rm -f openat--secontext$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS)
|
|
+
|
|
+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES)
|
|
+ @rm -f openat--secontext_full$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
|
|
+
|
|
openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES)
|
|
@rm -f openat2$(EXEEXT)
|
|
$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
|
|
@@ -10094,6 +10488,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
|
|
@@ -10123,6 +10519,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
|
|
@@ -10176,25 +10574,46 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
|
|
@@ -10202,6 +10621,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
|
|
@@ -10431,6 +10852,7 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
|
|
@@ -10443,6 +10865,8 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
|
|
@@ -10601,9 +11025,13 @@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
|
|
@@ -11300,6 +11728,20 @@
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi`
|
|
|
|
+libtests_a-secontext.o: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
|
|
+
|
|
+libtests_a-secontext.obj: secontext.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
|
|
+
|
|
libtests_a-signal2name.o: signal2name.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
|
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
|
|
@@ -13841,6 +14283,12 @@
|
|
$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -13883,6 +14331,12 @@
|
|
$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14024,13 +14478,43 @@
|
|
$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
-$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
@@ -14045,6 +14529,12 @@
|
|
$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14060,12 +14550,30 @@
|
|
$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14075,6 +14583,12 @@
|
|
$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14096,6 +14610,12 @@
|
|
$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -14690,6 +15210,12 @@
|
|
$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -15107,6 +15633,12 @@
|
|
$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
@@ -15116,6 +15648,12 @@
|
|
$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
+ $(AM_V_GEN) $^ $@
|
|
+
|
|
$(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
|
|
$(AM_V_GEN) $^ $@
|
|
|
|
Index: strace-5.7/tests-m32/access--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/access--secontext.c 2021-08-24 21:08:43.293245705 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "access.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/chmod--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/chmod--secontext.c 2021-08-24 21:08:43.293245705 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "chmod.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/execve--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/execve--secontext.c 2021-08-24 21:08:43.293245705 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "execve.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/execveat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/execveat--secontext.c 2021-08-24 21:08:43.293245705 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "execveat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/faccessat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/faccessat--secontext.c 2021-08-24 21:08:43.293245705 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "faccessat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/faccessat-y--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/faccessat-y--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "faccessat-y.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/fanotify_mark--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fanotify_mark--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fanotify_mark.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/fchmod--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchmod--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmod.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/fchmod-y--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchmod-y--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmod-y.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/fchmodat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchmodat--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmodat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/fchownat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchownat--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchownat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/file_handle--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/file_handle--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "file_handle.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/linkat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/linkat--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "linkat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/open--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/open--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "open.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/openat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/openat--secontext.c 2021-08-24 21:08:43.294245697 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_M32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "openat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/access--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/access--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "access.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/chmod--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/chmod--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "chmod.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/execve--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/execve--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "execve.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/execveat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/execveat--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "execveat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/faccessat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/faccessat--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "faccessat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/faccessat-y--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/faccessat-y--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "faccessat-y.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/fanotify_mark--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fanotify_mark--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fanotify_mark.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/fchmod--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchmod--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmod.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/fchmod-y--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchmod-y--secontext.c 2021-08-24 21:08:43.295245688 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmod-y.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/fchmodat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchmodat--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmodat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/fchownat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchownat--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchownat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/file_handle--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/file_handle--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "file_handle.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/linkat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/linkat--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "linkat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/open--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/open--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "open.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-mx32/openat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/openat--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_MX32_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "openat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/access--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/access--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "access.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/chmod--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/chmod--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "chmod.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/execve--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/execve--secontext.c 2021-08-24 21:08:43.296245680 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "execve.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/execveat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/execveat--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "execveat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/faccessat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/faccessat--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "faccessat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/faccessat-y--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/faccessat-y--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "faccessat-y.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/fanotify_mark--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fanotify_mark--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fanotify_mark.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/fchmod--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchmod--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmod.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/fchmod-y--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchmod-y--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmod-y.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/fchmodat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchmodat--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchmodat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/fchownat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchownat--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "fchownat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/file_handle--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/file_handle--secontext.c 2021-08-24 21:08:43.297245671 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "file_handle.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/linkat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/linkat--secontext.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "linkat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/open--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/open--secontext.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "open.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests/openat--secontext.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/openat--secontext.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,19 @@
|
|
+/*
|
|
+ * Copyright (c) 2021 The strace developers.
|
|
+ * All rights reserved.
|
|
+ *
|
|
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
|
+ */
|
|
+
|
|
+#include "tests.h"
|
|
+
|
|
+#ifdef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+# define TEST_SECONTEXT
|
|
+# include "openat.c"
|
|
+
|
|
+#else
|
|
+
|
|
+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
|
|
+
|
|
+#endif
|
|
Index: strace-5.7/tests-m32/access--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/access--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "access--secontext.c"
|
|
Index: strace-5.7/tests-m32/chmod--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/chmod--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "chmod--secontext.c"
|
|
Index: strace-5.7/tests-m32/execve--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/execve--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "execve--secontext.c"
|
|
Index: strace-5.7/tests-m32/execveat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/execveat--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "execveat--secontext.c"
|
|
Index: strace-5.7/tests-m32/faccessat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/faccessat--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "faccessat--secontext.c"
|
|
Index: strace-5.7/tests-m32/faccessat-y--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/faccessat-y--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "faccessat-y--secontext.c"
|
|
Index: strace-5.7/tests-m32/fanotify_mark--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fanotify_mark--secontext_full.c 2021-08-24 21:08:43.298245663 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fanotify_mark--secontext.c"
|
|
Index: strace-5.7/tests-m32/fchmod--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchmod--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmod--secontext.c"
|
|
Index: strace-5.7/tests-m32/fchmod-y--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchmod-y--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmod-y--secontext.c"
|
|
Index: strace-5.7/tests-m32/fchmodat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchmodat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmodat--secontext.c"
|
|
Index: strace-5.7/tests-m32/fchownat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/fchownat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchownat--secontext.c"
|
|
Index: strace-5.7/tests-m32/file_handle--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/file_handle--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "file_handle--secontext.c"
|
|
Index: strace-5.7/tests-m32/linkat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/linkat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "linkat--secontext.c"
|
|
Index: strace-5.7/tests-m32/open--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/open--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "open--secontext.c"
|
|
Index: strace-5.7/tests-m32/openat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-m32/openat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "openat--secontext.c"
|
|
Index: strace-5.7/tests-mx32/access--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/access--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "access--secontext.c"
|
|
Index: strace-5.7/tests-mx32/chmod--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/chmod--secontext_full.c 2021-08-24 21:08:43.299245654 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "chmod--secontext.c"
|
|
Index: strace-5.7/tests-mx32/execve--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/execve--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "execve--secontext.c"
|
|
Index: strace-5.7/tests-mx32/execveat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/execveat--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "execveat--secontext.c"
|
|
Index: strace-5.7/tests-mx32/faccessat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/faccessat--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "faccessat--secontext.c"
|
|
Index: strace-5.7/tests-mx32/faccessat-y--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/faccessat-y--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "faccessat-y--secontext.c"
|
|
Index: strace-5.7/tests-mx32/fanotify_mark--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fanotify_mark--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fanotify_mark--secontext.c"
|
|
Index: strace-5.7/tests-mx32/fchmod--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchmod--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmod--secontext.c"
|
|
Index: strace-5.7/tests-mx32/fchmod-y--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchmod-y--secontext_full.c 2021-08-24 21:08:43.300245646 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmod-y--secontext.c"
|
|
Index: strace-5.7/tests-mx32/fchmodat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchmodat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmodat--secontext.c"
|
|
Index: strace-5.7/tests-mx32/fchownat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/fchownat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchownat--secontext.c"
|
|
Index: strace-5.7/tests-mx32/file_handle--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/file_handle--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "file_handle--secontext.c"
|
|
Index: strace-5.7/tests-mx32/linkat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/linkat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "linkat--secontext.c"
|
|
Index: strace-5.7/tests-mx32/open--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/open--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "open--secontext.c"
|
|
Index: strace-5.7/tests-mx32/openat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests-mx32/openat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "openat--secontext.c"
|
|
Index: strace-5.7/tests/access--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/access--secontext_full.c 2021-08-24 21:08:43.301245637 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "access--secontext.c"
|
|
Index: strace-5.7/tests/chmod--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/chmod--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "chmod--secontext.c"
|
|
Index: strace-5.7/tests/execve--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/execve--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "execve--secontext.c"
|
|
Index: strace-5.7/tests/execveat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/execveat--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "execveat--secontext.c"
|
|
Index: strace-5.7/tests/faccessat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/faccessat--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "faccessat--secontext.c"
|
|
Index: strace-5.7/tests/faccessat-y--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/faccessat-y--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "faccessat-y--secontext.c"
|
|
Index: strace-5.7/tests/fanotify_mark--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fanotify_mark--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fanotify_mark--secontext.c"
|
|
Index: strace-5.7/tests/fchmod--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchmod--secontext_full.c 2021-08-24 21:08:43.302245629 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmod--secontext.c"
|
|
Index: strace-5.7/tests/fchmod-y--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchmod-y--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmod-y--secontext.c"
|
|
Index: strace-5.7/tests/fchmodat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchmodat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchmodat--secontext.c"
|
|
Index: strace-5.7/tests/fchownat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/fchownat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "fchownat--secontext.c"
|
|
Index: strace-5.7/tests/file_handle--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/file_handle--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "file_handle--secontext.c"
|
|
Index: strace-5.7/tests/linkat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/linkat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "linkat--secontext.c"
|
|
Index: strace-5.7/tests/open--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/open--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "open--secontext.c"
|
|
Index: strace-5.7/tests/openat--secontext_full.c
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ strace-5.7/tests/openat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200
|
|
@@ -0,0 +1,2 @@
|
|
+#define PRINT_SECONTEXT_FULL
|
|
+#include "openat--secontext.c"
|
|
Index: strace-5.7/config.h.in
|
|
===================================================================
|
|
--- strace-5.7.orig/config.h.in 2021-08-24 21:08:35.510311579 +0200
|
|
+++ strace-5.7/config.h.in 2021-08-24 21:08:43.304245612 +0200
|
|
@@ -36,6 +36,9 @@
|
|
/* Define to 1 if you want OABI support on ARM EABI. */
|
|
#undef ENABLE_ARM_OABI
|
|
|
|
+/* Define to enable SELinux security contexts support */
|
|
+#undef ENABLE_SECONTEXT
|
|
+
|
|
/* Define to enable stack tracing support */
|
|
#undef ENABLE_STACKTRACE
|
|
|
|
@@ -2253,6 +2256,12 @@
|
|
/* Define to 1 if you have the <scsi/sg.h> header file. */
|
|
#undef HAVE_SCSI_SG_H
|
|
|
|
+/* Define to enable SELinux security contexts testing */
|
|
+#undef HAVE_SELINUX_RUNTIME
|
|
+
|
|
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
|
|
+#undef HAVE_SELINUX_SELINUX_H
|
|
+
|
|
/* Define to 1 if `si_overrun' is a member of `siginfo_t'. */
|
|
#undef HAVE_SIGINFO_T_SI_OVERRUN
|
|
|
|
Index: strace-5.7/configure
|
|
===================================================================
|
|
--- strace-5.7.orig/configure 2021-08-24 17:01:46.714990240 +0200
|
|
+++ strace-5.7/configure 2021-08-24 21:08:43.315245519 +0200
|
|
@@ -641,10 +641,14 @@
|
|
VALGRIND
|
|
HAVE_MX32_MPERS_FALSE
|
|
HAVE_MX32_MPERS_TRUE
|
|
+HAVE_MX32_SELINUX_RUNTIME_FALSE
|
|
+HAVE_MX32_SELINUX_RUNTIME_TRUE
|
|
HAVE_MX32_RUNTIME_FALSE
|
|
HAVE_MX32_RUNTIME_TRUE
|
|
HAVE_M32_MPERS_FALSE
|
|
HAVE_M32_MPERS_TRUE
|
|
+HAVE_M32_SELINUX_RUNTIME_FALSE
|
|
+HAVE_M32_SELINUX_RUNTIME_TRUE
|
|
HAVE_M32_RUNTIME_FALSE
|
|
HAVE_M32_RUNTIME_TRUE
|
|
CFLAGS_FOR_MX32
|
|
@@ -655,6 +659,13 @@
|
|
CPPFLAGS_FOR_M32
|
|
CPP_FOR_M32
|
|
CC_FOR_M32
|
|
+HAVE_SELINUX_RUNTIME_FALSE
|
|
+HAVE_SELINUX_RUNTIME_TRUE
|
|
+ENABLE_SECONTEXT_FALSE
|
|
+ENABLE_SECONTEXT_TRUE
|
|
+libselinux_CPPFLAGS
|
|
+libselinux_LDFLAGS
|
|
+libselinux_LIBS
|
|
USE_DEMANGLE_FALSE
|
|
USE_DEMANGLE_TRUE
|
|
libiberty_CPPFLAGS
|
|
@@ -827,6 +838,7 @@
|
|
with_libdw
|
|
with_libunwind
|
|
with_libiberty
|
|
+with_libselinux
|
|
enable_mpers
|
|
enable_valgrind
|
|
enable_valgrind_memcheck
|
|
@@ -1498,6 +1510,7 @@
|
|
|
|
--with-libunwind use libunwind to implement stack tracing support
|
|
--with-libiberty use libiberty to demangle symbols in stack trace
|
|
+ --with-libselinux use libselinux to collect security contexts
|
|
|
|
Some influential environment variables:
|
|
CC C compiler command
|
|
@@ -22728,6 +22741,203 @@
|
|
|
|
|
|
|
|
+
|
|
+libselinux_CPPFLAGS=
|
|
+libselinux_LDFLAGS=
|
|
+libselinux_LIBS=
|
|
+enable_secontext=no
|
|
+
|
|
+
|
|
+# Check whether --with-libselinux was given.
|
|
+if test "${with_libselinux+set}" = set; then :
|
|
+ withval=$with_libselinux; case "${withval}" in
|
|
+ yes|no|check) ;;
|
|
+ *) with_libselinux=yes
|
|
+ libselinux_CPPFLAGS="-I${withval}/include"
|
|
+ libselinux_LDFLAGS="-L${withval}/lib" ;;
|
|
+ esac
|
|
+else
|
|
+ with_libselinux=check
|
|
+
|
|
+fi
|
|
+
|
|
+
|
|
+if test "x$with_libselinux" != xno; then :
|
|
+ saved_CPPFLAGS="$CPPFLAGS"
|
|
+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
|
|
+ found_selinux_h=no
|
|
+ for ac_header in selinux/selinux.h
|
|
+do :
|
|
+ ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
|
|
+if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
|
|
+ cat >>confdefs.h <<_ACEOF
|
|
+#define HAVE_SELINUX_SELINUX_H 1
|
|
+_ACEOF
|
|
+ found_selinux_h=yes
|
|
+fi
|
|
+
|
|
+done
|
|
+
|
|
+ CPPFLAGS="$saved_CPPFLAGS"
|
|
+ if test "x$found_selinux_h" = xyes; then :
|
|
+ saved_LDFLAGS="$LDFLAGS"
|
|
+ LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpidcon in -lselinux" >&5
|
|
+$as_echo_n "checking for getpidcon in -lselinux... " >&6; }
|
|
+if ${ac_cv_lib_selinux_getpidcon+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ ac_check_lib_save_LIBS=$LIBS
|
|
+LIBS="-lselinux $LIBS"
|
|
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+
|
|
+/* Override any GCC internal prototype to avoid an error.
|
|
+ Use char because int might match the return type of a GCC
|
|
+ builtin and then its argument prototype would still apply. */
|
|
+#ifdef __cplusplus
|
|
+extern "C"
|
|
+#endif
|
|
+char getpidcon ();
|
|
+int
|
|
+main ()
|
|
+{
|
|
+return getpidcon ();
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_link "$LINENO"; then :
|
|
+ ac_cv_lib_selinux_getpidcon=yes
|
|
+else
|
|
+ ac_cv_lib_selinux_getpidcon=no
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+LIBS=$ac_check_lib_save_LIBS
|
|
+fi
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getpidcon" >&5
|
|
+$as_echo "$ac_cv_lib_selinux_getpidcon" >&6; }
|
|
+if test "x$ac_cv_lib_selinux_getpidcon" = xyes; then :
|
|
+ libselinux_LIBS="-lselinux"
|
|
+ enable_secontext=yes
|
|
+
|
|
+else
|
|
+ if test "x$with_libselinux" != xcheck; then
|
|
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
|
+as_fn_error $? "failed to find getpidcon in libselinux
|
|
+See \`config.log' for more details" "$LINENO" 5; }
|
|
+ fi
|
|
+
|
|
+
|
|
+fi
|
|
+
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5
|
|
+$as_echo_n "checking for getfilecon in -lselinux... " >&6; }
|
|
+if ${ac_cv_lib_selinux_getfilecon+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ ac_check_lib_save_LIBS=$LIBS
|
|
+LIBS="-lselinux $LIBS"
|
|
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+
|
|
+/* Override any GCC internal prototype to avoid an error.
|
|
+ Use char because int might match the return type of a GCC
|
|
+ builtin and then its argument prototype would still apply. */
|
|
+#ifdef __cplusplus
|
|
+extern "C"
|
|
+#endif
|
|
+char getfilecon ();
|
|
+int
|
|
+main ()
|
|
+{
|
|
+return getfilecon ();
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_link "$LINENO"; then :
|
|
+ ac_cv_lib_selinux_getfilecon=yes
|
|
+else
|
|
+ ac_cv_lib_selinux_getfilecon=no
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+LIBS=$ac_check_lib_save_LIBS
|
|
+fi
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getfilecon" >&5
|
|
+$as_echo "$ac_cv_lib_selinux_getfilecon" >&6; }
|
|
+if test "x$ac_cv_lib_selinux_getfilecon" = xyes; then :
|
|
+ libselinux_LIBS="-lselinux"
|
|
+ enable_secontext=yes
|
|
+
|
|
+else
|
|
+ if test "x$with_libselinux" != xcheck; then
|
|
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
|
+as_fn_error $? "failed to find getfilecon in libselinux
|
|
+See \`config.log' for more details" "$LINENO" 5; }
|
|
+ fi
|
|
+
|
|
+
|
|
+fi
|
|
+
|
|
+ LDFLAGS="$saved_LDFLAGS"
|
|
+
|
|
+else
|
|
+ if test "x$with_libselinux" != xcheck; then
|
|
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
|
+as_fn_error $? "failed to find selinux.h
|
|
+See \`config.log' for more details" "$LINENO" 5; }
|
|
+ fi
|
|
+
|
|
+
|
|
+fi
|
|
+
|
|
+
|
|
+fi
|
|
+
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable security contexts support" >&5
|
|
+$as_echo_n "checking whether to enable security contexts support... " >&6; }
|
|
+if test "x$enable_secontext" = xyes; then :
|
|
+
|
|
+$as_echo "#define ENABLE_SECONTEXT 1" >>confdefs.h
|
|
+
|
|
+
|
|
+$as_echo "#define HAVE_SELINUX_RUNTIME 1" >>confdefs.h
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
+$as_echo "yes" >&6; }
|
|
+else
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
+$as_echo "no" >&6; }
|
|
+fi
|
|
+
|
|
+ if test "x$enable_secontext" = xyes; then
|
|
+ ENABLE_SECONTEXT_TRUE=
|
|
+ ENABLE_SECONTEXT_FALSE='#'
|
|
+else
|
|
+ ENABLE_SECONTEXT_TRUE='#'
|
|
+ ENABLE_SECONTEXT_FALSE=
|
|
+fi
|
|
+
|
|
+ if test "x$enable_secontext" = xyes; then
|
|
+ HAVE_SELINUX_RUNTIME_TRUE=
|
|
+ HAVE_SELINUX_RUNTIME_FALSE='#'
|
|
+else
|
|
+ HAVE_SELINUX_RUNTIME_TRUE='#'
|
|
+ HAVE_SELINUX_RUNTIME_FALSE=
|
|
+fi
|
|
+
|
|
+
|
|
+
|
|
+
|
|
if test "$arch" = mips && test "$no_create" != yes; then
|
|
mkdir -p linux/mips
|
|
if $srcdir/linux/mips/genstub.sh \
|
|
@@ -22839,6 +23049,8 @@
|
|
|
|
|
|
|
|
+
|
|
+
|
|
if test -n "${CC+set}"; then :
|
|
st_saved_CC="${CC}"; unset CC
|
|
fi
|
|
@@ -22964,6 +23176,47 @@
|
|
fi
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_m32_mpers" >&5
|
|
$as_echo "$st_cv_m32_mpers" >&6; }
|
|
+ if test "x$enable_secontext$st_cv_m32_mpers$st_cv_m32_runtime" = xyesyesyes; then :
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether selinux runtime works with m32 personality" >&5
|
|
+$as_echo_n "checking whether selinux runtime works with m32 personality... " >&6; }
|
|
+if ${st_cv_m32_selinux_runtime+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ saved_CPPFLAGS="$CPPFLAGS"
|
|
+ saved_LDFLAGS="$LDFLAGS_FOR_M32"
|
|
+ saved_LIBS="$LIBS"
|
|
+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
|
|
+ LDFLAGS_FOR_M32="$LDFLAGS_FOR_M32 $libselinux_LDFLAGS"
|
|
+ LIBS="$LIBS $libselinux_LIBS"
|
|
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+#include <selinux/selinux.h>
|
|
+int
|
|
+main ()
|
|
+{
|
|
+return 0
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_link "$LINENO"; then :
|
|
+ st_cv_m32_selinux_runtime=yes
|
|
+else
|
|
+ st_cv_m32_selinux_runtime=no
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+ LIBS="$saved_LIBS"
|
|
+ LDFLAGS_FOR_M32="$saved_LDFLAGS"
|
|
+ CPPFLAGS="$saved_CPPFLAGS"
|
|
+
|
|
+fi
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_m32_selinux_runtime" >&5
|
|
+$as_echo "$st_cv_m32_selinux_runtime" >&6; }
|
|
+
|
|
+else
|
|
+ st_cv_m32_selinux_runtime=no
|
|
+fi
|
|
if test $st_cv_m32_mpers = yes; then
|
|
|
|
$as_echo "#define HAVE_M32_MPERS 1" >>confdefs.h
|
|
@@ -23387,6 +23640,7 @@
|
|
*) # case "$enable_mpers"
|
|
st_cv_m32_runtime=no
|
|
st_cv_m32_mpers=no
|
|
+ st_cv_m32_selinux_runtime=no
|
|
;;
|
|
esac
|
|
|
|
@@ -23418,6 +23672,14 @@
|
|
HAVE_M32_RUNTIME_FALSE=
|
|
fi
|
|
|
|
+ if test "$st_cv_m32_mpers$st_cv_m32_selinux_runtime" = yesyes; then
|
|
+ HAVE_M32_SELINUX_RUNTIME_TRUE=
|
|
+ HAVE_M32_SELINUX_RUNTIME_FALSE='#'
|
|
+else
|
|
+ HAVE_M32_SELINUX_RUNTIME_TRUE='#'
|
|
+ HAVE_M32_SELINUX_RUNTIME_FALSE=
|
|
+fi
|
|
+
|
|
if test "$st_cv_m32_mpers" = yes; then
|
|
HAVE_M32_MPERS_TRUE=
|
|
HAVE_M32_MPERS_FALSE='#'
|
|
@@ -23467,6 +23729,10 @@
|
|
|
|
|
|
|
|
+
|
|
+
|
|
+
|
|
+
|
|
if test -n "${CC+set}"; then :
|
|
st_saved_CC="${CC}"; unset CC
|
|
fi
|
|
@@ -23592,6 +23858,47 @@
|
|
fi
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_mx32_mpers" >&5
|
|
$as_echo "$st_cv_mx32_mpers" >&6; }
|
|
+ if test "x$enable_secontext$st_cv_mx32_mpers$st_cv_mx32_runtime" = xyesyesyes; then :
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether selinux runtime works with mx32 personality" >&5
|
|
+$as_echo_n "checking whether selinux runtime works with mx32 personality... " >&6; }
|
|
+if ${st_cv_mx32_selinux_runtime+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ saved_CPPFLAGS="$CPPFLAGS"
|
|
+ saved_LDFLAGS="$LDFLAGS_FOR_MX32"
|
|
+ saved_LIBS="$LIBS"
|
|
+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
|
|
+ LDFLAGS_FOR_MX32="$LDFLAGS_FOR_MX32 $libselinux_LDFLAGS"
|
|
+ LIBS="$LIBS $libselinux_LIBS"
|
|
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+#include <selinux/selinux.h>
|
|
+int
|
|
+main ()
|
|
+{
|
|
+return 0
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_link "$LINENO"; then :
|
|
+ st_cv_mx32_selinux_runtime=yes
|
|
+else
|
|
+ st_cv_mx32_selinux_runtime=no
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+ LIBS="$saved_LIBS"
|
|
+ LDFLAGS_FOR_MX32="$saved_LDFLAGS"
|
|
+ CPPFLAGS="$saved_CPPFLAGS"
|
|
+
|
|
+fi
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_mx32_selinux_runtime" >&5
|
|
+$as_echo "$st_cv_mx32_selinux_runtime" >&6; }
|
|
+
|
|
+else
|
|
+ st_cv_mx32_selinux_runtime=no
|
|
+fi
|
|
if test $st_cv_mx32_mpers = yes; then
|
|
|
|
$as_echo "#define HAVE_MX32_MPERS 1" >>confdefs.h
|
|
@@ -24015,6 +24322,7 @@
|
|
*) # case "$enable_mpers"
|
|
st_cv_mx32_runtime=no
|
|
st_cv_mx32_mpers=no
|
|
+ st_cv_mx32_selinux_runtime=no
|
|
;;
|
|
esac
|
|
|
|
@@ -24046,6 +24354,14 @@
|
|
HAVE_MX32_RUNTIME_FALSE=
|
|
fi
|
|
|
|
+ if test "$st_cv_mx32_mpers$st_cv_mx32_selinux_runtime" = yesyes; then
|
|
+ HAVE_MX32_SELINUX_RUNTIME_TRUE=
|
|
+ HAVE_MX32_SELINUX_RUNTIME_FALSE='#'
|
|
+else
|
|
+ HAVE_MX32_SELINUX_RUNTIME_TRUE='#'
|
|
+ HAVE_MX32_SELINUX_RUNTIME_FALSE=
|
|
+fi
|
|
+
|
|
if test "$st_cv_mx32_mpers" = yes; then
|
|
HAVE_MX32_MPERS_TRUE=
|
|
HAVE_MX32_MPERS_FALSE='#'
|
|
@@ -24088,6 +24404,8 @@
|
|
|
|
|
|
|
|
+
|
|
+
|
|
# Check whether --enable-valgrind was given.
|
|
if test "${enable_valgrind+set}" = set; then :
|
|
enableval=$enable_valgrind; enable_valgrind=$enableval
|
|
@@ -24659,10 +24977,22 @@
|
|
as_fn_error $? "conditional \"USE_DEMANGLE\" was never defined.
|
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
fi
|
|
+if test -z "${ENABLE_SECONTEXT_TRUE}" && test -z "${ENABLE_SECONTEXT_FALSE}"; then
|
|
+ as_fn_error $? "conditional \"ENABLE_SECONTEXT\" was never defined.
|
|
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
+fi
|
|
+if test -z "${HAVE_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_SELINUX_RUNTIME_FALSE}"; then
|
|
+ as_fn_error $? "conditional \"HAVE_SELINUX_RUNTIME\" was never defined.
|
|
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
+fi
|
|
if test -z "${HAVE_M32_RUNTIME_TRUE}" && test -z "${HAVE_M32_RUNTIME_FALSE}"; then
|
|
as_fn_error $? "conditional \"HAVE_M32_RUNTIME\" was never defined.
|
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
fi
|
|
+if test -z "${HAVE_M32_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_M32_SELINUX_RUNTIME_FALSE}"; then
|
|
+ as_fn_error $? "conditional \"HAVE_M32_SELINUX_RUNTIME\" was never defined.
|
|
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
+fi
|
|
if test -z "${HAVE_M32_MPERS_TRUE}" && test -z "${HAVE_M32_MPERS_FALSE}"; then
|
|
as_fn_error $? "conditional \"HAVE_M32_MPERS\" was never defined.
|
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
@@ -24671,6 +25001,10 @@
|
|
as_fn_error $? "conditional \"HAVE_MX32_RUNTIME\" was never defined.
|
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
fi
|
|
+if test -z "${HAVE_MX32_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_MX32_SELINUX_RUNTIME_FALSE}"; then
|
|
+ as_fn_error $? "conditional \"HAVE_MX32_SELINUX_RUNTIME\" was never defined.
|
|
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
|
+fi
|
|
if test -z "${HAVE_MX32_MPERS_TRUE}" && test -z "${HAVE_MX32_MPERS_FALSE}"; then
|
|
as_fn_error $? "conditional \"HAVE_MX32_MPERS\" was never defined.
|
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|