Review Request 121429: Use out-of-band communication between ksld and greeter

Martin Gräßlin mgraesslin at kde.org
Mon Dec 15 13:54:09 UTC 2014



> On Dec. 15, 2014, 2:39 p.m., David Edmundson wrote:
> > So basically we have a named pipe and we we pass back the wID of the lock screen to ksld?
> > 
> > I'm not sure what benefit we have from using Wayland as the protocol as opposed to a private p2p DBus session or just writing it out as a simple integer on a socket..but I can't see any harm either.
> > 
> > +1

> So basically we have a named pipe and we we pass back the wID of the lock screen to ksld?

yes

> I'm not sure what benefit we have from using Wayland as the protocol as opposed to a private p2p DBus session or just writing it out as a simple integer on a socket..but I can't see any harm either.

one of the reasons is that I want to extend it to support more. E.g. with the protocol in place we can move the authentication to ksld. This makes integer on a socket a non-solution. Also we would have to add all the security like proper parsing whether it's an integer and so onl Concerning p2p DBus: I do not see a way on how one could pass the connection and ensure no other client connects to it except the expected one. This is possible in the KWayland case - you can see that there are validations in several places.


> On Dec. 15, 2014, 2:39 p.m., David Edmundson wrote:
> > ksmserver/screenlocker/waylandserver.cpp, line 44
> > <https://git.reviewboard.kde.org/r/121429/diff/2/?file=333348#file333348line44>
> >
> >     FYI you end up calling this twice. Though it doesn't seem like that will cause a problem.

I just added it in the dtor as a safety measure and stop is deliberately implemented in a way that it doesn't matter.


- Martin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121429/#review72044
-----------------------------------------------------------


On Dec. 15, 2014, 10:29 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121429/
> -----------------------------------------------------------
> 
> (Updated Dec. 15, 2014, 10:29 a.m.)
> 
> 
> Review request for Plasma, Àlex Fiestas and David Edmundson.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> The screenlocker_greet needs to tell the parent ksld process which
> windows it created. Ksld sends input events to these windows. So
> far this was based on an X property on the window. Unfortunately
> ksld didn't validate whether the windows tagged with this property
> belong to the screenlocker_greet process it started.
> 
> With this change the communication for announcing windows is moved
> away from the X11 protocol and instead a custom Wayland protocol is
> used.
> 
> Ksld starts a KWaylandServer when the greet process gets started. It
> creates anonymous unix sockets for the connection and passes one
> filedescriptor to the started greeter process.
> 
> The check for the X property is removed in ksld and instead only
> windows ids passed through the Wayland socket connection are
> accepted.
> 
> 
> Diffs
> -----
> 
>   ksmserver/screenlocker/ksldapp.cpp 22698ce37e9d4be17126111b3ded8133f7c3baa6 
>   ksmserver/screenlocker/lockwindow.h 9938d201269c89a24c9c0bd6275aa5f731bb5535 
>   ksmserver/screenlocker/lockwindow.cpp 3aa963a59e21636862f5ca59e220bbea3bd41ff9 
>   ksmserver/screenlocker/protocols/ksld.xml PRE-CREATION 
>   ksmserver/screenlocker/waylandserver.h PRE-CREATION 
>   ksmserver/screenlocker/waylandserver.cpp PRE-CREATION 
>   ksmserver/screenlocker/greeter/greeterapp.h b92b13b63365a9026dba5d71b772dcd8c9ee3d3b 
>   ksmserver/screenlocker/greeter/greeterapp.cpp 30d1821bdba38028959f3457e900a1b32e628192 
>   ksmserver/screenlocker/greeter/main.cpp 12e570107d0cba851b8978131d730b27924529bb 
>   ksmserver/screenlocker/ksldapp.h 095424c9845c134aa156917aeb6c8ddf31e8d25a 
>   CMakeLists.txt c6d89c14b05f5639937aee5692d305fa2faed974 
>   ksmserver/screenlocker/CMakeLists.txt 5378a10df2be70cee95b5612c23046eae639f610 
>   ksmserver/screenlocker/greeter/CMakeLists.txt 10c473488f08354096f68784b9240392a444af5f 
> 
> Diff: https://git.reviewboard.kde.org/r/121429/diff/
> 
> 
> Testing
> -------
> 
> Running ksmserver with the patch. Lock/unlock working, my exploit is failing.
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20141215/281a5c7e/attachment-0001.html>


More information about the Plasma-devel mailing list