summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2016-07-03 17:47:45 +0200
committerPeter Palfrader <peter@palfrader.org>2016-07-03 17:47:45 +0200
commit2c4e78d95b2bc42c43ba09163e9c2d0744d9ac7b (patch)
tree2447dc313d2e51a660c663de18a2c6b138ccf016
parent744077dd155c347092002d2fa642ebdaca651608 (diff)
downloadtor-2c4e78d95b2bc42c43ba09163e9c2d0744d9ac7b.tar.gz
tor-2c4e78d95b2bc42c43ba09163e9c2d0744d9ac7b.zip
sandboxing: allow open() of stats dir
When sandboxing is enabled, we could not write any stats to disk. check_or_create_data_subdir("stats"), which prepares the private stats directory, calls check_private_dir(), which also opens and not just stats() the directory. Therefore, we need to also allow open() for the stats dir in our sandboxing setup.
-rw-r--r--changes/bug195566
-rw-r--r--src/or/main.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/changes/bug19556 b/changes/bug19556
new file mode 100644
index 0000000000..fb1e601390
--- /dev/null
+++ b/changes/bug19556
@@ -0,0 +1,6 @@
+ o Minor bugfixes (sandboxing):
+ - When sandboxing is enabled, we could not write any stats to
+ disk. check_or_create_data_subdir("stats"), which prepares the
+ private stats directory, calls check_private_dir(), which also
+ opens and not just stats() the directory. Therefore, we need to
+ also allow open() for the stats dir in our sandboxing setup.
diff --git a/src/or/main.c b/src/or/main.c
index f585f0be62..0562f84242 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -3568,6 +3568,7 @@ sandbox_init_filter(void)
get_datadir_fname2("keys", "secret_onion_key_ntor.old"));
STAT_DATADIR("keys");
+ OPEN_DATADIR("stats");
STAT_DATADIR("stats");
STAT_DATADIR2("stats", "dirreq-stats");
}