<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:d81b00955f076640b4980a1c3646a625&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 10:00:36 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>AppArmor D-Bus Mediations</title>
            <link>http://zimmerle.org/2011/12/apparmor-d-bus-mediations/</link>
            <description><![CDATA[
<p>Looking like the SELinux but less boring, the AppArmor is a Linux security module (LSM) which provides mandatory access control (MAC). The first distro to adopt the utilization of AppArmor was SUSE in SUSE Linux Enterprise Server 10 and in openSUSE 10.1. It is part of Ubuntu since the version 8.04 and the adoption increase version to version since more profiles are created.</p>
<p>Other software that is part of more and more applications each day is the D-Bus, adopted by GNOME and KDE as an inter-process communication mechanism, the usage of D-Bus allows the communication between different applications. It is used, for example, to provide the communication between a software Core with the UI. Due to the nature of the communication of certain applications (sensible data) is indispensable to have some control about who can acquire some interface or who can listen or send some message.</p>
<p>D-Bus daemon has support to mediate SELinux messages and there is also a D-Bus internal mechanism that has some control over the use of the bus, but none of this is related to AppArmor. There are some experiments that show that it is possible however the necessary patches (Kernel, libapparmor and D-Bus daemon) were not submitted to be part of the respective projects, as explained in the earlier post. </p>
<p>The patches on the experiment enable <em>apparmor parser</em> to understand the tag <strong>dbus</strong>, as illustrated on the example bellow (line 15). More information about the experiment and the syntax of the file can be seen in: https://lists.ubuntu.com/archives/apparmor/2011-September/001541.html</p>
<pre class="brush: c; ">

/home/zimmerle/hello.py flags=(complain) {
  #include &lt;abstractions/base&gt;

  /usr/bin/python2.7 ix,
  /usr/include/python2.7/pyconfig.h r,
  /usr/local/lib/python2.7/dist-packages/ r,
  /usr/share/pyshared/PIL.pth r,
  /usr/share/pyshared/lazr.restfulclient-0.11.2-nspkg.pth r,
  /usr/share/pyshared/lazr.uri-1.0.2-nspkg.pth r,
  /usr/share/pyshared/pygst.pth r,
  /usr/share/pyshared/pygtk.pth r,
  /usr/share/pyshared/ubuntu-sso-client.pth r,
  /usr/share/pyshared/ubuntuone-client.pth r,

  dbus bar.foo.hello acquire,
}
</pre>
<p>In order to ensure the functionality of the suggestion made in the post: <a href="http://maemo.org/2011/12/d-bus-loadable-security-module-support/">D-Bus Loadable security module support</a>, I decided to modify the AppArmor D-Bus daemon patches to make them compatible with the suggested model. And it is working like a charm.</p>
<p>The code of the current experiment can be fetched from: </p>
<p>http://cgit.collabora.com/git/user/zimmerle/dbus-apparmor-lsm.git/</p>
<p>Note that in this experiment I had to use the D-Bus internal functions/headers. I made little hacks in order to get it working but apparently, this is a good way to go.</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1478c9c22de011e19cb7533764f065816581&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1478c9c22de011e19cb7533764f065816581/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1478c9c22de011e19cb7533764f065816581&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1478c9c22de011e19cb7533764f065816581/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Sat, 24 Dec 2011 03:20:33 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1478c9c22de011e19cb7533764f065816581</guid>
        </item>
        <item>
            <title>D-Bus Loadable security module support</title>
            <link>http://zimmerle.org/2011/12/d-bus-loadable-security-module-support/</link>
            <description><![CDATA[
<p>While I was thinking about LSM mediations of the D-Bus messages, I found out a nice work that is being developed by the Ubuntu sec team in order to support the AppArmor mediation on D-Bus message exchange and service acquisition.</p>
<p>Having a chat with John Johansen (from Unbuntu sec team), he said that he was missing a loadable module support on the D-Bus. Allowing the support of different Linux Security Modules mediation without messing up the D-Bus daemon code, which does make sense.</p>
<p>I started to implement a little PoC about this loadable support, which consists in the following: the LSM modules can be  dynamically loadable at the d-bus daemon startup. By copying a D-Bus LMS module to a given directory (which can be specified at the d-bus configuration) it will be loaded and registered.</p>
<p>The idea is to have  independent modules, if possible use only the D-Bus functions provided by libdbus, however, of course, if needed symbols can be copied from libdbus-internal.a.</p>
<p>Despite the fact that the modules can be independent of the D-Bus internals, they must have at least one known function, this function should be named as &#8220;<em>pre_init</em>&#8220;, and receives the pointer to the  D-Bus internal function &#8220;<em>register_security</em>&#8220;. The &#8220;<em>register_security</em>&#8221; function should be called by the module if it is loaded successfully. The &#8220;<em>pre_init</em>&#8221; function must return a &#8220;<em>dbus_bool_t</em>&#8220;: true if everything goes right or false if not. Note that audit can be also initialized by this function.</p>
<p>The function &#8220;<em>register_security</em>&#8221; receives as parameter a pointer to the structure &#8220;<em>security_validations</em>&#8221; that is part of dbus-security.h. The structure is illustrated bellow:</p>
<pre class="brush: c; ">

struct security_validations
{
 char *name;
 dbus_bool_t (*bus_security_allows_send) (DBusConnection *,
                                         DBusConnection*,
                                         const char *,
                                         const char *,
                                         const char *,
                                         const char *,
                                         const char *,
                                         const char *,
                                         const char *,
                                         DBusError *);
 dbus_bool_t (*bus_security_allows_acquire_service) (DBusConnection *,
                                                    const char *,
                                                    const char *,
                                                    DBusError *);
 dbus_bool_t (*shutdown) (void);
};
</pre>
<p>The structure &#8220;<em>security_validations</em>&#8221; defines the hooks and the name of the security module and also the function to shutdown the mediation. Two main hooks were needed, the first is the one responsible to mediate the message exchanges and the second is the responsible to avoid unauthorized process to acquire some service. The shutdown hook is not less important, but less used. Shutdown is only called when the D-Bus daemon is hanging out.</p>
<p>The current implementation of SELinux mediation needs more hooks to work than what I am offering in this PoC. Since the SELinux implementation has some performance improvements by doing caching, it will be necessary to create new hooks to gather some information before deciding whether some message is ok to go or not, but this may be a later discussion.</p>
<p>The patched D-Bus code is available at:</p>
<p>http://cgit.collabora.com/git/user/zimmerle/dbus-lsm.git/</p>
<p>And there is a <em>dummy</em> module at:</p>
<p>http://cgit.collabora.com/git/user/zimmerle/dbus-dummy-lsm.git/</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1352154e2de011e19cb7533764f065816581&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1352154e2de011e19cb7533764f065816581/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1352154e2de011e19cb7533764f065816581&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1352154e2de011e19cb7533764f065816581/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Sat, 24 Dec 2011 02:34:02 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1352154e2de011e19cb7533764f065816581</guid>
        </item>
        <item>
            <title>MeeGo: @SELinux on %packages.</title>
            <link>http://zimmerle.org/2010/06/meego-selinux-on-packages-2/</link>
            <description><![CDATA[
<p>I finally bought a netbook and since I am intending to use it with some work stuff (meaning data that requires confidentiality and integrity) I started to tuning my MeeGo to make it more protected before place my data <img src='http://zimmerle.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>To make it more protected I think that it is interesting to confine some, let&#8217;s say, &#8220;untrusted applications&#8221;. Which basically means more restrictive control over the processes. Usually I use GRSecurity for that but this time I am using SELinux. Since I am dealing with RPM and Fedora use to be a reference (at least for me) in the support to the SELinux, most of the specs files were copied from Fedora <img src='http://zimmerle.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  including the policy. The policy should be well refined to fit my needs, but it will be the subject of another post.</p>
<p>Supporting SELinux involves to support not only the kernel part of SELinux (kernel-selinux-netbook), but to support a huge number of packages as you can see bellow:</p>
<li>selinux-policy-targeted
<li>selinux-policy-doc
<li>bwidget
<li>selinux-policy
<li>setools-libs-python
<li>setools-libs
<li>libsepol
<li>kernel-selinux-netbook
<li>libselinux-ruby
<li>ustr-debug
<li>policycoreutils
<li>libprelude-python
<li>libprelude-perl
<li>policycoreutils-python
<li>pax-utils
<li>audispd-plugins
<li>libselinux
<li>perf
<li>policycoreutils-newrole
<li>libprelude-ruby
<li>checkpolicy
<li>ustr-debug-static
<li>audit-libs-python
<li>libsemanage-static
<li>setools
<li>libsemanage-python
<li>ustr
<li>libselinux-static
<li>audit-libs
<li>libsemanage
<li>setools-libs-tcl
<li>libsepol-static
<li>setools-console
<li>libselinux-python
<li>ustr-static
<li>libprelude
<li>libselinux-utils
<li>audit
<p>Part of these packages are not needed to make the SELinux work, but they are used by auxiliary applications which make SELinux easy to deal with. As you can see, these packages provide dependencies on Ruby, Perl and Python for example. I think we just need the python dependency. The big difference between my packages and Fedora&#8217;s packages is the fact that I refuse myself to port the Java SELinux utilities <img src='http://zimmerle.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>All the support to that packages (and also the devel version of them) are available at my MeeGo repo at:</p>
<p>http://meego.zimmerle.org/repo/security/packages/</p>
<p>To add SELinux to your image, you just need to add to your .ks file, the following repo:</p>
<pre>
repo   --name=security --baseurl=http://meego.zimmerle.org/repo/security/packages/
</pre>
<p>And you also need to place the SELinux package group in the package section:</p>
<pre>
@SELinux
kernel-selinux-notebook
</pre>
<p>An example of a kick start file can be downloaded here:  <a href="http://www.meego.zimmerle.org/repo/security/build/meego-netbook-chromium-ia32-security-1.0.20100614.1459.ks">http://meego.zimmerle.org/repo/security/build/meego-netbook-chromium-ia32-security-1.0.20100614.1459.ks</a></p>
<p>You can also download a SELinux MeeGo image at: <a href="http://meego.zimmerle.org/repo/security/build/">http://meego.zimmerle.org/repo/security/build/</a></p>
<p>Here goes a picture of my netbook running selinux kernel:</p>
<p><a href="http://www.flickr.com/photos/zimmerle/4702450804/"><img alt="" src="http://farm5.static.flickr.com/4009/4702450804_1080c8e351.jpg" class="aligncenter" width="500" height="281" /></a></p>
<p>The policy is not loaded automatically after the boot and the file system is not labeled yet. To load the policy just use load_policy tool.</p>
<span class="net_nemein_favourites">1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=4225cacc7ae611dfbb11add48e9fc28ac28a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/4225cacc7ae611dfbb11add48e9fc28ac28a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=4225cacc7ae611dfbb11add48e9fc28ac28a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/4225cacc7ae611dfbb11add48e9fc28ac28a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Mon, 14 Jun 2010 19:45:53 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-4225cacc7ae611dfbb11add48e9fc28ac28a</guid>
        </item>
        <item>
            <title>4×4 inclinometer</title>
            <link>http://zimmerle.org/2010/01/4x4-inclinometer-2/</link>
            <description><![CDATA[
<p>For those who are interested in knowing how steep is your N900, or the<br />
object that supports it. Meet the 4&#215;4 inclinometer.</p>
<p><object width="560" height="344" allowfullscreen="true" type="application/x-shockwave-flash" data="http://www.youtube.com/v/wrhcm3Yo-7k&fs=1&rel=0&hd=1&showinfo=0"><param name="movie" value="http://www.youtube.com/v/wrhcm3Yo-7k&fs=1&rel=0&hd=1&showinfo=0" /></object></p>
<p>I developed it to use in my car, hence the name 4&#215;4 inclinometer. Using this<br />
application I can know the slope of the obstacles or the ground below my<br />
car.</p>
<p>According to the manual of the car, it can be in an angle of heel of 45 degrees<br />
with no problem, something higher than this is at my own risk. When I read<br />
this information, just imagined the software for the N900:)</p>
<p>The current version depends on Qt 4.6 with the animation framework. The<br />
animation is used to rotate the images of the car, smoothing the movement. I<br />
am not an expert in gimp, so forgive me for the images poorly done. Next<br />
version I will put a simple support for themes.</p>
<p>The intallations files are already in extras-devel, so you just need to<br />
apt-get it.<br />
And the sources are available at:</p>
<p><a href="http://git.zimmerle.org/?p=inclinometer.git;a=summary">http://git.zimmerle.org/?p=inclinometer.git;a=summary</a></p>
<p>The car image and the application background are Trademark of Troller Veiculos<br />
Especias S/A, <a href="http://www.troller.com.br">http://www.troller.com.br</a></p>
<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=c4b042d8044e11dfa0976705e20d45e145e1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/c4b042d8044e11dfa0976705e20d45e145e1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=c4b042d8044e11dfa0976705e20d45e145e1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/c4b042d8044e11dfa0976705e20d45e145e1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Mon, 18 Jan 2010 12:12:14 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-c4b042d8044e11dfa0976705e20d45e145e1</guid>
        </item>
        <item>
            <title>iptables on extras devel</title>
            <link>http://zimmerle.org/2010/01/iptables-on-extras-devel-2/</link>
            <description><![CDATA[
<p>The iptables package is on maemo extras devel. There is no support for connection state on the device Kernel consequently the NAT is not working. I tried to compile the modules, but I found myself in trouble trying to load them at the device. If you want to flash a kernel with support for connection state there is one available at my personal repository (read: <a href="http://www.zimmerle.org/?p=83">mWall :: netfilter + ui for maemo</a> for more information). Antoher discussion about that modules can be found at: <a href="http://forums.internettablettalk.com/showthread.php?t=30916&#038;page=1">http://forums.internettablettalk.com/showthread.php?t=30916&#038;page=1</a></p>
<p><a href="http://maemo.org/uploads/2010/01/screenshot05.png"><img src="http://maemo.org/uploads/2010/01/screenshot05.png" alt="iptables on n900" title="iptables on n900"  width="510" class="aligncenter size-medium wp-image-107" /></a></p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ef9db7faf94f11de809ea5b339ae9c069c06&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ef9db7faf94f11de809ea5b339ae9c069c06/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ef9db7faf94f11de809ea5b339ae9c069c06&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ef9db7faf94f11de809ea5b339ae9c069c06/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Fri, 01 Jan 2010 22:13:32 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ef9db7faf94f11de809ea5b339ae9c069c06</guid>
        </item>
        <item>
            <title>tcpdump &amp;&amp; lipcap on extras-devel</title>
            <link>http://zimmerle.org/2010/01/tcpdump-lipcap-on-extra-devel/</link>
            <description><![CDATA[
<p>For those who are playing with maemo and network, now are available at maemo<br />
extras-devel {fremantle|diablo} the tcpdump package and its dependency (libpcap) working<br />
like a charm <img src='http://zimmerle.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><object width="560" height="344" allowfullscreen="true" type="application/x-shockwave-flash" data="http://www.youtube.com/v/GEQh6SbULLw&fs=1&rel=0&hd=1&showinfo=0"><param name="movie" value="http://www.youtube.com/v/GEQh6SbULLw&fs=1&rel=0&hd=1&showinfo=0" /></object></p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=758e8822f94f11de809ea5b339ae9c069c06&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/758e8822f94f11de809ea5b339ae9c069c06/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=758e8822f94f11de809ea5b339ae9c069c06&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/758e8822f94f11de809ea5b339ae9c069c06/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Fri, 01 Jan 2010 13:52:11 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-758e8822f94f11de809ea5b339ae9c069c06</guid>
        </item>
        <item>
            <title>mWall :: netfilter + ui for maemo</title>
            <link>http://zimmerle.org/2009/12/mwall-netfilter-ui-for-maemo-2/</link>
            <description><![CDATA[
<p>Something that certainly bothers me is the fact that i am always online independent of the network. I walk with my n900 in the pocket and sometimes I am using 3g, sometimes using wifi. I am jumping from trusted to untrusted wifi spots, and I have the strange feeling that maybe once (or more&#8230;) I will be part of a honeypot, malicious network or something like that.</p>
<p>As part of this type of network my device can be easily identified as an N900. (e.g. MAC address). Once the device is identified a person or a malicious software can start to guess passwords (rootme?) and can try to exploit softwares that are under development.</p>
<p>Avoiding been hacked on that situation I decided to write a small firewall UI for the n900 (netfilter/iptables back end), that allows me to block any incoming connection that is not authorized.</p>
<p><img class="aligncenter size-full wp-image-85" title="screenshot" src="http://maemo.org/uploads/2009/12/screenshot021.jpg" alt="screenshot" width="510" /></p>
<p>This is just a very first version of the firewall, a lot to be done yet. To install it on your device, check for mWall at my personal repository.</p>
<p>You can install my repository by clicking here: <a href="http://maemo.zimmerle.org/zimmerle.install">zimmerle&#8217;s repo</a>.</p>
<p>I also provide in my repository: the iptables package and a kernel with support to iptables state match. The iptables binary was marked with the suid bit, allowing its execution by users without super powers. But this should be fixed in the next release.</p>
<p>Let me advise you that the firewall rules are not permanent, I mean, you need to run the firewall in every boot. It is under development <img src='http://zimmerle.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The code is available at: <a href="http://git.zimmerle.org">http://git.zimmerle.org</a></p>
<span class="net_nemein_favourites">1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3cb04db0f94f11de809ea5b339ae9c069c06&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3cb04db0f94f11de809ea5b339ae9c069c06/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3cb04db0f94f11de809ea5b339ae9c069c06&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3cb04db0f94f11de809ea5b339ae9c069c06/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Felipe Zimmerle &lt;felipe@zimmerle.org&gt;</author>
            <category>feed:d81b00955f076640b4980a1c3646a625</category>
            <pubDate>Mon, 21 Dec 2009 03:16:47 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3cb04db0f94f11de809ea5b339ae9c069c06</guid>
        </item>
    </channel>
</rss>
