<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: PackageKit Stop Energy</title>
	<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/</link>
	<description></description>
	<pubDate>Wed, 20 Aug 2008 02:58:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Philip Van Hoof</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-240</link>
		<dc:creator>Philip Van Hoof</dc:creator>
		<pubDate>Mon, 14 Apr 2008 14:23:21 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-240</guid>
		<description>Agree with the IPC solution (D-BUS).

Right now Ubuntu's solution is to run some GNOME application (that is NOT security audited NOR is the GNOME stack of libraries being used security audited either) in a highly predictable way with sudo (therefore, as root).

Worse, they have a (hidden) VTE widget that is running the apt-get or dpkg application as root, too.

Worse, any application and the user herself too can send keystrokes to this widget. Including combinations like CTRL+C. At least on the Ubuntu versions that I tested this against it was even possible to send SIGHUP to apt-get this way (user input breaking the application). 

I already filed a bug about this at Ubuntu but that bug was dismissed as invalid. I also, in that bug, tried to discuss a solution for this problem. My ad-hoc solution was to run an ad-hoc SUID root application that gets controlled instructions (over an IPC like pipe() and STDIN or a Unix socket) from the user-application and then executes them.

PackageKid wraps a similar solution (not suid but running a daemon) into a good API, making it possible for any application to securely interact with this.

Questions that are to be asked by the user should in my opinion not be asked by a UI application that runs as root. Something that sits in the middle, converts the questions into something that can't ever be a security problem and then does IPC with a securely written application to get it done, is a far better architecture for this.

Not only is Ubuntu's solution a severe security mistake. Running an application as root also creates theming problems, configuration problems (proxy settings, getting user-specific default answers and values, etc).

In stead of for ever postphoning the solution for this problem for the reason "because silly packagers want to ask questions in a non-standard way", should distributions like Ubuntu attack the problem by supporting a real solution.</description>
		<content:encoded><![CDATA[<p>Agree with the IPC solution (D-BUS).</p>
<p>Right now Ubuntu&#8217;s solution is to run some GNOME application (that is NOT security audited NOR is the GNOME stack of libraries being used security audited either) in a highly predictable way with sudo (therefore, as root).</p>
<p>Worse, they have a (hidden) VTE widget that is running the apt-get or dpkg application as root, too.</p>
<p>Worse, any application and the user herself too can send keystrokes to this widget. Including combinations like CTRL+C. At least on the Ubuntu versions that I tested this against it was even possible to send SIGHUP to apt-get this way (user input breaking the application). </p>
<p>I already filed a bug about this at Ubuntu but that bug was dismissed as invalid. I also, in that bug, tried to discuss a solution for this problem. My ad-hoc solution was to run an ad-hoc SUID root application that gets controlled instructions (over an IPC like pipe() and STDIN or a Unix socket) from the user-application and then executes them.</p>
<p>PackageKid wraps a similar solution (not suid but running a daemon) into a good API, making it possible for any application to securely interact with this.</p>
<p>Questions that are to be asked by the user should in my opinion not be asked by a UI application that runs as root. Something that sits in the middle, converts the questions into something that can&#8217;t ever be a security problem and then does IPC with a securely written application to get it done, is a far better architecture for this.</p>
<p>Not only is Ubuntu&#8217;s solution a severe security mistake. Running an application as root also creates theming problems, configuration problems (proxy settings, getting user-specific default answers and values, etc).</p>
<p>In stead of for ever postphoning the solution for this problem for the reason &#8220;because silly packagers want to ask questions in a non-standard way&#8221;, should distributions like Ubuntu attack the problem by supporting a real solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Hughes</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-239</link>
		<dc:creator>Richard Hughes</dc:creator>
		<pubDate>Sun, 13 Apr 2008 23:10:31 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-239</guid>
		<description>Well, PackageKit doesn't obsolete anything  - you can still use apt-get, synaptic, pirut, zipper or even rpm and dpkg directly. It's just a layer of prettyness that lets us fix some real problems with the backends. There's quite a nice intro here: http://people.freedesktop.org/~hughsient/public/introduction-to-packagekit.pdf</description>
		<content:encoded><![CDATA[<p>Well, PackageKit doesn&#8217;t obsolete anything  - you can still use apt-get, synaptic, pirut, zipper or even rpm and dpkg directly. It&#8217;s just a layer of prettyness that lets us fix some real problems with the backends. There&#8217;s quite a nice intro here: <a href="http://people.freedesktop.org/~hughsient/public/introduction-to-packagekit.pdf" rel="nofollow">http://people.freedesktop.org/~hughsient/public/introduction-to-packagekit.pdf</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rob</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-238</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sun, 13 Apr 2008 22:54:23 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-238</guid>
		<description>Micheal: Hmm, seems we have a different parsing of what PackageKit wants to be. AFAIK its just about user-facing package install and certainly not about replacing current package installation methods. I guess one simple policy is if a package requires stdin/out the packagekit backend should just fail to install it with a suitable warning. The hard bit would be spotting this of course.</description>
		<content:encoded><![CDATA[<p>Micheal: Hmm, seems we have a different parsing of what PackageKit wants to be. AFAIK its just about user-facing package install and certainly not about replacing current package installation methods. I guess one simple policy is if a package requires stdin/out the packagekit backend should just fail to install it with a suitable warning. The hard bit would be spotting this of course.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael R. Head</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-237</link>
		<dc:creator>Michael R. Head</dc:creator>
		<pubDate>Sun, 13 Apr 2008 22:50:42 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-237</guid>
		<description>I don't think the issue has anything to do with debconf, since debconf doesn't require a terminal for input.

The problem is that there are (a small number of) packages that don't use debconf. These are the packages that won't install unless the user interacts with it via STDIN/OUT.

The crux of the problem, in my opinion, is that PackageKit attempts to support all packages on all distributions. dpkg explicitly allows packagers to build packages to work with STDIN/OUT. My guess is that most of the packages in question are server-oriented, not desktop-oriented. If PackageKit were design to work with just the GNOME (or desktop-related) packages, then it might be fair to force packagers to follow PackageKit's requirements. But PackageKit wants to abstract over all packages on all distributions.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think the issue has anything to do with debconf, since debconf doesn&#8217;t require a terminal for input.</p>
<p>The problem is that there are (a small number of) packages that don&#8217;t use debconf. These are the packages that won&#8217;t install unless the user interacts with it via STDIN/OUT.</p>
<p>The crux of the problem, in my opinion, is that PackageKit attempts to support all packages on all distributions. dpkg explicitly allows packagers to build packages to work with STDIN/OUT. My guess is that most of the packages in question are server-oriented, not desktop-oriented. If PackageKit were design to work with just the GNOME (or desktop-related) packages, then it might be fair to force packagers to follow PackageKit&#8217;s requirements. But PackageKit wants to abstract over all packages on all distributions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rob</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-236</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sun, 13 Apr 2008 22:12:49 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-236</guid>
		<description>jldugger: As far as I understand it, stop energy is unconstructive criticism. I've updated my post to add some hopefully constructive criticism and try to untangle the argument ;)

James: that sucks, what a shame :(</description>
		<content:encoded><![CDATA[<p>jldugger: As far as I understand it, stop energy is unconstructive criticism. I&#8217;ve updated my post to add some hopefully constructive criticism and try to untangle the argument <img src='http://blog.floopily.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>James: that sucks, what a shame <img src='http://blog.floopily.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Sherlock</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-235</link>
		<dc:creator>Chris Sherlock</dc:creator>
		<pubDate>Sun, 13 Apr 2008 22:09:49 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-235</guid>
		<description>I'm still confused why PackageKit can't accept user input from a package. The only packages that require this sort of thing are complicated server software type packages. The argument that the "user will be confused" doesn't really hold much water when you think of things in that way.</description>
		<content:encoded><![CDATA[<p>I&#8217;m still confused why PackageKit can&#8217;t accept user input from a package. The only packages that require this sort of thing are complicated server software type packages. The argument that the &#8220;user will be confused&#8221; doesn&#8217;t really hold much water when you think of things in that way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-234</link>
		<dc:creator>James</dc:creator>
		<pubDate>Sun, 13 Apr 2008 21:51:36 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-234</guid>
		<description>You can't enable OpenID without enabling anonymous on LiveJournal at the moment, despite me submitting a patch to do so *counts* 8 months ago. Despite inventing OpenID, LJ's support has stagnated the past few years, and I don't see it getting any better with their new owners.</description>
		<content:encoded><![CDATA[<p>You can&#8217;t enable OpenID without enabling anonymous on LiveJournal at the moment, despite me submitting a patch to do so *counts* 8 months ago. Despite inventing OpenID, LJ&#8217;s support has stagnated the past few years, and I don&#8217;t see it getting any better with their new owners.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jldugger</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-233</link>
		<dc:creator>jldugger</dc:creator>
		<pubDate>Sun, 13 Apr 2008 21:31:46 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-233</guid>
		<description>OpenID basically means accepting any anonymous provider of openID, even those fun "validate everyone" providers. It provides authentication, but not trust, not even trust that the authenticated isn't a computer!

"Stop Energy" is a useful tool in engineering. I see lots of enthusiastic developers writing specs and selling their ideas to Ubuntu, but rarely do I see any meaningful set of downsides, caveats etc.  For example, packagekit's apt backend support is terrible, given the proportion of apt users.  Directing stop energy into criticism and evaluations helps, I think.</description>
		<content:encoded><![CDATA[<p>OpenID basically means accepting any anonymous provider of openID, even those fun &#8220;validate everyone&#8221; providers. It provides authentication, but not trust, not even trust that the authenticated isn&#8217;t a computer!</p>
<p>&#8220;Stop Energy&#8221; is a useful tool in engineering. I see lots of enthusiastic developers writing specs and selling their ideas to Ubuntu, but rarely do I see any meaningful set of downsides, caveats etc.  For example, packagekit&#8217;s apt backend support is terrible, given the proportion of apt users.  Directing stop energy into criticism and evaluations helps, I think.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rob</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-232</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sun, 13 Apr 2008 19:30:24 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-232</guid>
		<description>Mark: yeah, though he already said he can't figure how to enable OpenId without enabling anonymous, and when he enables anonymous he gets ~50 spam comments a day... ;)</description>
		<content:encoded><![CDATA[<p>Mark: yeah, though he already said he can&#8217;t figure how to enable OpenId without enabling anonymous, and when he enables anonymous he gets ~50 spam comments a day&#8230; <img src='http://blog.floopily.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Brown</title>
		<link>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-231</link>
		<dc:creator>Mark Brown</dc:creator>
		<pubDate>Sun, 13 Apr 2008 19:09:59 +0000</pubDate>
		<guid>http://blog.floopily.org/2008/04/14/packagekit-stop-energy/#comment-231</guid>
		<description>Or Richard could just enable anonymous and/or OpenID comments on his LJ...</description>
		<content:encoded><![CDATA[<p>Or Richard could just enable anonymous and/or OpenID comments on his LJ&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
