diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-09-09 14:55:47 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-09-09 14:55:47 -0400 |
commit | 00fd0cc5f91ad431c4beb25b8cc8f89ff1462268 (patch) | |
tree | 06934aa15dcbc1d9c3eaa3e6d76c3d070f84cda0 /src/common | |
parent | 340cca524f23195c00c46874b19980bbe7138ead (diff) | |
download | tor-00fd0cc5f91ad431c4beb25b8cc8f89ff1462268.tar.gz tor-00fd0cc5f91ad431c4beb25b8cc8f89ff1462268.zip |
Basic compilation fixes.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/sandbox.c | 24 | ||||
-rw-r--r-- | src/common/sandbox.h | 6 |
2 files changed, 21 insertions, 9 deletions
diff --git a/src/common/sandbox.c b/src/common/sandbox.c index 1fa4d613c1..2f5859e779 100644 --- a/src/common/sandbox.c +++ b/src/common/sandbox.c @@ -118,8 +118,10 @@ static int filter_nopar_gen[] = { SCMP_SYS(exit), SCMP_SYS(madvise), +#ifdef __NR_stat64 // getaddrinfo uses this.. SCMP_SYS(stat64), +#endif // socket syscalls SCMP_SYS(bind), @@ -741,10 +743,14 @@ static sandbox_filter_func_t filter_func[] = { sb_execve, sb_time, sb_accept4, +#ifdef __NR_mmap2 sb_mmap2, +#endif sb_open, sb_openat, +#ifdef __NR_fcntl64 sb_fcntl64, +#endif sb_epoll_ctl, sb_prctl, sb_mprotect, @@ -752,7 +758,9 @@ static sandbox_filter_func_t filter_func[] = { sb_futex, sb_mremap, sb_poll, +#ifdef __NR_stat64 sb_stat64, +#endif sb_socket, sb_setsockopt, @@ -879,12 +887,17 @@ new_element(int syscall, int index, intptr_t value) } #ifdef __NR_stat64 +#define SCMP_stat SCMP_SYS(stat64) +#else +#define SCMP_stat SCMP_SYS(stat) +#endif + int -sandbox_cfg_allow_stat64_filename(sandbox_cfg_t **cfg, char *file, int fr) +sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file, int fr) { sandbox_cfg_t *elem = NULL; - elem = new_element(SCMP_SYS(stat64), 0, (intptr_t) tor_strdup(file)); + elem = new_element(SCMP_stat, 0, (intptr_t) tor_strdup(file)); if (!elem) { log_err(LD_BUG,"(Sandbox) failed to register parameter!"); return -1; @@ -898,7 +911,7 @@ sandbox_cfg_allow_stat64_filename(sandbox_cfg_t **cfg, char *file, int fr) } int -sandbox_cfg_allow_stat64_filename_array(sandbox_cfg_t **cfg, ...) +sandbox_cfg_allow_stat_filename_array(sandbox_cfg_t **cfg, ...) { int rc = 0; char *fn = NULL; @@ -909,9 +922,9 @@ sandbox_cfg_allow_stat64_filename_array(sandbox_cfg_t **cfg, ...) while ((fn = va_arg(ap, char*)) != NULL) { int fr = va_arg(ap, int); - rc = sandbox_cfg_allow_stat64_filename(cfg, fn, fr); + rc = sandbox_cfg_allow_stat_filename(cfg, fn, fr); if (rc) { - log_err(LD_BUG,"(Sandbox) sandbox_cfg_allow_stat64_filename_array fail"); + log_err(LD_BUG,"(Sandbox) sandbox_cfg_allow_stat_filename_array fail"); goto end; } } @@ -920,7 +933,6 @@ sandbox_cfg_allow_stat64_filename_array(sandbox_cfg_t **cfg, ...) va_end(ap); return 0; } -#endif int sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file, int fr) diff --git a/src/common/sandbox.h b/src/common/sandbox.h index ed9caa1686..e61e0b3338 100644 --- a/src/common/sandbox.h +++ b/src/common/sandbox.h @@ -204,12 +204,12 @@ int sandbox_cfg_allow_execve(sandbox_cfg_t **cfg, char *com); int sandbox_cfg_allow_execve_array(sandbox_cfg_t **cfg, ...); /** - * Function used to add a stat64 allowed filename to a supplied configuration. + * Function used to add a stat/stat64 allowed filename to a configuration. * The (char*) specifies the path to the allowed file, fr = 1 tells the * function that the char* needs to be free-ed, 0 means the pointer does not * need to be free-ed. */ -int sandbox_cfg_allow_stat64_filename(sandbox_cfg_t **cfg, char *file, +int sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file, int fr); /** Function used to add a series of stat64 allowed filenames to a supplied @@ -220,7 +220,7 @@ int sandbox_cfg_allow_stat64_filename(sandbox_cfg_t **cfg, char *file, * that the char* needs to be free-ed, 0 means the pointer does not need to * be free-ed; the final parameter needs to be <NULL, 0>. */ -int sandbox_cfg_allow_stat64_filename_array(sandbox_cfg_t **cfg, ...); +int sandbox_cfg_allow_stat_filename_array(sandbox_cfg_t **cfg, ...); /** Function used to initialise a sandbox configuration.*/ int sandbox_init(sandbox_cfg_t* cfg); |