<table><tr><td style="">davidedmundson created this revision.<br />davidedmundson added a reviewer: Plasma.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D8924" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>The rationale is two-fold:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">It fixes a security issue.</li>
</ol>

<p>Right now, a rogue app can killall kde-policykit-agent-1 and register a<br />
new authentication agent. Next time a user gets asked for a password, they get<br />
prompted by the rogue app.</p>

<p>If KSMServer quits or doesn't start, the plasma session quits or doesn't<br />
start.</p>

<ol class="remarkup-list" start="2">
<li class="remarkup-list-item">It's a boot speed-up.</li>
</ol>

<p>Registering a few things in KSMServer is a lot quicker and lighter than<br />
spawning a whole extra QApplication binary.</p>

<hr class="remarkup-hr" />

<p>PolicyKit agent has been imported with the usual:<br />
git filter-branch to move into a subdir, then add as a remote of p-w,<br />
then merge.</p>

<p>Though given it's literally only 3 classes, I'm not sure the mess is<br />
worth it.</p>

<p>Messages.sh file moved with the translation context the same. So it<br />
should be headache free for translators (hopefully!)</p>

<hr class="remarkup-hr" />

<p>Files changed in policykit-agent are polkitkde.* and it no longer<br />
installs a .desktop file into the autostart folder.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Logged in<br />
Didn't run the process<br />
pkexec showed the right dialog<br />
qdbus into ksmserver whilst the dialog is open shows ksmserver isn't blocked</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8924" rel="noreferrer">https://phabricator.kde.org/D8924</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
ksmserver/CMakeLists.txt<br />
ksmserver/config.h.cmake<br />
ksmserver/main.cpp<br />
ksmserver/policykit-agent/AuthDialog.cpp<br />
ksmserver/policykit-agent/AuthDialog.h<br />
ksmserver/policykit-agent/AuthDialog.ui<br />
ksmserver/policykit-agent/CMakeLists.txt<br />
ksmserver/policykit-agent/COPYING<br />
ksmserver/policykit-agent/Messages.sh<br />
ksmserver/policykit-agent/authdetails.ui<br />
ksmserver/policykit-agent/org.freedesktop.PolicyKit.AuthenticationAgent.xml<br />
ksmserver/policykit-agent/org.kde.Polkit1AuthAgent.xml<br />
ksmserver/policykit-agent/policykit1-kde.notifyrc<br />
ksmserver/policykit-agent/policykitkde.cpp<br />
ksmserver/policykit-agent/policykitkde.h<br />
ksmserver/policykit-agent/policykitlistener.cpp<br />
ksmserver/policykit-agent/policykitlistener.h</div></div></div><br /><div><strong>To: </strong>davidedmundson, Plasma<br /><strong>Cc: </strong>plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>