aboutsummaryrefslogtreecommitdiffstats
path: root/pseudo_util.c
diff options
context:
space:
mode:
authorPeter Seebach <seebs@eee12.(none)>2010-03-26 15:06:43 -0500
committerPeter Seebach <seebs@eee12.(none)>2010-03-26 15:06:43 -0500
commit8231f7c636183ec0beda5beae8a342bb89b3c774 (patch)
treeb93659df7a0fd5cb51f256cbfe1376109c5a0959 /pseudo_util.c
parent80259da816b82c5bdfbf9515935823a157f5d0e9 (diff)
downloadpseudo-8231f7c636183ec0beda5beae8a342bb89b3c774.tar.gz
pseudo-8231f7c636183ec0beda5beae8a342bb89b3c774.tar.bz2
pseudo-8231f7c636183ec0beda5beae8a342bb89b3c774.zip
Add support for intercepting execve()
This allows us to track execution, although the tracking for it requires some additional thought -- the basic assumption is that we don't want to canonicalize names into the chroot() directory, but since all the filename canonicalization assumes that we want this, that will take some sneaking. It's a little useful as is, though, so I'm running with it.
Diffstat (limited to 'pseudo_util.c')
-rw-r--r--pseudo_util.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pseudo_util.c b/pseudo_util.c
index 55e0488..bb60edb 100644
--- a/pseudo_util.c
+++ b/pseudo_util.c
@@ -604,6 +604,10 @@ pseudo_access_fopen(const char *mode) {
if (mode[1] == '+' || (mode[1] == 'b' && mode[2] == '+'))
access |= PSA_READ;
break;
+ /* special case */
+ case 'x':
+ access |= PSA_EXEC;
+ break;
default:
access = -1;
break;