]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Check every hidden service directory's permissions when configuring
authorteor <teor2345@gmail.com>
Wed, 2 Nov 2016 03:32:04 +0000 (14:32 +1100)
committerteor <teor2345@gmail.com>
Wed, 2 Nov 2016 03:32:04 +0000 (14:32 +1100)
Previously, we would only check the last hidden service directory.

Fixes #20529, bugfix on ticket 13942 commit 85bfad1 in 0.2.6.2-alpha.

changes/bug20529 [new file with mode: 0644]
src/or/rendservice.c

diff --git a/changes/bug20529 b/changes/bug20529
new file mode 100644 (file)
index 0000000..276be5b
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden services):
+    - When configuring hidden services, check every hidden service directory's
+      permissions. Previously, we only checked the last hidden service.
+      Fixes bug 20529; bugfix on 13942 commit 85bfad1 in 0.2.6.2-alpha.
index 7dbcf718f7fdd39cc5d72030bf97e4545d38f1a0..c62673a74caac92816ad69af78c4ae338772f088 100644 (file)
@@ -464,6 +464,11 @@ rend_config_services(const or_options_t *options, int validate_only)
   for (line = options->RendConfigLines; line; line = line->next) {
     if (!strcasecmp(line->key, "HiddenServiceDir")) {
       if (service) { /* register the one we just finished parsing */
+        if (rend_service_check_private_dir(service, 0) < 0) {
+          rend_service_free(service);
+          return -1;
+        }
+
         if (validate_only)
           rend_service_free(service);
         else