]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
If TestingTorNetwork, skip perm check on the hs directory
authorSteven Engler <opara@cs.georgetown.edu>
Mon, 28 Jun 2021 17:35:11 +0000 (13:35 -0400)
committerSteven Engler <opara@cs.georgetown.edu>
Mon, 28 Jun 2021 17:51:06 +0000 (13:51 -0400)
changes/issue40338 [new file with mode: 0644]
src/feature/hs/hs_config.c

diff --git a/changes/issue40338 b/changes/issue40338
new file mode 100644 (file)
index 0000000..bc2caff
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor features (testing configuration):
+    - When TestingTorNetwork is enabled, skip the permission check on
+      the hidden service directory. Closes ticket 40338.
index 68ed932701db080dbb1a54cc33e061cb7135407b..f9f71c78f2c5843ff9a8b14c01e2a91617d94a3c 100644 (file)
@@ -544,15 +544,19 @@ config_service(config_line_t *line, const or_options_t *options,
 
   tor_assert(service->config.version <= HS_VERSION_MAX);
 
-  /* Check permission on service directory that was just parsed. And this must
-   * be done regardless of the service version. Do not ask for the directory
-   * to be created, this is done when the keys are loaded because we could be
-   * in validation mode right now. */
-  if (hs_check_service_private_dir(options->User,
-                                   service->config.directory_path,
-                                   service->config.dir_group_readable,
-                                   0) < 0) {
-    goto err;
+  /* If we're running with TestingTorNetwork enabled, we relax the permissions
+   * check on the hs directory. */
+  if (!options->TestingTorNetwork) {
+    /* Check permission on service directory that was just parsed. And this
+     * must be done regardless of the service version. Do not ask for the
+     * directory to be created, this is done when the keys are loaded because
+     * we could be in validation mode right now. */
+    if (hs_check_service_private_dir(options->User,
+                                     service->config.directory_path,
+                                     service->config.dir_group_readable,
+                                     0) < 0) {
+      goto err;
+    }
   }
 
   /* We'll try to learn the service version here by loading the key(s) if