Skip to content
Snippets Groups Projects
Commit d1a6043b authored by David Goulet's avatar David Goulet :panda_face:
Browse files

Merge branch 'maint-0.3.2' of https://git.torproject.org/tor into maint-0.3.2

parents 9c83cd19 0971b3ce
No related branches found
No related tags found
No related merge requests found
o Minor bugfixes (hidden service v3):
- In case the hidden service directory can't be created or has wrong
permissions, do not BUG() on it which lead to a non fatal stacktrace.
Fixes bug 27335; bugfix on 0.3.2.1.
o Minor bugfixes (testing):
- If a unit test running in a subprocess exits abnormally or with a
nonzero status code, treat the test as having failed, even if
the test reported success. Without this fix, memory leaks don't cause
cause the tests to fail, even with LeakSanitizer. Fixes bug 27658;
bugfix on 0.2.2.4-alpha.
...@@ -207,12 +207,20 @@ testcase_run_forked_(const struct testgroup_t *group, ...@@ -207,12 +207,20 @@ testcase_run_forked_(const struct testgroup_t *group,
r = (int)read(outcome_pipe[0], b, 1); r = (int)read(outcome_pipe[0], b, 1);
if (r == 0) { if (r == 0) {
printf("[Lost connection!] "); printf("[Lost connection!] ");
return 0; return FAIL;
} else if (r != 1) { } else if (r != 1) {
perror("read outcome from pipe"); perror("read outcome from pipe");
} }
waitpid(pid, &status, 0); r = waitpid(pid, &status, 0);
close(outcome_pipe[0]); close(outcome_pipe[0]);
if (r == -1) {
perror("waitpid");
return FAIL;
}
if (! WIFEXITED(status) || WEXITSTATUS(status) != 0) {
printf("[did not exit cleanly.]");
return FAIL;
}
return b[0]=='Y' ? OK : (b[0]=='S' ? SKIP : FAIL); return b[0]=='Y' ? OK : (b[0]=='S' ? SKIP : FAIL);
} }
#endif #endif
......
...@@ -974,9 +974,9 @@ load_service_keys(hs_service_t *service) ...@@ -974,9 +974,9 @@ load_service_keys(hs_service_t *service)
* files to that directory so make sure it exists and has the right * files to that directory so make sure it exists and has the right
* permissions. We do this here because at this stage we know that Tor is * permissions. We do this here because at this stage we know that Tor is
* actually running and the service we have has been validated. */ * actually running and the service we have has been validated. */
if (BUG(hs_check_service_private_dir(get_options()->User, if (hs_check_service_private_dir(get_options()->User,
config->directory_path, config->directory_path,
config->dir_group_readable, 1) < 0)) { config->dir_group_readable, 1) < 0) {
goto end; goto end;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment