See ticket #13942 where Tor dies if you feed it a hidden service
directory with the wrong owner via SETCONF.
--- /dev/null
+ o Minor bugfixes (hidden services):
+ - Pre-check directory permissions for new hidden-services to avoid
+ at least one case of "Bug: Acting on config options left us in a
+ broken state. Dying."
+
}
}
if (service) {
+ cpd_check_t check_opts = CPD_CHECK_MODE_ONLY;
+ if (service->dir_group_readable) {
+ check_opts |= CPD_GROUP_READ;
+ }
+
+ if (check_private_dir(service->directory, check_opts, options->User) < 0) {
+ rend_service_free(service);
+ return -1;
+ }
+
if (validate_only) {
rend_service_free(service);
} else {