<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ray Strode &#187; GNOME</title>
	<atom:link href="http://blogs.gnome.org/halfline/category/gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/halfline</link>
	<description>So...</description>
	<lastBuildDate>Wed, 13 Jul 2011 20:40:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Multiple concurrent authentication conversations</title>
		<link>http://blogs.gnome.org/halfline/2011/06/14/multiple-concurrent-authentication-conversations/</link>
		<comments>http://blogs.gnome.org/halfline/2011/06/14/multiple-concurrent-authentication-conversations/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 19:37:29 +0000</pubDate>
		<dc:creator>halfline</dc:creator>
				<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/halfline/?p=88</guid>
		<description><![CDATA[So, when a user turns on their computer, boot ups, and then enters their username, password, etc, under the covers GDM is using a framework called PAM to do the heavy lifting of processing the login request. PAM is a fairly old, and established library that reads a &#8220;service&#8221; file to determine what plugins to [...]]]></description>
			<content:encoded><![CDATA[<p>So, when a user turns on their computer, boot ups, and then enters their username, password, etc, under the covers GDM is using a framework called <a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules">PAM</a> to do the heavy lifting of processing the login request.  PAM is a fairly old, and established library that reads a &#8220;service&#8221; file to determine what plugins to load, and in what order to load them.  The plugins determine what questions to ask the user, verifies the answers the user gives are acceptable, and things like that.  As an example, one pam module is pam_unix which will get GDM to ask for a username and password that get checked against /etc/passwd and /etc/shadow (in a lot of cases anyway).  Another example, is a module called pam_rps that makes the user play rock-paper-scissors instead of entering a password.  Some PAM modules may not want text answers at all, though. For instance pam_fprintd just waits for the user to swipe their finger.</p>
<p>Traditionally, applications that use PAM only ever have one conversation running at a time.  That one service file is loaded up and that service file&#8217;s stack of modules are run through in order as defined by the policy in the file.  If a user wants fingerprint and password support, then they have to use a service file that mentions both pam_unix and pam_fprintd, and the modules have to provide some way to &#8220;fall through&#8221; to the next module.  That means potentially giving up on waiting for fingerprint after 30 seconds and then jumping to pam_unix to ask for password, or something suboptimal along those lines.</p>
<p>Of course, ideally a user doesn&#8217;t want this serialized behavior.  Instead, they want to either be able to type their password right away or swipe their finger right away and have the right thing happen.</p>
<p>One solution, that&#8217;s been slowly trickling in from a branch in git for quite a while, is to run multiple PAM conversations concurrently.  I&#8217;ve deemed this &#8216;multi-stack&#8217; or &#8216;split authentication&#8217;. So we can have the &#8220;password&#8221; stack of pam modules and the &#8220;fingerprint&#8221; stack both cheefully running along, independent of each other.  If the user satisfies the requirements of one of the conversations (say by swiping their finger or entering their password), we cancel the other and proceed with login.</p>
<p>It&#8217;s a useful feature, and I finally decided to cut the remainly bulk of the work over to master yesterday in time for the 3.1.2 release.  distros will have to enable it with &#8211;enable-split-authentication=yes passed to configure, and probably need to modify their pam configurations to accomodate.</p>
<p>I wouldn&#8217;t say it&#8217;s in perfect shape (in particular the greeter plugin interface is pretty unpleasant), but I wanted to land it now since it&#8217;s been lingering on the branch for so long.  I&#8217;m sure there will be follow commits to deal with unexpected breakage as distros pick it up.</p>
<p>Next thing I&#8217;d like to do for 3.2 is get more GNOME 3 integrated greeter.  I&#8217;ll try to do a follow up post about that soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/halfline/2011/06/14/multiple-concurrent-authentication-conversations/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Video 4-way split screen gstreamer pipeline</title>
		<link>http://blogs.gnome.org/halfline/2009/10/11/video-4-way-split-screen-gstreamer-pipeline/</link>
		<comments>http://blogs.gnome.org/halfline/2009/10/11/video-4-way-split-screen-gstreamer-pipeline/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 21:02:38 +0000</pubDate>
		<dc:creator>halfline</dc:creator>
				<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/halfline/?p=55</guid>
		<description><![CDATA[So I&#8217;m at the Boston Summit this weekend.]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m at the <a href="http://live.gnome.org/Boston2009">Boston Summit</a> this weekend.  <a href=http://mairin.wordpress.com/">Mo</a> showed off her portable usability lab.  She posted about the lab before <a href="http://mairin.wordpress.com/2009/08/26/open-source-portable-usability-testing-lab/">here</a>.  Jason Clinton posted a summary of the summit session <a href="http://jasondclinton.livejournal.com/74620.html">here</a></p>
<p>The DVR hardware in the setup ouputs four avi files&#8211;one for each camera.  The first file has the audio encoded in it.  Having four files is cumbersome, though.  It&#8217;s much better to see the camera focused on the users face at the same time as video focused on the users hands, and at the same time as the view that shows the users screen.</p>
<p>That&#8217;s where gstreamer comes in.  It&#8217;s possible to write a pipeline that can take the 4 videos and compose them together into one 4-way split screen.</p>
<p>In Mo&#8217;s <a href="http://mairin.wordpress.com/2009/08/26/open-source-portable-usability-testing-lab/">post</a> she showed an earlier pipeline I came up with, but it was very slow and lacked audio.</p>
<p>I&#8217;ve been reading up on gstreamer, searching the internets for example pipelines, etc, and now have a better pipeline.  Someone here at the summit asked for me to check it into git, so I did that today in the <a href="http://git.gnome.org/cgit/usability-lab/tree/eb1304-to-ogg.sh#n93">usability-lab</a> module.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/halfline/2009/10/11/video-4-way-split-screen-gstreamer-pipeline/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/halfline/category/gnome/feed/ ) in 1.19774 seconds, on Feb 10th, 2012 at 11:03 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 10th, 2012 at 12:03 pm UTC -->
