[tor-bugs] #14186 [Tor]: Try to use fchmod() first when changing permissions on an AF_UNIX socket
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Jan 13 00:33:14 UTC 2015
#14186: Try to use fchmod() first when changing permissions on an AF_UNIX socket
--------------------+------------------------------------
Reporter: andrea | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Tor: 0.2.6.x-final
Component: Tor | Version: Tor: 0.2.6.2-alpha
Keywords: | Actual Points:
Parent ID: | Points:
--------------------+------------------------------------
In connection_listener_new() of connection.c, we need to change
permissions of an AF_UNIX socket in one case, and on some platforms it
doesn't work to use fchmod(), or so a comment claims. It'd be better to
avoid the race condition by using fchmod() when possible though.
We should move this to a unix_socket_chmod() function in compat.c,
perhaps, which should take a file handle, a path and a mode, and try
fchmod() and then fall back to chmod() if it fails.
Point of clarification: if fchmod() fails, will it fail by returning a
sensible error code or by silently not modifying the permissions? Should
unix_socket_chmod() also fdstat() as needed to check that the mode is
correct?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/14186>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list