bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44131: 28.0.50; emacsclient Invalid socket owner error


From: Eli Zaretskii
Subject: bug#44131: 28.0.50; emacsclient Invalid socket owner error
Date: Sat, 07 Nov 2020 10:47:35 +0200

> From: Andrew Eggenberger <andrew.eggenberger@gmail.com>
> Date: Sun, 1 Nov 2020 19:24:42 -0600
> Cc: 44131@debbugs.gnu.org
> 
> The problem seems to stem from the way the hurd treats fstat calls on local 
> socket
> file descriptors. They all have the uid of 0 (root), while emacsclient can be 
> run by 
> other users. After trying to teach the hurd's local socket server to use the 
> uid of 
> the user who requested the socket and failing, I created the naive patch 
> below that
> fixes the problem.
> 
> Please let me know if there's a better solution. I git blamed the changes 
> that led to this
> issue and I don't understand the race condition the uid comparison is 
> supposed prevent.
> 
> Andrew Eggenberger
> 
> diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
> index 871fa7a8d3..6059993ff6 100644
> --- a/lib-src/emacsclient.c
> +++ b/lib-src/emacsclient.c
> @@ -1480,8 +1480,13 @@ set_local_socket (char const *server_name)
>         sock_status = errno;
>        else if (connect_stat.st_uid == uid)
>         return s;
> +#ifdef __GNU__
> +      else
> +       return s;
> +#else
>        else
>         sock_status = -1;
> +#endif
> 
>        CLOSE_SOCKET (s);
>      }

Paul, any better ideas?  Or should I push this fix?

Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]