public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/sandbox:master commit in: libsandbox/wrapper-funcs/, libsandbox/
@ 2021-03-11  8:04 Sergei Trofimovich
  0 siblings, 0 replies; 4+ messages in thread
From: Sergei Trofimovich @ 2021-03-11  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     f43378e14396fe5fad05bff13a73483740205881
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  6 09:02:32 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Mar 11 08:03:04 2021 +0000
URL:        https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=f43378e1

libsandbox: implement vfork() via fork()

sandbox turns
    vfork()/exec("/sbin/ldconfig")
into
    vfork()/ptrace()+fork()/exec("/sbin/ldconfig").

It happens because "/sbin/ldconfig" is a static binary and can't be
inspected via LD_PRELOAD and sandbox falls back to fork()+ptrace()

vfork() imposes very strong requirements on what could happen between
vfork() and exec(). Above sandbox behaviour violates it.

vfork() is specified in a way that it can always can be substituted
for fork(). This change does exactly that.

Reported-by: Michał Górny
Bug: https://bugs.gentoo.org/774054
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 libsandbox/symbols.h.in          |  1 +
 libsandbox/wrapper-funcs/vfork.c | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/libsandbox/symbols.h.in b/libsandbox/symbols.h.in
index bdbce08..0154c2a 100644
--- a/libsandbox/symbols.h.in
+++ b/libsandbox/symbols.h.in
@@ -74,3 +74,4 @@ utimensat
 futimesat
 lutimes
 fork
+vfork

diff --git a/libsandbox/wrapper-funcs/vfork.c b/libsandbox/wrapper-funcs/vfork.c
new file mode 100644
index 0000000..b28e74c
--- /dev/null
+++ b/libsandbox/wrapper-funcs/vfork.c
@@ -0,0 +1,28 @@
+/*
+ * vfork() wrapper.
+ *
+ * Copyright 1999-2021 Gentoo Foundation
+ * Licensed under the GPL-2
+ */
+
+/* We're only wrapping vfork() as a poor man's pthread_atfork().  That would
+ * require dedicated linkage against libpthread.  So here we force the locks
+ * to a consistent state before forking.
+ *
+ * We also implement vfork() as fork() because sandbox does not meet vfork()
+ * requirements bet ween vfork()/exec("some-static-bianary") because we launch
+ * ptrace in the middle.
+ */
+
+#define WRAPPER_ARGS_PROTO
+#define WRAPPER_ARGS
+#define WRAPPER_SAFE() 0
+#define WRAPPER_PRE_CHECKS() \
+({ \
+	/* pthread_atfork(sb_lock, sb_unlock, sb_unlock); */ \
+	sb_lock(); \
+	result = sb_unwrapped_fork_DEFAULT(WRAPPER_ARGS_FULL); \
+	sb_unlock(); \
+	false; \
+})
+#include "__wrapper_simple.c"


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] proj/sandbox:master commit in: libsandbox/wrapper-funcs/, libsandbox/
@ 2021-11-06  3:51 Mike Frysinger
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Frysinger @ 2021-11-06  3:51 UTC (permalink / raw
  To: gentoo-commits

commit:     35459036a204bbf147b11631317aff9eb1804573
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sat Nov  6 03:38:02 2021 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sat Nov  6 03:38:02 2021 +0000
URL:        https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=35459036

libsandbox: reduce & inline the __64_{pre,post}.h headers

Now that we use 64-bit stat & lstat explicitly everywhere, we don't
need these dynamic redirects for 64-bit wrappers.  The off_t define
is only used by one file anymore too, but we can inline that.

That leaves the SB64 define which we use inconsistently in places.
In some 64-bit modules that include the 32-bit, we use SB64 to switch
between the 64-bit & 32-bit APIs.  In other places, the 64-bit file
is responsible for redefining the few relevant APIs.  Let's switch
all the files away from SB64 and to defining the single thing that
the 64-bit module needs directly.  It's either the same or fewer LOC
this way, and doesn't seem any more or less difficult to maintain.
The __64_{pre,post}.h & SB64 define weren't easily discoverable.

Bug: https://bugs.gentoo.org/583282
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

 libsandbox/pre_check_openat64.c              | 2 --
 libsandbox/wrapper-funcs/__64_post.h         | 4 ----
 libsandbox/wrapper-funcs/__64_pre.h          | 4 ----
 libsandbox/wrapper-funcs/__open64_2.c        | 4 ++--
 libsandbox/wrapper-funcs/__openat64_2.c      | 4 ++--
 libsandbox/wrapper-funcs/__openat_2.c        | 6 +-----
 libsandbox/wrapper-funcs/fopen.c             | 7 +------
 libsandbox/wrapper-funcs/fopen64.c           | 4 ++--
 libsandbox/wrapper-funcs/fopen64_pre_check.c | 2 --
 libsandbox/wrapper-funcs/open64.c            | 4 ++--
 libsandbox/wrapper-funcs/openat.c            | 6 +-----
 libsandbox/wrapper-funcs/openat64.c          | 4 ++--
 libsandbox/wrapper-funcs/truncate.c          | 4 +++-
 libsandbox/wrapper-funcs/truncate64.c        | 3 +--
 14 files changed, 17 insertions(+), 41 deletions(-)

diff --git a/libsandbox/pre_check_openat64.c b/libsandbox/pre_check_openat64.c
index 9420c98..d4dbe97 100644
--- a/libsandbox/pre_check_openat64.c
+++ b/libsandbox/pre_check_openat64.c
@@ -10,8 +10,6 @@
 #include "libsandbox.h"
 #include "wrappers.h"
 
-#include "wrapper-funcs/__64_pre.h"
 #define sb_openat_pre_check sb_openat64_pre_check
 #include "pre_check_openat.c"
 #undef sb_openat_pre_check
-#include "wrapper-funcs/__64_post.h"

diff --git a/libsandbox/wrapper-funcs/__64_post.h b/libsandbox/wrapper-funcs/__64_post.h
deleted file mode 100644
index 82d2a16..0000000
--- a/libsandbox/wrapper-funcs/__64_post.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#undef SB64
-#undef stat
-#undef lstat
-#undef off_t

diff --git a/libsandbox/wrapper-funcs/__64_pre.h b/libsandbox/wrapper-funcs/__64_pre.h
deleted file mode 100644
index 0b34b25..0000000
--- a/libsandbox/wrapper-funcs/__64_pre.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#define SB64
-#define stat stat64
-#define lstat lstat64
-#define off_t off64_t

diff --git a/libsandbox/wrapper-funcs/__open64_2.c b/libsandbox/wrapper-funcs/__open64_2.c
index bdbd5d8..52daff1 100644
--- a/libsandbox/wrapper-funcs/__open64_2.c
+++ b/libsandbox/wrapper-funcs/__open64_2.c
@@ -5,6 +5,6 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
+#define sb_openat_pre_check sb_openat64_pre_check
 #include "__open_2.c"
-#include "__64_post.h"
+#undef sb_openat_pre_check

diff --git a/libsandbox/wrapper-funcs/__openat64_2.c b/libsandbox/wrapper-funcs/__openat64_2.c
index 445164a..ccc4fdd 100644
--- a/libsandbox/wrapper-funcs/__openat64_2.c
+++ b/libsandbox/wrapper-funcs/__openat64_2.c
@@ -5,6 +5,6 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
+#define sb_openat_pre_check sb_openat64_pre_check
 #include "__openat_2.c"
-#include "__64_post.h"
+#undef sb_openat_pre_check

diff --git a/libsandbox/wrapper-funcs/__openat_2.c b/libsandbox/wrapper-funcs/__openat_2.c
index 4549a23..f2e85ea 100644
--- a/libsandbox/wrapper-funcs/__openat_2.c
+++ b/libsandbox/wrapper-funcs/__openat_2.c
@@ -13,11 +13,7 @@
 # define dirfd AT_FDCWD
 #endif
 
-#ifdef SB64
-# define WRAPPER_PRE_CHECKS() sb_openat64_pre_check(STRING_NAME, pathname, dirfd, flags)
-#else
-# define WRAPPER_PRE_CHECKS() sb_openat_pre_check(STRING_NAME, pathname, dirfd, flags)
-#endif
+#define WRAPPER_PRE_CHECKS() sb_openat_pre_check(STRING_NAME, pathname, dirfd, flags)
 
 #include "__wrapper_simple.c"
 

diff --git a/libsandbox/wrapper-funcs/fopen.c b/libsandbox/wrapper-funcs/fopen.c
index ce2fdf3..5d36ffa 100644
--- a/libsandbox/wrapper-funcs/fopen.c
+++ b/libsandbox/wrapper-funcs/fopen.c
@@ -10,11 +10,6 @@
 #define WRAPPER_SAFE() SB_SAFE_OPEN_CHAR(pathname, mode)
 #define WRAPPER_RET_TYPE FILE *
 #define WRAPPER_RET_DEFAULT NULL
-
-#ifdef SB64
-# define WRAPPER_PRE_CHECKS() sb_fopen64_pre_check(STRING_NAME, pathname, mode)
-#else
-# define WRAPPER_PRE_CHECKS() sb_fopen_pre_check(STRING_NAME, pathname, mode)
-#endif
+#define WRAPPER_PRE_CHECKS() sb_fopen_pre_check(STRING_NAME, pathname, mode)
 
 #include "__wrapper_simple.c"

diff --git a/libsandbox/wrapper-funcs/fopen64.c b/libsandbox/wrapper-funcs/fopen64.c
index 8e0cdb0..c9b42ef 100644
--- a/libsandbox/wrapper-funcs/fopen64.c
+++ b/libsandbox/wrapper-funcs/fopen64.c
@@ -5,6 +5,6 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
+#define sb_fopen_pre_check sb_fopen64_pre_check
 #include "fopen.c"
-#include "__64_post.h"
+#undef sb_fopen_pre_check

diff --git a/libsandbox/wrapper-funcs/fopen64_pre_check.c b/libsandbox/wrapper-funcs/fopen64_pre_check.c
index 3f7a737..4dbd171 100644
--- a/libsandbox/wrapper-funcs/fopen64_pre_check.c
+++ b/libsandbox/wrapper-funcs/fopen64_pre_check.c
@@ -5,8 +5,6 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
 #define sb_fopen_pre_check sb_fopen64_pre_check
 #include "fopen_pre_check.c"
 #undef sb_fopen_pre_check
-#include "__64_post.h"

diff --git a/libsandbox/wrapper-funcs/open64.c b/libsandbox/wrapper-funcs/open64.c
index 622b8ea..8b03ea8 100644
--- a/libsandbox/wrapper-funcs/open64.c
+++ b/libsandbox/wrapper-funcs/open64.c
@@ -5,6 +5,6 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
+#define sb_openat_pre_check sb_openat64_pre_check
 #include "open.c"
-#include "__64_post.h"
+#undef sb_openat_pre_check

diff --git a/libsandbox/wrapper-funcs/openat.c b/libsandbox/wrapper-funcs/openat.c
index 846c63f..d09e63d 100644
--- a/libsandbox/wrapper-funcs/openat.c
+++ b/libsandbox/wrapper-funcs/openat.c
@@ -16,11 +16,7 @@
 # define dirfd AT_FDCWD
 #endif
 
-#ifdef SB64
-# define WRAPPER_PRE_CHECKS() sb_openat64_pre_check(STRING_NAME, pathname, dirfd, flags)
-#else
-# define WRAPPER_PRE_CHECKS() sb_openat_pre_check(STRING_NAME, pathname, dirfd, flags)
-#endif
+#define WRAPPER_PRE_CHECKS() sb_openat_pre_check(STRING_NAME, pathname, dirfd, flags)
 
 #define WRAPPER_SAFE_POST_EXPAND \
 	int mode = 0; \

diff --git a/libsandbox/wrapper-funcs/openat64.c b/libsandbox/wrapper-funcs/openat64.c
index b410af2..66c2089 100644
--- a/libsandbox/wrapper-funcs/openat64.c
+++ b/libsandbox/wrapper-funcs/openat64.c
@@ -5,6 +5,6 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
+#define sb_openat_pre_check sb_openat64_pre_check
 #include "openat.c"
-#include "__64_post.h"
+#undef sb_openat_pre_check

diff --git a/libsandbox/wrapper-funcs/truncate.c b/libsandbox/wrapper-funcs/truncate.c
index b0b5674..2bfbec7 100644
--- a/libsandbox/wrapper-funcs/truncate.c
+++ b/libsandbox/wrapper-funcs/truncate.c
@@ -5,7 +5,9 @@
  * Licensed under the GPL-2
  */
 
-#define WRAPPER_ARGS_PROTO const char *path, off_t length
+#ifndef WRAPPER_ARGS_PROTO
+# define WRAPPER_ARGS_PROTO const char *path, off_t length
+#endif
 #define WRAPPER_ARGS path, length
 #define WRAPPER_SAFE() SB_SAFE(path)
 #include "__wrapper_simple.c"

diff --git a/libsandbox/wrapper-funcs/truncate64.c b/libsandbox/wrapper-funcs/truncate64.c
index a06b895..6e2266d 100644
--- a/libsandbox/wrapper-funcs/truncate64.c
+++ b/libsandbox/wrapper-funcs/truncate64.c
@@ -5,6 +5,5 @@
  * Licensed under the GPL-2
  */
 
-#include "__64_pre.h"
+#define WRAPPER_ARGS_PROTO const char *path, off64_t length
 #include "truncate.c"
-#include "__64_post.h"


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] proj/sandbox:master commit in: libsandbox/wrapper-funcs/, libsandbox/
@ 2023-06-22 13:54 Mike Gilbert
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Gilbert @ 2023-06-22 13:54 UTC (permalink / raw
  To: gentoo-commits

commit:     6c1adf9bb858f64bb00ffddc861dc8a248217242
Author:     Michael Orlitzky <michael <AT> orlitzky <DOT> com>
AuthorDate: Tue Jun 20 21:58:57 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 13:54:38 2023 +0000
URL:        https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=6c1adf9b

libsandbox: add support for fchown/fchmod on linux

The fchown/fchmod functions use a file descriptor obtained from
open(), and the sandbox relies on its open() wrapper for safety. But
it turns out that fchown/fchmod can operate on a descriptor opened
O_RDONLY, which the open() wrapper is happy to give you. Oops. This is
bug 599706.

There's no POSIX way to map the descriptor to a path once you've got
it, but on linux you can use the magic path "/proc/self/fd/%i" which
should be a symlink pointing to the path passed to open(). Once we
have that path, we can use the existing "is this path safe" machinery
in the sandbox. There is precedent for this approach in sandbox, and
the SANDBOX_PROC_SELF_FD macro already exists to indicate that the
feature is available.

Bug: https://bugs.gentoo.org/599706
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 libsandbox/libsandbox.c           | 17 +++++++++++++++++
 libsandbox/libsandbox.h           |  7 +++++++
 libsandbox/symbols.h.in           |  2 ++
 libsandbox/trace.c                | 13 +++++++++++++
 libsandbox/wrapper-funcs/fchmod.c | 11 +++++++++++
 libsandbox/wrapper-funcs/fchown.c | 11 +++++++++++
 6 files changed, 61 insertions(+)

diff --git a/libsandbox/libsandbox.c b/libsandbox/libsandbox.c
index b9ef52e..847b4e2 100644
--- a/libsandbox/libsandbox.c
+++ b/libsandbox/libsandbox.c
@@ -766,7 +766,9 @@ static int check_access(sbcontext_t *sbcontext, int sb_nr, const char *func,
 	    sb_nr == SB_NR_CHOWN       ||
 	    sb_nr == SB_NR_CREAT       ||
 	    sb_nr == SB_NR_CREAT64     ||
+	    sb_nr == SB_NR_FCHMOD      ||
 	    sb_nr == SB_NR_FCHMODAT    ||
+	    sb_nr == SB_NR_FCHOWN      ||
 	    sb_nr == SB_NR_FCHOWNAT    ||
 	  /*sb_nr == SB_NR_FTRUNCATE   ||
 	    sb_nr == SB_NR_FTRUNCATE64 ||*/
@@ -1102,6 +1104,21 @@ bool before_syscall_open_int(int dirfd, int sb_nr, const char *func, const char
 	return before_syscall(dirfd, sb_nr, ext_func, file, flags);
 }
 
+bool before_syscall_fd(int sb_nr, const char *func, int fd) {
+#ifdef SANDBOX_PROC_SELF_FD
+	/* We only know how to handle e.g. fchmod() and fchown() on
+	 * linux, where it's possible to (eventually) get a path out
+	 * of the given file descriptor. The "64" below accounts for
+	 * the length of an integer string, and is probably
+	 * overkill. */
+	char path[sizeof("/proc/self/fd/") + 64];
+	snprintf(path, sizeof("/proc/self/fd/") + 64, "/proc/self/fd/%i", fd);
+	return before_syscall(AT_FDCWD, sb_nr, func, path, 0);
+#else
+	return true;
+#endif
+}
+
 bool before_syscall_open_char(int dirfd, int sb_nr, const char *func, const char *file, const char *mode)
 {
 	if (NULL == mode)

diff --git a/libsandbox/libsandbox.h b/libsandbox/libsandbox.h
index 206c506..01a4c6c 100644
--- a/libsandbox/libsandbox.h
+++ b/libsandbox/libsandbox.h
@@ -46,6 +46,11 @@
 #define  SB_SAFE_OPEN_CHAR(_path, _mode) \
          SB_SAFE_OPEN_CHAR_AT(AT_FDCWD, _path, _mode)
 
+#define _SB_SAFE_FD(_nr, _name, _fd) \
+        __SB_SAFE(before_syscall_fd(_nr, _name, fd))
+#define  SB_SAFE_FD(_fd) \
+         _SB_SAFE_FD(WRAPPER_NR, STRING_NAME, _fd)
+
 /* Symbols that don't exist in the C library will be <= this value. */
 #define SB_NR_UNDEF -99999
 #define SB_NR_IS_DEFINED(nr) (nr > SB_NR_UNDEF)
@@ -55,6 +60,8 @@ bool before_syscall(int, int, const char *, const char *, int);
 bool before_syscall_access(int, int, const char *, const char *, int);
 bool before_syscall_open_int(int, int, const char *, const char *, int);
 bool before_syscall_open_char(int, int, const char *, const char *, const char *);
+bool before_syscall_fd(int, const char *, int);
+
 enum sandbox_method_t get_sandbox_method(void);
 
 void *get_dlsym(const char *symname, const char *symver);

diff --git a/libsandbox/symbols.h.in b/libsandbox/symbols.h.in
index ecf141c..297c13a 100644
--- a/libsandbox/symbols.h.in
+++ b/libsandbox/symbols.h.in
@@ -7,8 +7,10 @@
 #     before 'creat()' as 'creat()' uses 'open()' ...
 
 chmod
+fchmod
 fchmodat
 chown
+fchown
 fchownat
 open
 __open_2

diff --git a/libsandbox/trace.c b/libsandbox/trace.c
index d70f3bc..75a749e 100644
--- a/libsandbox/trace.c
+++ b/libsandbox/trace.c
@@ -455,8 +455,21 @@ static bool trace_check_syscall(const struct syscall_entry *se, void *regs)
 		}
 		__sb_debug("})");
 		return 1;
+	} else if (nr == SB_NR_FCHMOD) {
+		int fd = trace_arg(regs, 1);
+		mode_t mode = trace_arg(regs, 2);
+		__sb_debug("(%i, %o)", fd, mode);
+		return _SB_SAFE_FD(nr, name, fd);
+
+	} else if (nr == SB_NR_FCHOWN) {
+		int fd = trace_arg(regs, 1);
+		uid_t uid = trace_arg(regs, 2);
+		gid_t gid = trace_arg(regs, 3);
+		__sb_debug("(%i, %i, %i)", fd, uid, gid);
+		return _SB_SAFE_FD(nr, name, fd);
 	}
 
+
  done:
 	__sb_debug("(...)");
 	return ret;

diff --git a/libsandbox/wrapper-funcs/fchmod.c b/libsandbox/wrapper-funcs/fchmod.c
new file mode 100644
index 0000000..04bfcea
--- /dev/null
+++ b/libsandbox/wrapper-funcs/fchmod.c
@@ -0,0 +1,11 @@
+/*
+ * fchmod() wrapper.
+ *
+ * Copyright 1999-2018 Gentoo Foundation
+ * Licensed under the GPL-2
+ */
+
+#define WRAPPER_ARGS_PROTO int fd, mode_t mode
+#define WRAPPER_ARGS fd, mode
+#define WRAPPER_SAFE() SB_SAFE_FD(fd)
+#include "__wrapper_simple.c"

diff --git a/libsandbox/wrapper-funcs/fchown.c b/libsandbox/wrapper-funcs/fchown.c
new file mode 100644
index 0000000..ab79d5c
--- /dev/null
+++ b/libsandbox/wrapper-funcs/fchown.c
@@ -0,0 +1,11 @@
+/*
+ * fchown() wrapper.
+ *
+ * Copyright 1999-2018 Gentoo Foundation
+ * Licensed under the GPL-2
+ */
+
+#define WRAPPER_ARGS_PROTO int fd, uid_t owner, gid_t group
+#define WRAPPER_ARGS fd, owner, group
+#define WRAPPER_SAFE() SB_SAFE_FD(fd)
+#include "__wrapper_simple.c"


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] proj/sandbox:master commit in: libsandbox/wrapper-funcs/, libsandbox/
@ 2023-06-23 14:24 Mike Gilbert
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Gilbert @ 2023-06-23 14:24 UTC (permalink / raw
  To: gentoo-commits

commit:     2911fdc0d72e37e99cac6609b4799ee06b29cd31
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 22 17:41:09 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 17:43:54 2023 +0000
URL:        https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=2911fdc0

libsandbox: wrap musl time64 functions

musl uses different names from glibc for the time64 symbols.
Add them to symbols.h, and use symlinks for the wrapper-func files.

Bug: https://bugs.gentoo.org/908970
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 libsandbox/symbols.h.in                       | 4 ++++
 libsandbox/wrapper-funcs/__futimesat_time64.c | 1 +
 libsandbox/wrapper-funcs/__lutimes_time64.c   | 1 +
 libsandbox/wrapper-funcs/__utimensat_time64.c | 1 +
 libsandbox/wrapper-funcs/__utimes_time64.c    | 1 +
 5 files changed, 8 insertions(+)

diff --git a/libsandbox/symbols.h.in b/libsandbox/symbols.h.in
index 297c13a..5805592 100644
--- a/libsandbox/symbols.h.in
+++ b/libsandbox/symbols.h.in
@@ -79,11 +79,15 @@ utime
 __utime64
 utimes
 __utimes64
+__utimes_time64
 utimensat
 __utimensat64 utimensat_time64
+__utimensat_time64
 futimesat
 __futimesat64
+__futimesat_time64
 lutimes
 __lutimes64
+__lutimes_time64
 fork
 vfork

diff --git a/libsandbox/wrapper-funcs/__futimesat_time64.c b/libsandbox/wrapper-funcs/__futimesat_time64.c
new file mode 120000
index 0000000..c3a9b23
--- /dev/null
+++ b/libsandbox/wrapper-funcs/__futimesat_time64.c
@@ -0,0 +1 @@
+__futimesat64.c
\ No newline at end of file

diff --git a/libsandbox/wrapper-funcs/__lutimes_time64.c b/libsandbox/wrapper-funcs/__lutimes_time64.c
new file mode 120000
index 0000000..1819ce7
--- /dev/null
+++ b/libsandbox/wrapper-funcs/__lutimes_time64.c
@@ -0,0 +1 @@
+__lutimes64.c
\ No newline at end of file

diff --git a/libsandbox/wrapper-funcs/__utimensat_time64.c b/libsandbox/wrapper-funcs/__utimensat_time64.c
new file mode 120000
index 0000000..2dceb14
--- /dev/null
+++ b/libsandbox/wrapper-funcs/__utimensat_time64.c
@@ -0,0 +1 @@
+__utimensat64.c
\ No newline at end of file

diff --git a/libsandbox/wrapper-funcs/__utimes_time64.c b/libsandbox/wrapper-funcs/__utimes_time64.c
new file mode 120000
index 0000000..3dea445
--- /dev/null
+++ b/libsandbox/wrapper-funcs/__utimes_time64.c
@@ -0,0 +1 @@
+__utimes64.c
\ No newline at end of file


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-06-23 14:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-22 13:54 [gentoo-commits] proj/sandbox:master commit in: libsandbox/wrapper-funcs/, libsandbox/ Mike Gilbert
  -- strict thread matches above, loose matches on Subject: below --
2023-06-23 14:24 Mike Gilbert
2021-11-06  3:51 Mike Frysinger
2021-03-11  8:04 Sergei Trofimovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox