[PATCH] os: Treat ssh as a non-local client

Michel Dänzer michel at daenzer.net
Wed Dec 9 01:21:58 PST 2015


On 09.12.2015 03:55, Adam Jackson wrote:
> By the time we get to ComputeLocalClient, we've already done
> NextAvailableClient → ReserveClientIds → DetermineClientCmd (assuming
> we're built with #define CLIENTIDS), so we can look up the name of the
> client process and refuse to treat ssh's X forwarding as if it were
> local.
> 
> Signed-off-by: Adam Jackson <ajax at redhat.com>

The only argument I can come up with against this is that it
artificially prevents some things such as DRI2 direct rendering via ssh
to localhost. Probably not a big loss.

However, while the idea makes sense to me, the implementation needs some
refinement:


> +    if (client->clientIds)
> +        if (!strncmp(client->clientIds->cmdname, "ssh", 3))
> +            return FALSE;

This would treat any client whose cmdname starts with "ssh" as
non-local, right? There's quite a few executables in Debian matching
that, we probably can't guarantee that none of them (not to mention any
others or future ones) ever need anything which requires client->local
to be TRUE.

OTOH this doesn't match ssh invoked as [path]/ssh, which I imagine could
happen e.g. if ssh is launched from some kind of frontend / script.


P.S. xserver patches should now also use the explicit [PATCH xserver]
prefix.

-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the xorg-devel mailing list