* [gentoo-commits] proj/sandbox:master commit in: libsandbox/, libsandbox/wrapper-funcs/
@ 2015-12-23 1:57 Mike Frysinger
0 siblings, 0 replies; 2+ messages in thread
From: Mike Frysinger @ 2015-12-23 1:57 UTC (permalink / raw
To: gentoo-commits
commit: 0c51ddd4f3f9c96149750445cc68c00ed8829404
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 23 01:57:07 2015 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Dec 23 01:57:07 2015 +0000
URL: https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=0c51ddd4
libsandbox: add wrappers for execveat & execvpe
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>
libsandbox/symbols.h.in | 2 ++
libsandbox/wrapper-funcs/execveat.c | 13 +++++++++++++
libsandbox/wrapper-funcs/execvpe.c | 12 ++++++++++++
3 files changed, 27 insertions(+)
diff --git a/libsandbox/symbols.h.in b/libsandbox/symbols.h.in
index e34b977..bdbce08 100644
--- a/libsandbox/symbols.h.in
+++ b/libsandbox/symbols.h.in
@@ -62,7 +62,9 @@ mkstemps64
#execlp
execv
execve
+execveat
execvp
+execvpe
fexecve
system
popen
diff --git a/libsandbox/wrapper-funcs/execveat.c b/libsandbox/wrapper-funcs/execveat.c
new file mode 100644
index 0000000..70ac0bd
--- /dev/null
+++ b/libsandbox/wrapper-funcs/execveat.c
@@ -0,0 +1,13 @@
+/*
+ * execve() wrapper.
+ *
+ * Copyright 1999-2015 Gentoo Foundation
+ * Licensed under the GPL-2
+ */
+
+#define WRAPPER_ARGS_PROTO int dirfd, const char *path, char *const argv[], char *const envp[], int flags
+#define WRAPPER_ARGS dirfd, path, argv, envp, flags
+#define EXEC_ARGS dirfd, path, argv, my_env, flags
+#define EXEC_MY_ENV
+#define EXEC_NO_PATH
+#include "__wrapper_exec.c"
diff --git a/libsandbox/wrapper-funcs/execvpe.c b/libsandbox/wrapper-funcs/execvpe.c
new file mode 100644
index 0000000..3402043
--- /dev/null
+++ b/libsandbox/wrapper-funcs/execvpe.c
@@ -0,0 +1,12 @@
+/*
+ * execvpe() wrapper.
+ *
+ * Copyright 1999-2015 Gentoo Foundation
+ * Licensed under the GPL-2
+ */
+
+#define WRAPPER_ARGS_PROTO const char *path, char *const argv[], char *const envp[]
+#define WRAPPER_ARGS path, argv, envp
+#define EXEC_ARGS path, argv, my_env
+#define EXEC_MY_ENV
+#include "__wrapper_exec.c"
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/sandbox:master commit in: libsandbox/, libsandbox/wrapper-funcs/
@ 2021-10-29 5:37 Mike Frysinger
0 siblings, 0 replies; 2+ messages in thread
From: Mike Frysinger @ 2021-10-29 5:37 UTC (permalink / raw
To: gentoo-commits
commit: b9a9f6239d46f54ff1fc747b73ddf58082aa6559
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 29 04:02:22 2021 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Fri Oct 29 04:02:22 2021 +0000
URL: https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=b9a9f623
libsandbox: drop args to trace_main
The filename was only used for a single debug print, and the args
ignored completely. Don't bother passing them down at all.
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>
libsandbox/libsandbox.h | 2 +-
libsandbox/trace.c | 6 ++----
libsandbox/wrapper-funcs/__wrapper_exec.c | 6 ++++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/libsandbox/libsandbox.h b/libsandbox/libsandbox.h
index fbea6ba..206c506 100644
--- a/libsandbox/libsandbox.h
+++ b/libsandbox/libsandbox.h
@@ -82,7 +82,7 @@ extern void sb_lock(void);
extern void sb_unlock(void);
bool trace_possible(const char *filename, char *const argv[], const void *data);
-void trace_main(const char *filename, char *const argv[]);
+void trace_main(void);
/* glibc modified realpath() function */
char *erealpath(const char *, char *);
diff --git a/libsandbox/trace.c b/libsandbox/trace.c
index d53051d..4e01f6e 100644
--- a/libsandbox/trace.c
+++ b/libsandbox/trace.c
@@ -510,12 +510,10 @@ static void trace_loop(void)
} while (1);
}
-void trace_main(const char *filename, char *const argv[])
+void trace_main(void)
{
struct sigaction old_sa, sa = { .sa_handler = SIG_DFL, };
- sb_debug_dyn("trace_main: tracing: %s\n", filename);
-
if (trace_pid)
sb_ebort("ISE: trace code assumes multiple threads are not forking\n");
@@ -550,7 +548,7 @@ void trace_main(const char *filename, char *const argv[])
#undef _trace_possible
#define _trace_possible(data) false
-void trace_main(const char *filename, char *const argv[])
+void trace_main(void)
{
/* trace_possible() triggers a warning for us */
}
diff --git a/libsandbox/wrapper-funcs/__wrapper_exec.c b/libsandbox/wrapper-funcs/__wrapper_exec.c
index 8ea5255..d66e3a0 100644
--- a/libsandbox/wrapper-funcs/__wrapper_exec.c
+++ b/libsandbox/wrapper-funcs/__wrapper_exec.c
@@ -242,8 +242,10 @@ static bool sb_check_exec(const char *filename, char *const argv[])
out_fd:
close(fd);
- if (do_trace)
- trace_main(filename, argv);
+ if (do_trace) {
+ sb_debug_dyn("tracing: %s\n", filename);
+ trace_main();
+ }
return run_in_process;
}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-10-29 5:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-23 1:57 [gentoo-commits] proj/sandbox:master commit in: libsandbox/, libsandbox/wrapper-funcs/ Mike Frysinger
-- strict thread matches above, loose matches on Subject: below --
2021-10-29 5:37 Mike Frysinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox