From: Andrea Shepard Date: Tue, 13 Jan 2015 00:27:04 +0000 (+0000) Subject: Explicitly chmod AF_UNIX sockets to 0600 when *GroupWritable isn't specified X-Git-Tag: tor-0.2.6.3-alpha~160^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=066acaf6b9e5c38fc392e85c14457f338d3c1dff;p=thirdparty%2Ftor.git Explicitly chmod AF_UNIX sockets to 0600 when *GroupWritable isn't specified --- diff --git a/src/or/connection.c b/src/or/connection.c index 0a7a6a882b..a3c7019812 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -1244,6 +1244,16 @@ connection_listener_new(const struct sockaddr *listensockaddr, log_warn(LD_FS,"Unable to make %s group-writable.", address); goto err; } + } else if ((type == CONN_TYPE_CONTROL_LISTENER && + !(options->ControlSocketsGroupWritable)) || + (type == CONN_TYPE_AP_LISTENER && + !(options->SocksSocketsGroupWritable))) { + /* We need to use chmod; fchmod doesn't work on sockets on all + * platforms. */ + if (chmod(address, 0600) < 0) { + log_warn(LD_FS,"Unable to make %s group-writable.", address); + goto err; + } } if (listen(s, SOMAXCONN) < 0) {