[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