* fhandler_socket.cc (fhandler_socket::create_secret_event): Relax
security of secret_event so AF_UNIX socket clients can connect to servers even if running under a different user account. (fhandler_socket::check_peer_secret_event): Ditto.
This commit is contained in:
@ -101,7 +101,7 @@ fhandler_socket::create_secret_event (int* secret)
|
||||
__small_sprintf (buf, SECRET_EVENT_NAME, sin.sin_port,
|
||||
secret_ptr [0], secret_ptr [1],
|
||||
secret_ptr [2], secret_ptr [3]);
|
||||
secret_event = CreateEvent (get_inheritance (), FALSE, FALSE, buf);
|
||||
secret_event = CreateEvent (get_inheritance(true), FALSE, FALSE, buf);
|
||||
if (!secret_event && GetLastError () == ERROR_ALREADY_EXISTS)
|
||||
secret_event = OpenEvent (EVENT_ALL_ACCESS, FALSE, buf);
|
||||
|
||||
@ -136,7 +136,7 @@ fhandler_socket::check_peer_secret_event (struct sockaddr_in* peer, int* secret)
|
||||
__small_sprintf (buf, SECRET_EVENT_NAME, peer->sin_port,
|
||||
secret_ptr [0], secret_ptr [1],
|
||||
secret_ptr [2], secret_ptr [3]);
|
||||
ev = CreateEvent (&sec_none_nih, FALSE, FALSE, buf);
|
||||
ev = CreateEvent (&sec_all_nih, FALSE, FALSE, buf);
|
||||
if (!ev && GetLastError () == ERROR_ALREADY_EXISTS)
|
||||
{
|
||||
debug_printf ("%s event already exist");
|
||||
|
Reference in New Issue
Block a user