<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">

<channel>
	<title>Planet Larry</title>
	<link>http://larrythecow.org/</link>
	<language>en</language>
	<description>Planet Larry - http://larrythecow.org/</description>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/planet_larry" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="planet_larry" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
	<title>Clete Blackwell: Banning IPs on DD-WRT Based on Failed SSH Authentication</title>
	<guid isPermalink="false">http://clete2.com/?p=527</guid>
	<link>http://clete2.com/2014/11/banning-ips-on-dd-wrt-based-on-failed-ssh-authentication/</link>

	<description>&lt;p&gt;In response to literally thousands of failed SSH attempts from china, I have written a Python script to automate blocking IPs that fail authentication.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://clete2.com/wp-content/uploads/2014/11/Capture.png"&gt;&lt;img src="http://clete2.com/wp-content/uploads/2014/11/Capture.png" alt="Capture" width="1020" class="aligncenter size-full wp-image-528" height="283" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is a VERY dirty Python script. It reads syslog from my router, finds the IPs that have failed SSH authentication to my router, and adds a firewall rule to block them.&lt;/p&gt;
&lt;p&gt;1. nvram get rc_firewall&lt;br /&gt;
2. Scan syslog for bad authentication&lt;br /&gt;
3. Build list of IPs in syslog but not in rc_firewall&lt;span class="text_exposed_show"&gt;&lt;br /&gt;
4. scp file containing new rc_firewall&lt;br /&gt;
5. Apply new rc_firewall, commit, and reboot the router&lt;/span&gt;&lt;/p&gt;
&lt;div class="text_exposed_show"&gt;
&lt;p&gt;It’s nasty right now, but it works!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Clete2/DD-WRT-Ban-IP" target="_blank" rel="nofollow"&gt;https://github.com/Clete2/DD-WRT-Ban-IP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This all assumes a very specific setup:&lt;/p&gt;
&lt;p&gt;1. SSH is enabled&lt;/p&gt;
&lt;p&gt;2. syslog is logging to an external server&lt;/p&gt;
&lt;p&gt;3. The account you run this script on has public key authentication setup with the router&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 28 Nov 2014 15:28:44 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: No more DEPENDs for SELinux policy package dependencies</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1641</guid>
	<link>http://blog.siphos.be/2014/11/no-more-depends-for-selinux-policy-package-dependencies/</link>

	<description>&lt;p&gt;
I just finished updating 102 packages. The change? Removing the following from the ebuilds:
&lt;/p&gt;
&lt;pre&gt;DEPEND="selinux? ( sec-policy/selinux-${packagename} )"
&lt;/pre&gt;
&lt;p&gt;
In the past, we needed this construction in both DEPEND and RDEPEND. Recently however, the SELinux eclass got updated with some logic to relabel files after the policy package is deployed. As a result, the DEPEND variable no longer needs to refer to the SELinux policy package.
&lt;/p&gt;
&lt;p&gt;
This change also means that for those moving from a regular Gentoo installation to an SELinux installation will have much less packages to rebuild. In the past, getting &lt;code&gt;USE="selinux"&lt;/code&gt; (through the SELinux profiles) would rebuild all packages that have a DEPEND dependency to the SELinux policy package. No more – only packages that depend on the SELinux libraries (like &lt;code&gt;libselinux&lt;/code&gt;) or utilities rebuild. The rest will just pull in the proper policy package.&lt;/p&gt;</description>
	<pubDate>Sun, 02 Nov 2014 12:51:49 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Using multiple priorities with modules</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1639</guid>
	<link>http://blog.siphos.be/2014/10/using-multiple-priorities-with-modules/</link>

	<description>&lt;p&gt;
One of the new features of the 2.4 SELinux userspace is support for module priorities. The idea is that distributions and administrators can override a (pre)loaded SELinux policy module with another module without removing the previous module. This lower-version module will remain in the store, but will not be active until the higher-priority module is disabled or removed again.
&lt;/p&gt;
&lt;p&gt;
The “old” modules (pre-2.4) are loaded with priority 100. When policy modules with the 2.4 SELinux userspace series are loaded, they get loaded with priority 400. As a result, the following message occurs:
&lt;/p&gt;
&lt;pre&gt;~# semodule -i screen.pp
libsemanage.semanage_direct_install_info: Overriding screen module at lower priority 100 with module at priority 400
&lt;/pre&gt;
&lt;p&gt;
So unlike the previous situation, where the older module is substituted with the new one, we now have two “screen” modules loaded; the last one gets priority 400 and is active. To see all installed modules and priorities, use the &lt;code&gt;--list-modules&lt;/code&gt; option:
&lt;/p&gt;
&lt;pre&gt;~# semodule --list-modules=all | grep screen
100 screen     pp
400 screen     pp
&lt;/pre&gt;
&lt;p&gt;
Older versions of modules can be removed by specifying the priority:
&lt;/p&gt;
&lt;pre&gt;~# semodule -X 100 -r screen
&lt;/pre&gt;</description>
	<pubDate>Fri, 31 Oct 2014 16:24:09 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Migrating to SELinux userspace 2.4 (small warning for users)</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1637</guid>
	<link>http://blog.siphos.be/2014/10/migrating-to-selinux-userspace-2-4-small-warning-for-users/</link>

	<description>&lt;p&gt;
In a few moments, SELinux users which have the ~arch KEYWORDS set (either globally or for the SELinux utilities in particular) will notice that the SELinux userspace will upgrade to version 2.4 (release candidate 5 for now). This upgrade comes with a manual step that needs to be performed after upgrade. The information is mentioned as post-installation message of the &lt;code&gt;policycoreutils&lt;/code&gt; package, and basically sais that you need to execute:
&lt;/p&gt;
&lt;pre&gt;~# /usr/libexec/selinux/semanage_migrate_store
&lt;/pre&gt;
&lt;p&gt;
The reason is that the SELinux utilities expect the SELinux policy module store (and the semanage related files) to be in &lt;code&gt;/var/lib/selinux&lt;/code&gt; and no longer in &lt;code&gt;/etc/selinux&lt;/code&gt;. Note that this does not mean that the SELinux policy itself is moved outside of that location, nor is the basic configuration file (&lt;code&gt;/etc/selinux/config&lt;/code&gt;). It is what tools such as &lt;b&gt;semanage&lt;/b&gt; manage that is moved outside that location.
&lt;/p&gt;
&lt;p&gt;
I tried to automate the migration as part of the packages themselves, but this would require the &lt;code&gt;portage_t&lt;/code&gt; domain to be able to move, rebuild and load policies, which it can’t (and to be honest, shouldn’t). Instead of augmenting the policy or making updates to the migration script as delivered by the upstream project, we currently decided to have the migration done manually. It is a one-time migration anyway.
&lt;/p&gt;
&lt;p&gt;
If for some reason end users forget to do the migration, then that does not mean that the system breaks or becomes unusable. SELinux still works, SELinux aware applications still work; the only thing that will fail are updates on the SELinux configuration through tools like &lt;b&gt;semanage&lt;/b&gt; or &lt;b&gt;setsebool&lt;/b&gt; – the latter when you want to persist boolean changes.
&lt;/p&gt;
&lt;pre&gt;~# semanage fcontext -l
ValueError: SELinux policy is not managed or store cannot be accessed.
&lt;/pre&gt;
&lt;pre&gt;~# setsebool -P allow_ptrace on
Cannot set persistent booleans without managed policy.
&lt;/pre&gt;
&lt;p&gt;
If you get those errors or warnings, all that is left to do is to do the migration. Note in the following that there is a warning about ‘else’ blocks that are no longer supported: that’s okay, as far as I know (and it was mentioned on the upstream mailinglist as well as not something to worry about) it does not have any impact.
&lt;/p&gt;
&lt;pre&gt;~# /usr/libexec/selinux/semanage_migrate_store
Migrating from /etc/selinux/mcs/modules/active to /var/lib/selinux/mcs/active
Attempting to rebuild policy from /var/lib/selinux
sysnetwork: Warning: 'else' blocks in optional statements are unsupported in CIL. Dropping from output.
&lt;/pre&gt;
&lt;p&gt;
You can also add in &lt;code&gt;-c&lt;/code&gt; so that the old policy module store is cleaned up. You can also rerun the command multiple times:
&lt;/p&gt;
&lt;pre&gt;~# /usr/libexec/selinux/semanage_migrate_store -c
warning: Policy type mcs has already been migrated, but modules still exist in the old store. Skipping store.
Attempting to rebuild policy from /var/lib/selinux
&lt;/pre&gt;
&lt;p&gt;
You can manually clean up the old policy module store like so:
&lt;/p&gt;
&lt;pre&gt;~# rm -rf /etc/selinux/mcs/modules
&lt;/pre&gt;
&lt;p&gt;
So… don’t worry – the change is small and does not break stuff. And for those wondering about CIL I’ll talk about it in one of my next posts.&lt;/p&gt;</description>
	<pubDate>Thu, 30 Oct 2014 17:44:49 +0000</pubDate>
</item>
<item>
	<title>Jason Jones: Seek God Sooner</title>
	<guid isPermalink="false">http://www.ilovemyjournal.com/?action=view_entry&amp;eid=5239</guid>
	<link>http://www.ilovemyjournal.com/?action=view_entry&amp;eid=5239</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/jason_jones.png" alt="" align="right" style="float: right;"&gt;So, I thought I'd write something down that happened today.&lt;br /&gt;
&lt;br /&gt;
For those of you who know me, I'm a pretty laid-back, easy-going type of guy.&lt;br /&gt;
&lt;br /&gt;
My wife and I went to sleep quite late, mostly because we couldn't stop talking and laughing with one another (not an uncommon occurrence, unfortunately), and also unfortunately, we were woken up early by all of our fire alarms going off in unison.  There was no fire.  This also is not an uncommon occurrence (we've got to figure that one out).&lt;br /&gt;
&lt;br /&gt;
Anyway, I couldn't get back to sleep after that, and due to my sleepiness, I had, what turned out to be one of the most frustratingly rotten days of my life today.  My main studio and programming computer decided to have a myriad of uncommon issues, which due to my sleepiness, were uncommonly difficult for me to solve.  I also had planned on working extra hours today on my programming project, which couldn't happen due to the various computer problems.&lt;br /&gt;
&lt;br /&gt;
This lasted for about 5 hours.&lt;br /&gt;
&lt;br /&gt;
After dinner, I had a recording session with a client, and thankfully, that went very well.  After the recording session, it was about 9:15pm, and I still had hours of programming work to do.&lt;br /&gt;
&lt;br /&gt;
With a sigh, I sat down to start programming, and remembered that earlier this morning, after my morning prayer, I hadn't studied my scriptures as I did every morning.  So I decided to do that before programming tonight.&lt;br /&gt;
&lt;br /&gt;
I can't tell you how much that one decision changed my entire demeanor.  All the frustrations melted away as I felt the Spirit of God course into my heart  as I listened to the words of General Conference.&lt;br /&gt;
&lt;br /&gt;
Immediately after, I knelt down to thank God, and found myself being gently reminded that I had not done it earlier, and that if I had done it earlier, my day would have gone much, much better.&lt;br /&gt;
&lt;br /&gt;
It's now easier to concentrate, get focused, and I'm ready to get down and code for the next few hours.  Happily.&lt;br /&gt;
&lt;br /&gt;
I love this Gospel.  The simple truths can change lives.</description>
	<pubDate>Tue, 21 Oct 2014 22:20:09 +0000</pubDate>
</item>
<item>
	<title>Matija Šuklje: My very first commit to KDE</title>
	<guid isPermalink="false">tag:matija.suklje.name,2014-10-04:my-very-first-commit-to-kde</guid>
	<link>http://matija.suklje.name/my-very-first-commit-to-kde</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/matija.png" alt="" align="right" style="float: right;"&gt;&lt;h1 id="hello-world-planet"&gt;Hello &lt;del&gt;world&lt;/del&gt; &lt;ins&gt;Planet&lt;/ins&gt;!&lt;/h1&gt;
&lt;p&gt;My name is &lt;em&gt;Matija Šuklje&lt;/em&gt; &lt;sup id="fnref:pronounce"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:pronounce" class="footnote-ref" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;, but geeks call me &lt;em&gt;Hook&lt;/em&gt; &lt;sup id="fnref:nick"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:nick" class="footnote-ref" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;. I have been lurking around &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; and using it since its 2.x (or 1.x) times and in the many years mostly contributed by &lt;em&gt;submitting nasty bug reports&lt;/em&gt; &lt;sup id="fnref:boogs"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:boogs" class="footnote-ref" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;, suggesting &lt;em&gt;crazy ideas&lt;/em&gt; and here and there helping &lt;em&gt;translate &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; software&lt;/em&gt; into my mother tongue – Slovenian.&lt;/p&gt;
&lt;p&gt;As a (very soon to be) lawyer with very limited coding skills, that is as much as I could have done for the community so far.&lt;/p&gt;
&lt;p&gt;But in the past years, I got lucky and got &lt;em&gt;employed by the &lt;a href="https://fsfe.org"&gt;&lt;abbr title="Free Software Foundation Europe"&gt;FSFE&lt;/abbr&gt;&lt;/a&gt; to lead the &lt;a href="http://fsfe.org/activities/ftf/"&gt;&lt;abbr title="Free Software Foundation Europe"&gt;FSFE&lt;/abbr&gt; Legal team&lt;/a&gt;&lt;/em&gt;. Since the &lt;a href="https://ev.kde.org/rules/fla.php"&gt;&lt;abbr title="Fiduciary License Agreement"&gt;FLA&lt;/abbr&gt; that &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; e.V. uses&lt;/a&gt; was made in tight cooperation with &lt;abbr title="Free Software Foundation Europe"&gt;FSFE&lt;/abbr&gt;, I finally &lt;del&gt;had an excuse to go to Akademy&lt;/del&gt; &lt;ins&gt;found a way to help out the &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; community with my skills&lt;/ins&gt; and hold a lightning talk on how the &lt;abbr title="Fiduciary License Agreement"&gt;FLA&lt;/abbr&gt; works and why &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; gearheads should sign it (&lt;a href="http://files.kde.org/akademy/2013/videos/Lightning_Talks.webm"&gt;video&lt;/a&gt;).&lt;/p&gt;
&lt;h1 id="my-very-first-commit-to-kde"&gt;My very first commit to &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; ☺&lt;/h1&gt;
&lt;p&gt;After helping with a recent local &lt;em&gt;&lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; translation sprint&lt;/em&gt;, &lt;a href="http://andrej.mernik.eu/"&gt;Andrej Mernik&lt;/a&gt; suggested that I should ask for direct commit access to the &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; localisations &lt;abbr title="Apache Subversion"&gt;SVN&lt;/abbr&gt;, so I do not bug him or Andrej Vernekar to commit translations for me.&lt;/p&gt;
&lt;p&gt;So I did, and Andrej Vernekar later supported my application and shortly thereafter Víctor Blázquez welcomed me with a nice new developer package. It is great to see the &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; community so welcoming to newcomers! ☺&lt;/p&gt;
&lt;p&gt;Excited by my new powers, as soon as time let me, I fired up the trusty &lt;sup id="fnref:lokalize"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:lokalize" class="footnote-ref" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt; &lt;a href="https://userbase.kde.org/Lokalize"&gt;Lokalize&lt;/a&gt; and started translating some of the packages that have been in my ToDo list for a long time now.&lt;/p&gt;
&lt;p&gt;Just a few hiccups with my OpenPGP card setup, and the &lt;a href="http://websvn.kde.org/?view=revision&amp;amp;revision=1397806"&gt;first ever commit&lt;/a&gt; to &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; repositories, signed with my name, was on-line. &lt;strong&gt;Ah, what a thrill!&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id="signed-the-fla"&gt;Sign(ed) the &lt;abbr title="Fiduciary License Agreement"&gt;FLA&lt;/abbr&gt;&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Haha!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;you might think,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Now we have you! Have you signed the &lt;abbr title="Fiduciary License Agreement"&gt;FLA&lt;/abbr&gt; that you tell us all is such a great idea?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;… and you would have all the reasons to ask.&lt;/p&gt;
&lt;p&gt;And the answer is: &lt;strong&gt;Yes, of course&lt;/strong&gt;, I contacted &lt;a href="https://ev.kde.org"&gt;&lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt; e.V.&lt;/a&gt;, where &lt;a href="http://tsdgeos.blogspot.com/"&gt;Albert Astals Cid&lt;/a&gt; answered me, I printed the copies, signed and sent them just a week after my first commit!&lt;/p&gt;
&lt;p&gt;While I was filling it out, I did realise that the document needs to be a bit &lt;em&gt;easier to read and understand&lt;/em&gt;. So I took notes of that and in the relatively near future am going to try to come up with a few suggestions how to &lt;strong&gt;make the &lt;abbr title="Fiduciary License Agreement"&gt;FLA&lt;/abbr&gt; even better&lt;/strong&gt; &lt;sup id="fnref:disclaimer"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:disclaimer" class="footnote-ref" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;. This also means, I would very much welcome any feedback from the wider community on the text.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;hook out → I wish I had time to go to Akademy 2014 as well …see you next year!&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:pronounce"&gt;
&lt;p&gt;I know it not easy to pronounce. Matija is the Slovenian equivalent of Matthias (and is pronounced the same, just drop the S). As for Šuklje, it sounds a bit like “shoe kle” in “shoe kleptomaniac”, but has nothing to do with it. &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:pronounce" rev="footnote" class="footnote-backref" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:nick"&gt;
&lt;p&gt;On FreeNode I go under the nickname &lt;em&gt;silver_hook&lt;/em&gt; and for other ways to get in touch, feel free to check my &lt;a href="http://matija.suklje.name/contact"&gt;contacts page&lt;/a&gt;. &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:nick" rev="footnote" class="footnote-backref" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:boogs"&gt;
&lt;p&gt;I have a knack for finding bugs – in digital as well as real life. One of the funnier occasions was at Akademy 2013, where I managed to find and coherently replicate a bug in one of the elevators in the place where most of participants were staying. Together with &lt;a href="http://blog.dmaggot.org/"&gt;David E. “DMaggot” Narváez&lt;/a&gt; we also found a workaround and submitted the bug to the local person in charge. &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:boogs" rev="footnote" class="footnote-backref" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:lokalize"&gt;
&lt;p&gt;&lt;a href="https://userbase.kde.org/Lokalize"&gt;Lokalize&lt;/a&gt; might slowly be in need of a few visual improvements and better documentation, but it still is an awesome tool for localisation. &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:lokalize" rev="footnote" class="footnote-backref" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:disclaimer"&gt;
&lt;p&gt;Full disclaimer: The &lt;abbr title="Fiduciary License Agreement"&gt;FLA&lt;/abbr&gt; is part of my work for &lt;abbr title="Free Software Foundation Europe"&gt;FSFE&lt;/abbr&gt; as well as the topic of my &lt;abbr title="Master of Laws (lat.: Legis Magister)"&gt;LLM&lt;/abbr&gt; thesis. &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:disclaimer" rev="footnote" class="footnote-backref" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
	<pubDate>Sat, 04 Oct 2014 11:20:00 +0000</pubDate>
</item>
<item>
	<title>Ciaran McCreesh: Paludis 2.2.0 Released</title>
	<guid isPermalink="false">http://ciaranm.wordpress.com/?p=1196</guid>
	<link>http://ciaranm.wordpress.com/2014/10/01/paludis-2-2-0-released/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/ciaranm.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;&lt;a href="http://paludis.exherbo.org/"&gt;Paludis&lt;/a&gt; 2.2.0 has been released:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bug fixes.&lt;/li&gt;
&lt;li&gt;Compilation fixes for Clang.&lt;/li&gt;
&lt;li&gt;Added ‘cave resolve –chroot-path’.&lt;/li&gt;
&lt;li&gt;Removed the “breaks Portage” feature.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;Filed under: &lt;a href="http://ciaranm.wordpress.com/category/paludis/paludis-releases/"&gt;paludis releases&lt;/a&gt; Tagged: &lt;a href="http://ciaranm.wordpress.com/tag/paludis/"&gt;paludis&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gocomments/ciaranm.wordpress.com/1196/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/ciaranm.wordpress.com/1196/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://pixel.wp.com/b.gif?host=ciaranm.wordpress.com&amp;amp;blog=3715284&amp;amp;post=1196&amp;amp;subd=ciaranm&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Wed, 01 Oct 2014 18:05:51 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: After SELinux System Administration, now the SELinux Cookbook</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1630</guid>
	<link>http://blog.siphos.be/2014/09/after-selinux-system-administration-now-the-selinux-cookbook/</link>

	<description>&lt;p&gt;
Almost an entire year ago (just a few days apart) I &lt;a href="http://blog.siphos.be/2013/09/it-has-finally-arrived-selinux-system-administration/"&gt;announced&lt;/a&gt; my first published book, called &lt;a href="https://www.packtpub.com/networking-and-servers/selinux-system-administration"&gt;SELinux System Administration&lt;/a&gt;. The book covered SELinux administration commands and focuses on Linux administrators that need to interact with SELinux-enabled systems.
&lt;/p&gt;
&lt;p&gt;
An important part of SELinux was only covered very briefly in the book: policy development. So in the spring this year, Packt approached me and asked if I was interested in authoring a second book for them, called &lt;a href="https://www.packtpub.com/networking-and-servers/selinux-cookbook"&gt;SELinux Cookbook&lt;/a&gt;. This book focuses on policy development and tuning of SELinux to fit the needs of the administrator or engineer, and as such is a logical follow-up to the previous book. Of course, given my affinity with the wonderful Gentoo Linux distribution, it is mentioned in the book (and even the reference platform) even though the book itself is checked against Red Hat Enterprise Linux and Fedora as well, ensuring that every recipe in the book works on all distributions. Luckily (or perhaps not surprisingly) the approach is quite distribution-agnostic.
&lt;/p&gt;
&lt;p&gt;
Today, I got word that the &lt;a href="https://www.packtpub.com/networking-and-servers/selinux-cookbook"&gt;SELinux Cookbook&lt;/a&gt; is now officially published. The book uses a recipe-based approach to SELinux development and tuning, so it is quickly hands-on. It gives my view on SELinux policy development while keeping the methods and processes aligned with the upstream policy development project (the &lt;a href="https://github.com/TresysTechnology/refpolicy/wiki"&gt;reference policy&lt;/a&gt;).
&lt;/p&gt;
&lt;p&gt;
It’s been a pleasure (but also somewhat a pain, as this is done in free time, which is scarce already) to author the book. Unlike the first book, where I struggled a bit to keep the page count to the requested amount, this book was not limited. Also, I think the various stages of the book development contributed well to the final result (something that I overlooked a bit in the first time, so I re-re-reviewed changes over and over again this time – after the first editorial reviews, then after the content reviews, then after the language reviews, then after the code reviews).
&lt;/p&gt;
&lt;p&gt;
You’ll see me blog a bit more about the book later (as the marketing phase is now starting) but for me, this is a major milestone which allowed me to write down more of my SELinux knowledge and experience. I hope it is as good a read for you as I hope it to be.&lt;/p&gt;</description>
	<pubDate>Wed, 24 Sep 2014 18:10:46 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Showing return code in PS1</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1621</guid>
	<link>http://blog.siphos.be/2014/08/showing-return-code-in-ps1/</link>

	<description>&lt;p&gt;
If you do daily management on Unix/Linux systems, then checking the return code of a command is something you’ll do often. If you do SELinux development, you might not even notice that a command has failed without checking its return code, as policies might prevent the application from showing any output.
&lt;/p&gt;
&lt;p&gt;
To make sure I don’t miss out on application failures, I wanted to add the return code of the last executed command to my PS1 (i.e. the prompt displayed on my terminal).&lt;br /&gt;
I wasn’t able to add it to the prompt easily – in fact, I had to use a bash feature called the &lt;em&gt;prompt command&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
When the &lt;code&gt;PROMPT_COMMMAND&lt;/code&gt; variable is defined, then bash will execute its content (which I declare as a function) to generate the prompt. Inside the function, I obtain the return code of the last command (&lt;code&gt;$?&lt;/code&gt;) and then add it to the PS1 variable. This results in the following code snippet inside my &lt;code&gt;~/.bashrc&lt;/code&gt;:
&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="code"&gt;&lt;pre style="font-family: monospace;" class="bash"&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;export&lt;/span&gt; &lt;span style="color: #007800;"&gt;PROMPT_COMMAND&lt;/span&gt;=__gen_ps1
 
&lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __gen_ps1&lt;span style="color: #7a0874; font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;)&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;{&lt;/span&gt;
  &lt;span style="color: #7a0874; font-weight: bold;"&gt;local&lt;/span&gt; &lt;span style="color: #007800;"&gt;EXITCODE&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"$?"&lt;/span&gt;;
  &lt;span style="color: #666666; font-style: italic;"&gt;# Enable colors for ls, etc.  Prefer ~/.dir_colors #64489&lt;/span&gt;
  &lt;span style="color: #000000; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;type&lt;/span&gt; &lt;span style="color: #660033;"&gt;-P&lt;/span&gt; &lt;span style="color: #c20cb9; font-weight: bold;"&gt;dircolors&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;&amp;gt;/&lt;/span&gt;dev&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;null ; &lt;span style="color: #000000; font-weight: bold;"&gt;then&lt;/span&gt;
    &lt;span style="color: #000000; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;[&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;[&lt;/span&gt; &lt;span style="color: #660033;"&gt;-f&lt;/span&gt; ~&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;.dir_colors &lt;span style="color: #7a0874; font-weight: bold;"&gt;]&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;]&lt;/span&gt; ; &lt;span style="color: #000000; font-weight: bold;"&gt;then&lt;/span&gt;
      &lt;span style="color: #7a0874; font-weight: bold;"&gt;eval&lt;/span&gt; $&lt;span style="color: #7a0874; font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: #c20cb9; font-weight: bold;"&gt;dircolors&lt;/span&gt; &lt;span style="color: #660033;"&gt;-b&lt;/span&gt; ~&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;.dir_colors&lt;span style="color: #7a0874; font-weight: bold;"&gt;)&lt;/span&gt;
    &lt;span style="color: #000000; font-weight: bold;"&gt;elif&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;[&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;[&lt;/span&gt; &lt;span style="color: #660033;"&gt;-f&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;etc&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;DIR_COLORS &lt;span style="color: #7a0874; font-weight: bold;"&gt;]&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;]&lt;/span&gt; ; &lt;span style="color: #000000; font-weight: bold;"&gt;then&lt;/span&gt;
      &lt;span style="color: #7a0874; font-weight: bold;"&gt;eval&lt;/span&gt; $&lt;span style="color: #7a0874; font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: #c20cb9; font-weight: bold;"&gt;dircolors&lt;/span&gt; &lt;span style="color: #660033;"&gt;-b&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;etc&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;DIR_COLORS&lt;span style="color: #7a0874; font-weight: bold;"&gt;)&lt;/span&gt;
    &lt;span style="color: #000000; font-weight: bold;"&gt;fi&lt;/span&gt;
  &lt;span style="color: #000000; font-weight: bold;"&gt;fi&lt;/span&gt;
 
  &lt;span style="color: #000000; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;[&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;[&lt;/span&gt; &lt;span style="color: #800000;"&gt;${EUID}&lt;/span&gt; == &lt;span style="color: #000000;"&gt;0&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;]&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;]&lt;/span&gt; ; &lt;span style="color: #000000; font-weight: bold;"&gt;then&lt;/span&gt;
    &lt;span style="color: #007800;"&gt;PS1&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"RC=&lt;span style="color: #007800;"&gt;${EXITCODE}&lt;/span&gt; \[\033[01;31m\]\h\[\033[01;34m\] \W &lt;span style="color: #000099; font-weight: bold;"&gt;\$&lt;/span&gt;\[\033[00m\] "&lt;/span&gt;
  &lt;span style="color: #000000; font-weight: bold;"&gt;else&lt;/span&gt;
    &lt;span style="color: #007800;"&gt;PS1&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"RC=&lt;span style="color: #007800;"&gt;${EXITCODE}&lt;/span&gt; \[\033[01;32m\]\u@\h\[\033[01;34m\] \w &lt;span style="color: #000099; font-weight: bold;"&gt;\$&lt;/span&gt;\[\033[00m\] "&lt;/span&gt;
  &lt;span style="color: #000000; font-weight: bold;"&gt;fi&lt;/span&gt;
&lt;span style="color: #7a0874; font-weight: bold;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;
With it, my prompt now nicely shows the return code of the last executed command. Neat.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Edit:&lt;/em&gt; Sean Patrick Santos showed me my utter failure in that this can be accomplished with the &lt;code&gt;PS1&lt;/code&gt; variable immediately, without using the overhead of the &lt;code&gt;PROMPT_COMMAND&lt;/code&gt;. Just make sure to properly escape the &lt;code&gt;$&lt;/code&gt; sign which I of course forgot in my late-night experiments :-(.&lt;/p&gt;</description>
	<pubDate>Sat, 30 Aug 2014 23:14:12 +0000</pubDate>
</item>
<item>
	<title>Dan Ballard: OpenSSH + 2 and 3 factor auth</title>
	<guid isPermalink="false">http://www.mindstab.net/?p=1235</guid>
	<link>http://www.mindstab.net/openssh-2-3-factor-auth/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/dan_ballard.png" alt="" align="right" style="float: right;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-two-factor-authentication"&gt;How To Protect SSH With Two-Factor Authentication&lt;/a&gt;: Setup google authentication + password login via openssh&lt;/li&gt;
&lt;li&gt;&lt;a href="https://turquoiseliquorice.wordpress.com/2013/10/05/three-factor-authentication-with-openssh-google-authenticator-and-password/"&gt;Three-factor authentication with OpenSSH, Google Authenticator and Password&lt;/a&gt;: Two factor authentication + pubkey authentication for openssh&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Sat, 30 Aug 2014 16:01:03 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Gentoo Hardened august meeting</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1617</guid>
	<link>http://blog.siphos.be/2014/08/gentoo-hardened-august-meeting/</link>

	<description>&lt;p&gt;
Another month has passed, so we had another online meeting to discuss the progress within Gentoo Hardened.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Lead elections&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The yearly lead elections within Gentoo Hardened were up again. Zorry (Magnus Granberg) was re-elected as project lead so doesn’t need to update his LinkedIn profile yet ;-)
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Toolchain&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
blueness (Anthony G. Basile) has been working on the uclibc stages for some time. Due to the configurable nature of these setups, many &lt;code&gt;/etc/portage&lt;/code&gt; files were provided as part of the stages, which &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=519686"&gt;shouldn’t&lt;/a&gt; happen. Work is on the way to update this accordingly.
&lt;/p&gt;
&lt;p&gt;
For the musl setup, blueness is also rebuilding the stages to use a symbolic link to the dynamic linker (&lt;code&gt;/lib/ld-linux-arch.so&lt;/code&gt;) as recommended by the musl maintainers.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Kernel and grsecurity with PaX&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
A &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=520198"&gt;bug&lt;/a&gt; has been submitted which shows that large binary files (in the bug, a chrome binary with debug information is shown to be more than 2 Gb in size) cannot be pax-mark’ed, with &lt;code&gt;paxctl&lt;/code&gt; informing the user that the file is too big. The problem is when the PAX marks are in ELF (as the application mmaps the binary) – users of extended attributes based PaX markings do not have this problem. blueness is working on making things a bit more intelligent, and to fix this.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;SELinux&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
I have been making a few changes to the SELinux setup:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The live ebuilds (those with version 9999 which use the repository policy rather than snapshots of the policies) are now being used as “master” in case of releases: the ebuilds can just be copied to the right version to support the releases. The release script inside the repository is adjusted to reflect this as well.
&lt;/li&gt;
&lt;li&gt;
The SELinux eclass now supports two variables, &lt;code&gt;SELINUX_GIT_REPO&lt;/code&gt; and &lt;code&gt;SELINUX_GIT_BRANCH&lt;/code&gt;, which allows users to use their own repository, and developers to work in specific branches together. By setting the right value in the users’ &lt;code&gt;make.conf&lt;/code&gt; switching policy repositories or branches is now a breeze.
&lt;/li&gt;
&lt;li&gt;
Another change in the SELinux eclass is that, after the installation of SELinux policies, we will check the reverse dependencies of the policy package and relabel the files of these packages. This allows us to only have &lt;code&gt;RDEPEND&lt;/code&gt; dependencies towards the SELinux policy packages (if the application itself does not otherwise link with &lt;em&gt;libselinux&lt;/em&gt;), making the dependency tree within the package manager more correct. We still need to update these packages to drop the &lt;code&gt;DEPEND&lt;/code&gt; dependency, which is something we will focus on in the next few months.
&lt;/li&gt;
&lt;li&gt;
In order to support improved cooperation between SELinux developers in the Gentoo Hardened team – perfinion (Jason Zaman) is in the queue for becoming a new developer in our mids – a &lt;a href="https://wiki.gentoo.org/wiki/Project:SELinux/CodingStyle"&gt;coding style for SELinux policies&lt;/a&gt; is being drafted up. This is of course based on the coding style of the reference policy, but with some Gentoo specific improvements and more clarifications.
&lt;/li&gt;
&lt;li&gt;
perfinion has been working on improving the SELinux support in OpenRC (release 0.13 and higher), making some of the additions that we had to make in the past – such as the &lt;code&gt;selinux_gentoo&lt;/code&gt; init script – obsolete.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The meeting also discussed a few bugs in more detail, but if you really want to know, just hang on and wait for the IRC logs ;-) Other usual sections (system integrity and profiles) did not have any notable topics to describe.&lt;/p&gt;</description>
	<pubDate>Fri, 29 Aug 2014 14:43:22 +0000</pubDate>
</item>
<item>
	<title>Michael Mair-Keimberger: flashing android mobiles on gentoo</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-5831985938022632504</guid>
	<link>http://michaelmk.blogspot.com/2014/08/flashing-android-mobiles-on-gentoo.html</link>

	<description>This is just a quick tip in case you ever want to flash a mobile phone on gentoo.&lt;br /&gt;&lt;br /&gt;If you look at the cyanogenmod howto [1] (in my case for a nexus s) you'll see that you need the tools "&lt;b&gt;adb&lt;/b&gt;" and "&lt;b&gt;fastboot&lt;/b&gt;" which usually comes with the android sdk. Naturally the howto suggests you to install this sdk, which isn't even available on gentoo.&lt;br /&gt;However if you don't want java and all it's other dependencies on your computer (which is required for the sdk) there is package which installs only those two needed tools. It's called &lt;b&gt;dev-util/android-tools&lt;/b&gt; - and it's in portage :)&lt;br /&gt;&lt;br /&gt;This is all you need: &lt;br /&gt;&lt;div style="background: #202020; border-width: .1em .1em .1em .8em; border: dashed gray; overflow: auto; width: auto;"&gt;&lt;pre style="line-height: 125%; margin: 0;"&gt;* dev-util/android-tools&lt;br /&gt;     Available versions:  (~)0_p20130123&lt;br /&gt;     Homepage:            https://android.googlesource.com/platform/system/core.git/&lt;br /&gt;     Description:         Android platform tools (adb and fastboot)&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;[1] &lt;a href="http://wiki.cyanogenmod.org/w/Install_CM_for_crespo"&gt;http://wiki.cyanogenmod.org/w/Install_CM_for_crespo&lt;/a&gt;</description>
	<pubDate>Mon, 25 Aug 2014 10:04:58 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Sven Vermeulen: Switching to new laptop</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1611</guid>
	<link>http://blog.siphos.be/2014/08/switching-to-new-laptop/</link>

	<description>&lt;p&gt;
I’m slowly but surely starting to switch to a new laptop. The old one hasn’t completely died (yet) but given that I had to force its CPU frequency at the lowest Hz or the CPU would burn (and the system suddenly shut down due to heat issues), and that the connection between the battery and laptop fails (so even new battery didn’t help out) so I couldn’t use it as a laptop… well, let’s say the new laptop is welcome ;-)
&lt;/p&gt;
&lt;p&gt;
Building Gentoo isn’t an issue (having only a few hours per day to work on it is) and while I’m at it, I’m also experimenting with EFI (currently still without secure boot, but with EFI) and such. Considering that the Gentoo Handbook needs quite a few updates (and I’m thinking to do more than just small updates) knowing how EFI works is a Good Thing ™.
&lt;/p&gt;
&lt;p&gt;
For those interested – the &lt;a href="https://wiki.gentoo.org/wiki/EFI_stub_kernel"&gt;EFI stub kernel&lt;/a&gt; instructions in the article on the wiki, and also in Greg’s wonderful post on &lt;a href="http://kroah.com/log/blog/2013/09/02/booting-a-self-signed-linux-kernel/"&gt;booting a self-signed Linux kernel&lt;/a&gt; (which I will do later) work pretty well. I didn’t try out the “Adding more kernels” section in it, as I need to be able to (sometimes) edit the boot options (which isn’t easy to accomplish with EFI stub-supporting kernels afaics). So I installed &lt;a href="https://wiki.gentoo.org/wiki/Gummiboot"&gt;Gummiboot&lt;/a&gt; (and created a wiki article on it).
&lt;/p&gt;
&lt;p&gt;
Lots of things still planned, so little time. But at least building chromium is now a bit faster – instead of 5 hours and 16 minutes, I can now enjoy the newer versions after little less than 40 minutes.&lt;/p&gt;</description>
	<pubDate>Tue, 19 Aug 2014 20:11:24 +0000</pubDate>
</item>
<item>
	<title>Michael Mair-Keimberger: jumping directly into found results in menuconfig</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-3891659105313808583</guid>
	<link>http://michaelmk.blogspot.com/2014/08/jumping-directly-into-found-results-in.html</link>

	<description>For those who still use menuconfig for configuring their kernel - there's a neat trick which let you jump directly into a found result.&lt;br /&gt;&lt;br /&gt;For example you would like to add a new driver. Usually you go into menuconfig and start searching for it with the "&lt;b&gt;/&lt;/b&gt;" shortcut. What you probably not know, after you found your module - like you searched for the "&lt;b&gt;NetXen Multi port Gigabit Ehernet NIC&lt;/b&gt;" with just searching for "&lt;b&gt;xen&lt;/b&gt;" - you can go directly to the particular config via it's number shortcut:&lt;br /&gt;&lt;table cellpadding="0" style="float: left; margin-right: 1em; text-align: left;" cellspacing="0" class="tr-caption-container"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;" href="http://3.bp.blogspot.com/-FNcYioZparw/U-eXKP2mn7I/AAAAAAAAEl4/jKzmIhctV90/s1600/08.png"&gt;&lt;img width="640" src="http://3.bp.blogspot.com/-FNcYioZparw/U-eXKP2mn7I/AAAAAAAAEl4/jKzmIhctV90/s1600/08.png" border="0" height="172" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;" class="tr-caption"&gt;Search result for "xen"&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice this line:&lt;br /&gt;&lt;a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;" href="http://3.bp.blogspot.com/-QxTqGEwvVSs/U-efEnETVzI/AAAAAAAAEmI/oJG40gMUe5U/s1600/08_1.png"&gt;&lt;img width="640" src="http://3.bp.blogspot.com/-QxTqGEwvVSs/U-efEnETVzI/AAAAAAAAEmI/oJG40gMUe5U/s1600/08_1.png" border="0" height="14" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The "&lt;b&gt;(5)&lt;/b&gt;" is the shortcut. Just press the number 5 on your keyboard and you'll jump directly into the QLogic devices config.&lt;br /&gt;For every found entry there is a number shortcut which let you directly jump into the given config. If you go back with &lt;b&gt;esc-esc&lt;/b&gt; &amp;lt;esc&amp;gt;&amp;lt;esc&amp;gt;you also go back to the search result.&amp;lt;/esc&amp;gt;&amp;lt;/esc&amp;gt;&lt;br /&gt;&lt;br /&gt;I think not many people know this trick and i hope someone can use it for further kernel builds ;)</description>
	<pubDate>Sun, 10 Aug 2014 16:36:01 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Sven Vermeulen: Some changes under the hood</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1609</guid>
	<link>http://blog.siphos.be/2014/08/some-changes-under-the-hood/</link>

	<description>&lt;p&gt;
In between conferences, technical writing jobs and traveling, we did a few changes under the hood for SELinux in Gentoo.
&lt;/p&gt;
&lt;p&gt;
First of all, new policies are bumped and also stabilized (2.20130411-r3 is now stable, 2.20130411-r5 is ~arch). These have a few updates (mergers from upstream), and r5 also has preliminary support for &lt;a href="http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html"&gt;tmpfiles&lt;/a&gt; (at least the OpenRC implementation of it), which is made part of the &lt;a href="http://packages.gentoo.org/package/sec-policy/selinux-base-policy"&gt;selinux-base-policy&lt;/a&gt; package.
&lt;/p&gt;
&lt;p&gt;
The ebuilds to support new policy releases now are relatively simple copies of the live ebuilds (which always contain the latest policies) so that bumping (either by me or other developers) is easy enough. There’s also a release script in our policy repository which tags the right git commit (the point at which the release is made), creates the necessary patches, uploads them, etc.
&lt;/p&gt;
&lt;p&gt;
One of the changes made is to “drop” the &lt;code&gt;BASEPOL&lt;/code&gt; variable. In the past, &lt;code&gt;BASEPOL&lt;/code&gt; was a variable inside the ebuilds that pointed to the right patchset (and base policy) as we initially supported policy modules of different base releases. However, that was a mistake and we quickly moved to bumping all policies with every releaes, but kept the &lt;code&gt;BASEPOL&lt;/code&gt; variable in it. Now, &lt;code&gt;BASEPOL&lt;/code&gt; is “just” the &lt;code&gt;${PVR}&lt;/code&gt; value of the ebuild so no longer needs to be provided. In the future, I’ll probably remove &lt;code&gt;BASEPOL&lt;/code&gt; from the internal eclass and the &lt;code&gt;selinux-base*&lt;/code&gt; packages as well.
&lt;/p&gt;
&lt;p&gt;
A more important change to the eclass is support for the &lt;code&gt;SELINUX_GIT_REPO&lt;/code&gt; and &lt;code&gt;SELINUX_GIT_BRANCH&lt;/code&gt; variables (for live ebuilds, i.e. those with the 9999 version). If set, then they pull from the mentioned repository (and branch) instead of the default &lt;a href="http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-refpolicy.git;a=summary"&gt;hardened-refpolicy.git&lt;/a&gt; repository. This allows for developers to do some testing on a different branch easily, or for other users to use their own policy repository while still enjoying the SELinux integration support in Gentoo through the &lt;code&gt;sec-policy/*&lt;/code&gt; packages.
&lt;/p&gt;
&lt;p&gt;
Finally, I wrote up a first attempt at our &lt;a href="https://wiki.gentoo.org/wiki/Project:SELinux/CodingStyle"&gt;coding style&lt;/a&gt;, heavily based on the coding style from the reference policy of course (as our policy is still following this upstream project). This should allow the team to work better together and to decide on namings autonomously (instead of hours of discussing and settling for something as silly as an interface or boolean name ;-)&lt;/p&gt;</description>
	<pubDate>Sat, 09 Aug 2014 19:45:22 +0000</pubDate>
</item>
<item>
	<title>Matija Šuklje: The Jamendo experiment – “week” 1</title>
	<guid isPermalink="false">tag:matija.suklje.name,2009-05-01:the-jamendo-experiment-week-1</guid>
	<link>http://matija.suklje.name/the-jamendo-experiment-week-1</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/matija.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;As forecast in a &lt;a href="http://matija.suklje.name/the-jamendo-experiment"&gt;previous blog post&lt;/a&gt;, this is the &lt;strong&gt;first "weekly" report from my Jamendo experiment&lt;/strong&gt;. In the first part I will talk a bit about the player that I use (Amarok), after that will be a short report on where I get my music fix now and how it fares and in the end I will introduce some artists and albums that I found on &lt;a href="http://www.jamendo.com"&gt;Jamendo&lt;/a&gt; and like.&lt;/p&gt;
&lt;p&gt;Amarok 2.0.2 sadly has a &lt;a href="https://bugs.kde.org/show_bug.cgi?id=178696"&gt;bug that makes it lack some Jamendo albums&lt;/a&gt;. This makes searching and playing Jamendo albums directly from Amarok a bit less then perfect and forces me to still use Firefox (and Adobe Flash) to browse music on Jamendo. Otherwise Amarok with its version 2.x has become an amazing application or even platform, if you will, not only for playing and organising, but also for discovering new music. You can even mix in the same playlist your local collection with tracks from web services and even streams.&lt;/p&gt;
&lt;p&gt;Most of the music I got directly from &lt;a href="http://www.jamendo.com"&gt;&lt;strong&gt;Jamendo&lt;/strong&gt;&lt;/a&gt;, a bit less I listened online from &lt;a href="http://www.magnatune.com"&gt;&lt;strong&gt;Magnatune&lt;/strong&gt;&lt;/a&gt; and the rest was streams from &lt;a href="http://last.fm"&gt;&lt;strong&gt;Last.FM&lt;/strong&gt;&lt;/a&gt; (mostly from my recommendations). As far as music on Jamendo and Magnatune – both offer almost &lt;em&gt;exclusively &lt;abbr title="Creative Commons"&gt;CC&lt;/abbr&gt; licensed music&lt;/em&gt; – I honestly found it equally as good, if not better, then what conservative record labels and stations offer. This could in part be because of my music taste, but even so, I am rather picky with music. As far as the quality of the sound is concerned, being able to download music in &lt;em&gt;Ogg/Vorbis (quality 7)&lt;/em&gt; made me smile and my ears as well. If only I had a better set of headphones!&lt;/p&gt;
&lt;p&gt;Now here's the list of artists that I absolutely must share:&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/artist/7977?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/jimmythehideouspenguin"&gt;&lt;strong&gt;Jimmy the Hideous Penguin&lt;/strong&gt;&lt;/a&gt; – Jimmy Penguin is by far my absolute favorite artist right now! His experimental scratching style over piano music is just godly to my ears – the disrhythmia that his scratching brings over the standard hip hop beats, piano and/or electronica is just genius! The first album that made me fall in love was Jimmy &lt;a href="http://www.jamendo.com/en/album/34476"&gt;&lt;em&gt;Penguin's New Ideas&lt;/em&gt;&lt;/a&gt; – it starts with six tracks called &lt;em&gt;ff1&lt;/em&gt; to &lt;em&gt;ff6&lt;/em&gt; with already the first one (&lt;em&gt;ff1&lt;/em&gt;) showing a nice melange of broken sampling layered with a melody and even over that lies some well placed scratching. The whole album is amazing! From the previously mentioned ff* tracks, I would especially like to put into the limelight apart from &lt;em&gt;ff1&lt;/em&gt;, then also &lt;em&gt;ff3&lt;/em&gt; and &lt;em&gt;ff4&lt;/em&gt;. The &lt;em&gt;ff6 (A Long Way to Go)&lt;/em&gt; and &lt;em&gt;Polish Jazz Thing&lt;/em&gt; bare some jazz elements as well, while &lt;em&gt;Fucking ABBA&lt;/em&gt; feels like flirting with &lt;abbr title="Rhythm &amp;amp; Blues"&gt;R&amp;amp;B&lt;/abbr&gt;/UK garage. On the other hand the album &lt;a href="http://www.jamendo.com/en/album/34476"&gt;&lt;em&gt;Split Decisions&lt;/em&gt;&lt;/a&gt; has more electronic elements in it and feels a bit more meditative, if you will. The last of his albums that I looked at was &lt;a href="http://www.jamendo.com/en/album/43264"&gt;&lt;em&gt;Summer Time&lt;/em&gt;&lt;/a&gt;, which I have not listened to thoroughly enough, but so far I like it a lot and it's nice to see Jimmy Penguin take on even more styles, as the track &lt;em&gt;Jimmy Didn't Name&lt;/em&gt; It has some unmistakable Asian influences.&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/album/42122?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/No_Hair_On_Head"&gt;&lt;strong&gt;No Hair on Head&lt;/strong&gt;&lt;/a&gt; – very enjoyable lounge/chillout electronica. &lt;a href="http://www.jamendo.com/en/album/42122"&gt;&lt;em&gt;Walking on Light&lt;/em&gt;&lt;/a&gt; is the artist's first album and is a collection of some his tracks that he made in the past 5 years. It's great to see that outside mainstream artists are still trying to make albums that make sense – consistent style, but still diverse enough – and this album is just such. The first track &lt;em&gt;Please!&lt;/em&gt; is not a bad start into the album, &lt;em&gt;Inducio&lt;/em&gt; is also a nice lively track, but I what I think could be hits are the tracks &lt;em&gt;Anywhere You Want&lt;/em&gt; and &lt;em&gt;Fiesta en Bogotá&lt;/em&gt; – the first one starts rather standard, but then develops into a very nice pop-ish, almost house-like summery electronic song with tongue-in-cheek lyrics; the latter features an accordion and to me feels somehow like driving through Provence or Karst (although Bogotá lies actually in Columbia).&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/album/35414?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/album/35414"&gt;&lt;strong&gt;Electronoid&lt;/strong&gt;&lt;/a&gt; – great breakbeat! If you like Daft Punk's album Homework or less popular tracks by the Chemical Brothers, you will most probably enjoy &lt;a href="http://www.jamendo.com/en/artist/elektronoid_(3)"&gt;&lt;em&gt;Electronoid&lt;/em&gt;&lt;/a&gt; (album) as well.&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/album/26195?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/album/26195"&gt;&lt;strong&gt;Morning Boy&lt;/strong&gt;&lt;/a&gt;— great mix of post punk with pop-ish elements. On their album &lt;a href="http://www.jamendo.com/en/album/26195"&gt;&lt;em&gt;For us, the drifters. For them, the Bench&lt;/em&gt;&lt;/a&gt;, the song &lt;em&gt;Maryland&lt;/em&gt; reminds me of Dinosaur Jr., while &lt;em&gt;Whatever&lt;/em&gt; reminds me of Joan of Arc with added pop. Although &lt;em&gt;All Your Sorrows&lt;/em&gt; is probably the track I like best so far – it just bursts with positive attitude while still being somewhat mellow.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://web.archive.org/web/20100729024635/http://www.jamendo.com/en/artist/bilk"&gt;&lt;strong&gt;Bilk&lt;/strong&gt; (archived)&lt;/a&gt; – a fast German pop punk with female vocals that limits on the Neue Deutsche Welle music movement from the 80's. Their album &lt;a href="https://web.archive.org/web/20100820071157/http://www.jamendo.com/en/album/28399"&gt;&lt;em&gt;Ich will hier raus&lt;/em&gt; (archived)&lt;/a&gt; is not bad and might even compare to more known contemporary artists like Wir sind Helden.
&lt;em&gt;Update: Sadly they removed themselves from Jamendo, they have their &lt;a href="http://www.bilkonline.de/"&gt;own website now&lt;/a&gt;, but unfortunately there is no licensing info available about the music.&lt;/em&gt;&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/artist/1235?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/ben.othman"&gt;&lt;strong&gt;Ben Othman&lt;/strong&gt;&lt;/a&gt; – so far I have listened to two of his albums – namely &lt;a href="http://www.jamendo.com/en/album/2043"&gt;&lt;em&gt;Lounge Café Tunis "Intellectuel"&lt;/em&gt;&lt;/a&gt; and &lt;a href="http://www.jamendo.com/en/album/1250"&gt;&lt;em&gt;Lounge Café Tunis "Sahria"&lt;/em&gt;&lt;/a&gt; – they consist of good lounge/chillout music with at times very present Arabic influences.&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/album/830?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/Silence"&gt;&lt;strong&gt;Silence&lt;/strong&gt;&lt;/a&gt; – this seems like a very popular artist, but so far I only managed to skim through the album &lt;a href="http://www.jamendo.com/en/album/830"&gt;&lt;em&gt;L'autre endroit&lt;/em&gt;&lt;/a&gt;. It seems like a decent mix of trip-hop with occasional electric guitars and other instruments. Sometimes it bares elements of IDM and/or dark or industrial influences. I feel it is too early for me to judge if it conforms my taste, but it looks like an artist to keep an eye on.&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/album/2572?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/project.divinity"&gt;&lt;strong&gt;Project Divinity&lt;/strong&gt;&lt;/a&gt; – enjoyable, very calm ambiental new age music. The mellowness and openness of the album &lt;a href="http://www.jamendo.com/en/album/2572"&gt;&lt;em&gt;Divinity&lt;/em&gt;&lt;/a&gt; is very easy to the ears and cannot be anything else then calming.&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/artist/337741?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/SoLaRiS_(5)"&gt;&lt;strong&gt;SoLaRis&lt;/strong&gt;&lt;/a&gt; – decent goatrance, sometimes wading even into the dark psytrance waters.&lt;/p&gt;
&amp;lt;iframe frameborder="0" height="315" id="widget" scrolling="no" src="http://widgets.jamendo.com/v3/artist/346674?autoplay=0&amp;amp;amp;layout=standard&amp;amp;amp;manualWidth=400&amp;amp;amp;width=480&amp;amp;amp;theme=light&amp;amp;amp;highlight=0&amp;amp;amp;tracklist=true&amp;amp;amp;tracklist_n=4&amp;amp;amp;embedCode=" style="width: 480px; height: 315px; display: block; margin: auto;" width="480"&amp;gt;&amp;lt;/iframe&amp;gt;

&lt;p&gt;&lt;a href="http://www.jamendo.com/en/artist/team9_(3)"&gt;&lt;strong&gt;Team9&lt;/strong&gt;&lt;/a&gt; – after listening to some of their tracks on Jamendo, I decided to download their full album &lt;a href="http://www.team9.net/album/team9_We_Dont_Disco.zip"&gt;&lt;em&gt;We Don't Disco&lt;/em&gt;&lt;/a&gt; (for free, under &lt;abbr title="Creative Commons"&gt;CC&lt;/abbr&gt;-&lt;abbr title="Attribution"&gt;BY&lt;/abbr&gt;-&lt;abbr title="Share Alike"&gt;SA&lt;/abbr&gt; license) from their &lt;a href="https://web.archive.org/web/20120331180253/http://www.team9.net/"&gt;(archived) homepage&lt;/a&gt;. Team9 is more known for their inventive remixes of better known artists' songs, but their own work at least equally as amazing! They describe themselves as "melodic, ambient and twisted" and compare themselves to "Vangelis and Jean Michel Jarre taking Royksopp and Fad Gadget out the back of the kebab shop for a smoke" – both descriptions suit them very well. The whole album is great, maybe the title track &lt;em&gt;We Don't Disco Like We Used To&lt;/em&gt; and the track _Aesthetic Athletics _stand out a bit more because they feel a bit more oldskool and disco-ish then the rest of them, but quality-wise the rest of the tracks is just as amazing!&lt;/p&gt;
&lt;p&gt;As you can see, &lt;strong&gt;listening only to free (as in speech, not only as in beer) music is not only possible, but quite enjoyable!&lt;/strong&gt; There is a real alternative out there! &lt;em&gt;Tons of great artists out there are just waiting to be listened to&lt;/em&gt; – that ultimately is what music is all about! &lt;/p&gt;
&lt;p&gt;&lt;em&gt;hook out → going to bed…&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 08 Aug 2014 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Matija Šuklje: How to write your Pelican-powered blog using ownCloud and WebDAV</title>
	<guid isPermalink="false">tag:matija.suklje.name,2014-03-10:how-to-write-your-pelican-powered-blog-using-owncloud-and-webdav</guid>
	<link>http://matija.suklje.name/how-to-write-your-pelican-powered-blog-using-owncloud-and-webdav</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/matija.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;Originally this HowTo was part of my last post – a lengthy piece about &lt;a href="http://matija.suklje.name/5th-incarnation-of-hooks-humble-homepage"&gt;how I migrated my blog to Pelican&lt;/a&gt;. As this specific modification might be more interesting than reading the whole thing, I decided to fork and extend it.&lt;/p&gt;
&lt;h1 id="what-and-why"&gt;What and why?&lt;/h1&gt;
&lt;p&gt;What I was trying to do is to be able to add, edit and delete content from &lt;a href="http://getpelican.com"&gt;Pelican&lt;/a&gt; from anywhere, so whenever inspiration strikes I can simply take out my phone or open up a web browser and create a rough draft. Basically a make-shift mobile and desktop blogging app.&lt;/p&gt;
&lt;p&gt;I decided to that the easiest this to do this by accessing my content via &lt;abbr title="Web Distributed Authoring and Versioning"&gt;WebDAV&lt;/abbr&gt; via &lt;a href="http://owncloud.org"&gt;ownCloud&lt;/a&gt; that runs on the same server.&lt;/p&gt;
&lt;h2 id="why-not-git-and-hooks"&gt;Why not Git and hooks?&lt;/h2&gt;
&lt;p&gt;The answer is quite simple: because I do not need it and it adds another layer of complication.&lt;/p&gt;
&lt;p&gt;I know many use Git and its hooks to keep track of changes as well as for backups and for pushing from remote machines onto the server. And that is a very fine way of running it, especially if there are several users committing to it.&lt;/p&gt;
&lt;p&gt;But for the following reasons, I do not need it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I already include this page with its &lt;a href="http://daringfireball.net/projects/markdown"&gt;MarkDown&lt;/a&gt; sources, settings and the &lt;abbr title="Hyper-Text Markup Language"&gt;HTML&lt;/abbr&gt; output in my standard &lt;a href="http://www.rsnapshot.org"&gt;RSnapshot&lt;/a&gt; backup scheme of this server, so no need for that;&lt;/li&gt;
&lt;li&gt;I want to sometimes draft my posts on my mobile and &lt;a href="http://git-scm.com"&gt;Git&lt;/a&gt; and &lt;a href="http://vim.org"&gt;Vim&lt;/a&gt; on a touch-screen are just annoying to use;&lt;/li&gt;
&lt;li&gt;this is a personal blog, so the distributed &lt;abbr title="Version Control System"&gt;VCS&lt;/abbr&gt; side of Git is just an overhead really;&lt;/li&gt;
&lt;li&gt;there is no added benefit to sharing the MarkDown sources on-line, if all the &lt;abbr title="Hyper-Text Markup Language"&gt;HTML&lt;/abbr&gt; sources are public anyway.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="setting-up-the-server"&gt;Setting up the server&lt;/h1&gt;
&lt;h2 id="pairing-up-pelican-and-owncloud"&gt;Pairing up Pelican and ownCloud&lt;/h2&gt;
&lt;p&gt;In ownCloud it is very easy to mount external storage, and a folder local to the server is still considered “extrenal” as it is outside of ownCloud. Needless to say, there is a nice GUI for that.&lt;/p&gt;
&lt;p&gt;Once you open up the &lt;em&gt;Admin&lt;/em&gt; page in ownCloud, you will see the &lt;em&gt;External Storage&lt;/em&gt; settings. For security reasons only admins can mount a local folder, so if you aren’t one, you will not see &lt;em&gt;Local&lt;/em&gt; as an option and you will have to ask your friendly ownCloud sysAdmin to add the folder from his &lt;em&gt;Admin&lt;/em&gt; page for you.&lt;/p&gt;
&lt;p&gt;If that is not an option, on a &lt;abbr title="GNU’s Not Unix"&gt;GNU&lt;/abbr&gt;/Linux server there is an easy, yet hackish solution as well: just link Pelican’s content folder into your ownCloud user’s file system – e.g:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="go"&gt;ln -s /var/www/matija.suklje.name/content/ /var/www/owncloud/htdocs/data/hook/files/Blog&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In order to have the files writeable over &lt;abbr title="Web Distributed Authoring and Versioning"&gt;WebDAV&lt;/abbr&gt;, they need to have write permission from the user that &lt;abbr title="PHP Hypertext Preprocessor"&gt;PHP&lt;/abbr&gt; and web-server are running under – e.g.:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="go"&gt;chown -R nginx:nginx /var/www/owncloud/htdocs/data/hook/files/Blog/&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="automating-page-generation-and-ownership"&gt;Automating page generation and ownership&lt;/h2&gt;
&lt;p&gt;To have pages constantly automatically generated, there is a option to call &lt;code&gt;pelican --autoreload&lt;/code&gt; and I did consider turning it into an init script, but decided against it for two reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;it consumes too much &lt;abbr title="Central Processing Unit"&gt;CPU&lt;/abbr&gt; power just to check for changes;&lt;/li&gt;
&lt;li&gt;as on my &lt;a href="http://dafaq.wheremymonkeyis.at"&gt;poor ARM server&lt;/a&gt; a full (re-)generation of this blog takes about 6 minutes&lt;sup id="fnref:stats"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:stats" class="footnote-ref" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;, I did not want to hammer my system for every time I save a minor change.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I did instead was to create an fcronjob to (re-)generate the website every night at 3 in the morning (and send a mail to root’s default address), under the condition that there blog posts have either been changed in content or added since yesterday:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c"&gt;%nightly,mail * 3 cd /var/www/matija.suklje.name &amp;amp;&amp;amp; posts=(content/**/*.markdown(Nm-1)); if (( $#posts )) LC_ALL="en_GB.utf8" make html&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Update: the above command is changed to use Zsh; for the old &lt;code&gt;sh&lt;/code&gt; version, use&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c"&gt;%nightly,mail * 3 cd /var/www/matija.suklje.name &amp;amp;&amp;amp; [[ `find content -iname "*.markdown" -mtime -1` != "" ]] &amp;amp;&amp;amp; LC_ALL="en_GB.utf8" make html&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In order to have the file permissions on the content directory always correct for ownCloud (see above), I changed the &lt;code&gt;Makefile&lt;/code&gt; a bit. The relevant changes can be seen below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nf"&gt;html&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    chown -R nginx:nginx &lt;span class="k"&gt;$(&lt;/span&gt;INPUTDIR&lt;span class="k"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;$(&lt;/span&gt;PELICAN&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;INPUTDIR&lt;span class="k"&gt;)&lt;/span&gt; -o &lt;span class="k"&gt;$(&lt;/span&gt;OUTPUTDIR&lt;span class="k"&gt;)&lt;/span&gt; -s &lt;span class="k"&gt;$(&lt;/span&gt;CONFFILE&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;PELICANOPTS&lt;span class="k"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;clean&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="o"&gt;[&lt;/span&gt; ! -d &lt;span class="k"&gt;$(&lt;/span&gt;OUTPUTDIR&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; rm -rf &lt;span class="k"&gt;$(&lt;/span&gt;OUTPUTDIR&lt;span class="k"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;regenerate&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    chown -R nginx:nginx &lt;span class="k"&gt;$(&lt;/span&gt;INPUTDIR&lt;span class="k"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;$(&lt;/span&gt;PELICAN&lt;span class="k"&gt;)&lt;/span&gt; -r &lt;span class="k"&gt;$(&lt;/span&gt;INPUTDIR&lt;span class="k"&gt;)&lt;/span&gt; -o &lt;span class="k"&gt;$(&lt;/span&gt;OUTPUTDIR&lt;span class="k"&gt;)&lt;/span&gt; -s &lt;span class="k"&gt;$(&lt;/span&gt;CONFFILE&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;PELICANOPTS&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="e-mail-draft-reminder"&gt;E-mail draft reminder&lt;/h2&gt;
&lt;p&gt;Not directly relevant, but still useful.&lt;/p&gt;
&lt;p&gt;In order not to forget any drafts unattended, I have also set up an &lt;a href="http://fcron.free.fr"&gt;FCron&lt;/a&gt; job to send me an e-mail with a list of all unfinished drafts to my private address.&lt;/p&gt;
&lt;p&gt;It is a very easy hack really, but I find it quite useful to keep track of things – find the said fcronjob below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c"&gt;%midweekly,mailto(matija@suklje.name) * * cd /var/www/matija.suklje.name/content/ &amp;amp;&amp;amp; ack "Status: draft"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="client-software"&gt;Client software&lt;/h1&gt;
&lt;h2 id="ownnotes"&gt;ownNotes&lt;/h2&gt;
&lt;p&gt;As a mobile client I plan to use &lt;a href="http://khertan.net/pages/ownNotes"&gt;ownNotes&lt;/a&gt;, because it runs on my Nokia N9&lt;sup id="fnref:vim"&gt;&lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fn:vim" class="footnote-ref" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; and supports MarkDown highlighting out-of-the-box.&lt;/p&gt;
&lt;p&gt;All I needed to do in ownNotes is to provide it with my ownCloud log-in credentials and state &lt;code&gt;Blog&lt;/code&gt; as the "Remote Folder Name" in the preferences.&lt;/p&gt;
&lt;p&gt;But before I can really make use of &lt;a href="http://khertan.net/pages/ownNotes"&gt;ownNotes&lt;/a&gt;, I have to wait for it to &lt;a href="https://github.com/khertan/ownNotes/issues/4"&gt;starts using properly managing file-name extensions&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="owncloud-web-interface"&gt;ownCloud web interface&lt;/h2&gt;
&lt;p&gt;Since ownCloud includes a &lt;abbr title="Web-based Graphical User Interface"&gt;webGUI&lt;/abbr&gt; text editor with MarkDown highlighting out of the box, I sometimes use that as well.&lt;/p&gt;
&lt;p&gt;An added bonus is that the Activity feed of ownCloud keeps a log of when which file changed or was added.&lt;/p&gt;
&lt;p&gt;It does not seem possible yet to collaboratively edit files other than &lt;abbr title="Open Document Text"&gt;ODT&lt;/abbr&gt; in ownCloud’s &lt;abbr title="Web-based Graphical User Interface"&gt;webGUI&lt;/abbr&gt;, but I imagine that might be the case in the future.&lt;/p&gt;
&lt;h2 id="kate-via-webdav"&gt;Kate via &lt;abbr title="Web Distributed Authoring and Versioning"&gt;WebDAV&lt;/abbr&gt;&lt;/h2&gt;
&lt;p&gt;In many other desktop environments it is child’s play to add a &lt;abbr title="Web Distributed Authoring and Versioning"&gt;WebDAV&lt;/abbr&gt; remote folder — just adding a link to the file manager should be enough, e.g.: &lt;code&gt;webdavs://thatfunkyplace.wheremymonkeyis.at:443/remote.php/webdav/Blog&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://kde.org"&gt;&lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt;&lt;/a&gt;’s Dolphin makes it easier for you, because all you have to do is select &lt;code&gt;Remote&lt;/code&gt; ↦ &lt;code&gt;Add remote folder&lt;/code&gt; and if you already have a connection to your ownCloud with some other service (e.g. &lt;a href="http://zanshin.kde.org/"&gt;Zanshin&lt;/a&gt; and &lt;a href="http://www.kde.org/applications/office/korganizer/"&gt;KOrganizer&lt;/a&gt; for WebCal), it will suggest all the details to you, if you choose &lt;code&gt;Recent connection&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Once you have the remote folder added, you can use it transparently all over &lt;abbr title="K(ool) Desktop Environment"&gt;KDE&lt;/abbr&gt;. So when you open up Kate, you can simply navigate the remote &lt;abbr title="Web Distributed Authoring and Versioning"&gt;WebDAV&lt;/abbr&gt; folders, open up the files, edit and save them as if they were local files. It &lt;em&gt;really&lt;/em&gt; is as easy as that! ☺&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: I probably could have also used the more efficient &lt;abbr title="KDE Input/Output"&gt;KIO&lt;/abbr&gt; &lt;abbr title="Files transferred over Shell protocol"&gt;FISH&lt;/abbr&gt;, but I have not bothered with setting up a more complex permission set-up for such a small task. For security reasons it is not possible to log in via &lt;abbr title="Secure Shell"&gt;SSH&lt;/abbr&gt; using the same user the web server runs under.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="ssh-and-vim"&gt;&lt;abbr title="Secure Shell"&gt;SSH&lt;/abbr&gt; and Vim&lt;/h2&gt;
&lt;p&gt;Of course, it is also possible to &lt;code&gt;ssh&lt;/code&gt; to the web server, &lt;code&gt;su&lt;/code&gt; to the correct user, edit the files with Vim and let FCron and Make file make sure the ownership is done appropriately.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;hook out → back to studying Arbitration law&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:vim"&gt;
&lt;p&gt;Yes, I am well aware you can run &lt;a href="http://vim.org"&gt;Vim&lt;/a&gt; and &lt;a href="http://git-scm.com"&gt;Git&lt;/a&gt; on MeeGo Harmattan and I do use it. But Vim on a touch-screen keyboard is not very fun to use for brainstorming. &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:vim" rev="footnote" class="footnote-backref" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:stats"&gt;
&lt;p&gt;At the time of writing this blog includes 343 articles and 2 pages, which took &lt;a href="http://getpelican.com"&gt;Pelican&lt;/a&gt; 440 seconds to generate on &lt;a href="http://dafaq.wheremymonkeyis.at"&gt;my poor little ARM server&lt;/a&gt; (on a normal load). &lt;a href="http://matija.suklje.name/feeds/all.atom.xml#fnref:stats" rev="footnote" class="footnote-backref" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 06 Aug 2014 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Michael Mair-Keimberger: kmscon - next generation virtual terminals</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-2815250078220160261</guid>
	<link>http://michaelmk.blogspot.com/2014/08/kmscon-next-generation-virtual-terminals.html</link>

	<description>KMSCON is a simple terminal emulator based on linux kernel mode setting (KMS). It can replace the in-kernel VT implementation with a userspace console. It's a pretty new project and still very experimental.&lt;br /&gt;Even though gentoo provides a ebuild its rather rudiment and it's better to use the live ebuild form [1] plus the libtsm package, which is needed for kmscon, from [2]. Personally i've added those ebuilds into my private overlay.&lt;br /&gt;&lt;br /&gt;Don't forget to unmask/keyword the live ebuild:&lt;br /&gt;&lt;div style="background: #202020; border-width: .1em .1em .1em .8em; border: dashed gray; overflow: auto; width: auto;"&gt;&lt;pre style="line-height: 125%; margin: 0;"&gt;# emerge -av =sys-apps/kmscon-9999&lt;br /&gt;&lt;br /&gt;These are the packages that would be merged, in order:&lt;br /&gt;&lt;br /&gt;Calculating dependencies... done!&lt;br /&gt;[ebuild   R   *] sys-apps/kmscon-9999::local  USE="drm fbdev gles2 optimizations pango unicode -debug -doc -multiseat -pixman -static-libs -systemd" 0 kB&lt;br /&gt;&lt;br /&gt;Total: 1 package (1 reinstall), Size of downloads: 0 kB&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;After successfully emerging kmscon it's pretty simple to start a new vt with (as root):&lt;br /&gt;&lt;div style="background: #202020; border-width: .1em .1em .1em .8em; border: dashed gray; overflow: auto; width: auto;"&gt;&lt;pre style="line-height: 125%; margin: 0;"&gt;# kmscon --vt=8 --xkb-layout=de --hwaccel&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;This starts kmscon on vt8 with hardware-accel on and a german keyboard layout.&lt;br /&gt;&lt;br /&gt;If your experimental you can add (or replace) an additional virtual terminal to your inittab. A line like following should suffice to start kmscon everytime you boot your system.&lt;br /&gt;&lt;div style="background: #202020; border-width: .1em .1em .1em .8em; border: dashed gray; overflow: auto; width: auto;"&gt;&lt;pre style="line-height: 125%; margin: 0;"&gt;c11:2345:respawn:/usr/bin/kmscon --vt=8 --xkb-layout=de --hwaccel&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I've tested it with my amd cards (r600g and radeonsi) and it worked with some minor output corruptions. However, in certain cases it works already faster than agetty, for example printing dmesg output. So far it looks really promising, sadly development seems to be really slow. You'll find the git repository here [3]&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=490798"&gt;https://bugs.gentoo.org/show_bug.cgi?id=490798&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=487394"&gt;https://bugs.gentoo.org/show_bug.cgi?id=487394&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://cgit.freedesktop.org/~dvdhrm/kmscon/"&gt;http://cgit.freedesktop.org/~dvdhrm/kmscon/&lt;/a&gt;</description>
	<pubDate>Tue, 05 Aug 2014 17:33:29 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Sven Vermeulen: Gentoo Hardened July meeting</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1606</guid>
	<link>http://blog.siphos.be/2014/08/gentoo-hardened-july-meeting/</link>

	<description>&lt;p&gt;
I failed to show up myself (I fell asleep – kids are fun, but deplete your energy source quickly), but that shouldn’t prevent me from making a nice write-up of the meeting.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Toolchain&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
GCC 4.9 gives some issues with kernel compilations and other components. Lately, breakage has been reported with GCC 4.9.1 compiling MySQL or with debugging symbols. So for hardened, we’ll wait this one out until the bugs are fixed.
&lt;/p&gt;
&lt;p&gt;
For GCC 4.10, the &lt;a href="https://gcc.gnu.org/ml/gcc-patches/2014-07/msg02231.html"&gt;–enable-default-pie&lt;/a&gt; patch has been sent upstream. If that is accepted, the SSP one will be sent as well.
&lt;/p&gt;
&lt;p&gt;
In uclibc land, stages are being developed for PPC. This is the final architecture that is often used in embedded worlds that needed support for it in Gentoo, and that’s now being finalized. Go blueness!
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;SELinux&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
A &lt;code&gt;libpcre&lt;/code&gt; upgrade broke relabeling operations on SELinux enabled systems. A fix for this has been made part of libselinux, but a little too late, so some users will be affected by the problem. It’s easily worked around (removing the &lt;code&gt;*.bin&lt;/code&gt; files in the &lt;code&gt;contexts/files/&lt;/code&gt; directory of the SELinux configuration) and hopefully will never occur again.
&lt;/p&gt;
&lt;p&gt;
The 2.3 userland has finally been stabilized (we had a few dependencies that we were waiting for – and we were a dependency ourselves for other packages as well).
&lt;/p&gt;
&lt;p&gt;
Finally, some &lt;a href="http://article.gmane.org/gmane.linux.gentoo.hardened/6266"&gt;thought discussion&lt;/a&gt; is being done (not that there’s much feedback on it, but every documented step is a good step imo) on the SELinux policy within Gentoo (and the principles that we’ll follow that are behind it).
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Kernel and grsecurity / PaX&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
Due to some security issues, the Linux kernel sources have been stabilized more rapidly than usual, which left little time for broad validation and regression testing. Updates and fixes have been applied since and new stabilizations occurred. Hopefully we’re now at the right, stable set again.
&lt;/p&gt;
&lt;p&gt;
The C-based &lt;code&gt;install-xattr&lt;/code&gt; application (which is performance-wise a big improvement over the Python-based one) is working well in “lab environments” (some developers are using it exclusively). It is included in the Portage repository &lt;sup&gt;(if I understand the chat excerpts correctly)&lt;/sup&gt; but as such not available for broader usage yet.
&lt;/p&gt;
&lt;p&gt;
An update against &lt;code&gt;elfix&lt;/code&gt; is made as well as there was a dependency mismatch when building with &lt;code&gt;USE=-ptpax&lt;/code&gt;. This will be corrected in elfix-0.9.
&lt;/p&gt;
&lt;p&gt;
Finally, blueness is also working on a GLEP (Gentoo Linux Enhancement Proposal) to export VDB information (especially &lt;code&gt;NEEDED.ELF.2&lt;/code&gt;) as this is important for ELF/library graph information (as used by revdep-pax, migrate-pax, etc.). Although Portage already does this, this is not part of the PMS and as such other package managers might not do this (such as Paludis).
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Profiles&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
Updates on the profiles has been made to properly include multilib related variables and other metadata. For some profiles, this went as easy as expected (nice stacking), but other profiles have inheritance troubles making it much harder to include the necessary information. Although some talks have arised on the gentoo-dev mailinglist about refactoring how Gentoo handles profiles, there hasn’t been done much more than just talking :-( But I’m sure we haven’t heard the last of this yet.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Documentation&lt;/em&gt;
&lt;/p&gt;&lt;p&gt;
Blueness has added information on &lt;code&gt;EMULTRAMP&lt;/code&gt; in the kernel configuration, especially noting to the user that it is needed for Python support in Gentoo Hardened. It is also in the &lt;a href="https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart"&gt;PaX Quickstart&lt;/a&gt; document, although this document is becoming a very large one and users might overlook it.&lt;/p&gt;</description>
	<pubDate>Fri, 01 Aug 2014 19:48:56 +0000</pubDate>
</item>
<item>
	<title>Jürgen Geuter: The right tool for the job</title>
	<guid isPermalink="false">http://tante.cc/?p=2428</guid>
	<link>https://tante.cc/2014/08/01/right-tools-job/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/j_rgen_geuter.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;Every subculture, even most smaller groups establish practices that are typical for said subculture or group. They often emerge within the foundations of the group itself or the background of an influential part of the members. A group of historians will probably tackle problems in a different way than engineers would for example: Where the historians might look for similarities in structure between the current issue and the past, engineers would try to divide the problem up into smaller and smaller units of work, assign them and hope that by assembling all the parts a solution will be created. Obviously the previous example was slightly exaggerated and simplified but you catch my drift. The people or the “culture” a group emerged from influence massively the set of tools the group has to interact with the world.&lt;/p&gt;
&lt;p&gt;These tools exist on many levels. They can be physical objects like with a group of mechanics bringing actual tools from their workshops into the group. There are digital tools such as publication software or networked democracy/liquid democracy tools. The tools can be intellectual: Specific methods to process information or analyze things. Social tools can help organize and communicate. The list goes on and on.&lt;/p&gt;
&lt;p&gt;Today I want to talk about the intellectual or procedural tools of a certain subculture&lt;sup&gt;&lt;a href="https://tante.cc/2014/08/01/right-tools-job/#footnote_0_2428" title=" if it actually is a subculture which we could debate but let’s do that another time " class="footnote-link footnote-identifier-link" id="identifier_0_2428"&gt;1&lt;/a&gt;&lt;/sup&gt; that I do have my run-ins with: The hackers. Not the “&lt;em&gt;let’s break shit and steal money like they do in cheesy movies&lt;/em&gt;” type but the “&lt;em&gt;we are fighting for digital civil liberties and free software and crypto for everyone and shit&lt;/em&gt;” type. The type that can probably best be defined as: People unwilling to always follow the instructions that things come with, especially technical things.&lt;/p&gt;
&lt;div style="width: 510px;" class="wp-caption aligncenter" id="attachment_2431"&gt;&lt;a href="http://tante.cc/wp-content/uploads/2014/07/195669198_0d4c3a65e3.jpg"&gt;&lt;img src="http://tante.cc/wp-content/uploads/2014/07/195669198_0d4c3a65e3.jpg" title="The right tool for the job" height="375" width="500" alt="195669198 0d4c3a65e3 The right tool for the job" class="size-full wp-image-2431" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;By: &lt;a href="https://www.flickr.com/photos/hiddenloop/195669198/" target="_blank"&gt;Matthew Hutchinson&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;While the myth of the evil hackers destroying everything still is very powerful especially within mainstream media, that subculture has – even given all the problems and issues raging through that scene&lt;sup&gt;&lt;a href="https://tante.cc/2014/08/01/right-tools-job/#footnote_1_2428" title=" I’m not gonna get into it here, it’s a topic for another text that I’m probably not going to write " class="footnote-link footnote-identifier-link" id="identifier_1_2428"&gt;2&lt;/a&gt;&lt;/sup&gt; – gotten kind of a tough job these days. Because we as a society are overwhelmed by our own technical progress.&lt;/p&gt;
&lt;p&gt;So we’ve kinda stumbled on this nice thing that some scientists developed to share information and we realized: &lt;em&gt;Wow &lt;del&gt;I can copy all kinds of music and movies&lt;/del&gt; I can share Information and publish my own creative works! &lt;/em&gt;And others found that thing interesting as well, bolted some – not always&lt;sup&gt;&lt;a href="https://tante.cc/2014/08/01/right-tools-job/#footnote_2_2428" title="as in never" class="footnote-link footnote-identifier-link" id="identifier_2_2428"&gt;3&lt;/a&gt;&lt;/sup&gt; beautifully designed interfaces and technologies onto that “Internet” thing and used it to sell books and clothes and drugs and bitcoins to a global customer base.&lt;/p&gt;
&lt;p&gt;Obviously I simplified things again a little. But there’s no denying that the Internet changed many many aspects of our life with shopping only being one of them. Global companies could suddenly move or spread data (and themselves) to different locations in zero-time circumventing in many cases at least parts of the legal system that was supposed to protect the people against their actions. Established social rules such as copyright or privacy came under pressure. And then there was the intelligence community. What a field trip they had!&lt;/p&gt;
&lt;p&gt;All the things that used to be hard to gather, that could only be acquired through deploying agents and time and money, conversations and social graphs and “metadata” could be gathered, stored and queried. Globally. All the time. The legal system supposed to protect the people actually gave them the leverage to store all data they could get their hands on. All for the good of the people and their security.&lt;/p&gt;
&lt;p&gt;So here we are with this hot and flaming mess and we need someone, anyone to fix it. To make things ok. So we ask the hackers because they actually know, understand and – more often than many want to admit – build the technology causing problems now. And they tried to come up with solutions.&lt;/p&gt;
&lt;div style="width: 510px;" class="wp-caption aligncenter" id="attachment_2433"&gt;&lt;a href="http://tante.cc/wp-content/uploads/2014/07/6198201100_34c4936f62.jpg"&gt;&lt;img src="http://tante.cc/wp-content/uploads/2014/07/6198201100_34c4936f62.jpg" title="The right tool for the job" height="375" width="500" alt="6198201100 34c4936f62 The right tool for the job" class="size-full wp-image-2433" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;By: &lt;a href="https://www.flickr.com/photos/slightlyeverything/6198201100/" target="_blank"&gt;kate hiscock&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p style="text-align: left;"&gt;The hacker subculture is largely and dominantly shaped by a related group of people: Security specialists. To be able to assess and test the security of a technical system or an algorithm you really need to understand it and its environment at a level of detail that eludes many people. The problems the security community have to deal with are cognitively hard and complex, the systems and their interactions and interdependencies growing each day. The fact that those security holes or exploits can also be worth a lot of money to someone with … let’s say &lt;em&gt;flexible&lt;/em&gt; ethics also informed the competitiveness of that scene.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;So certain methods or MOs developed. One very prominent one that has influenced the hacker culture a lot is the “break shit in a funny way” MO. It goes like this: You have something that people (usually the people selling it) claim to be secure. Let’s say a voting machine or an iris scanner on a new smartphone. In come the hackers. They prod the system, poke it with sticks and tools until they get the voting machine to play pong and the iris scanner to project My Little Pony episodes. &lt;em&gt;They break shit&lt;/em&gt;.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;This leads to (if you are somewhat tech savvy) very entertaining talks at hacker conferences where the ways of how to break it are displayed. Some jokes at the expense of the developers are thrown in and it usually ends with a patch, a technical solution to the problem, that does at least mitigate the worst problems. Hilarity ensues.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;But herein lies the problem. The issues we have with our political system, with the changes that tech brought to the social sphere are not easily decomposed into modules, broken and fixed with some technological patch. Showing that the NSA listens to your stuff, how they do it is all fine and dandy but the technical patch, the bazillion of crypto tools that are released every day don’t address the issues at hand – the political questions, the social questions.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;That’s not the fault of the hacker scene really. They did their job, analyzed what happened and sometimes could even provide fixes. But building new social or legal concepts really isn’t in their toolbox. When forced they have to fallback on things such as “whistleblowing” as a catchall which &lt;a href="http://tante.cc/2014/07/25/whistleblowing/" title="On whistleblowing"&gt;really is no replacement for political theory&lt;/a&gt;. Obviously there are hackers who are also political but it’s not genuine to the subculture, nothing belonging to them.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;In Germany we can see that every day within the politically … random … actions of the Pirate Party who recruited many of their members from said hacker culture (or related subcultures). They think in systems and patches, talk about “a new operating system for democracy”. Even the wording, the framing shows that they don’t think in political terms but in their established technical phrases. Which again isn’t their fault, it’s what every subculture does.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Hackers can do a lot for our societies. They can help officials or NGOs to better understand technology and maybe even its consequences. They just might not &lt;em&gt;in general&lt;/em&gt; be the right people to talk to when it comes to building legal or social solutions.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;The different subcultures in a society all contribute different special skill sets and knowledge to the discourse. It’s about bringing all the right people and groups to the table in every phase of the debate. That doesn’t mean that people should be excluded but that certain groups or subcultures should maybe take the lead when it comes to the domains they know a lot about.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Use the right tool for the job.&lt;/p&gt;
&lt;div style="width: 510px;" class="wp-caption aligncenter" id="attachment_2435"&gt;&lt;a href="http://tante.cc/wp-content/uploads/2014/08/9408028555_396725f058.jpg"&gt;&lt;img src="http://tante.cc/wp-content/uploads/2014/08/9408028555_396725f058.jpg" title="The right tool for the job" height="333" width="500" alt="9408028555 396725f058 The right tool for the job" class="size-full wp-image-2435" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;By: &lt;a href="https://www.flickr.com/photos/lox/9408028555/" target="_blank"&gt;Lachlan Donald&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p style="text-align: center;"&gt;&lt;em&gt;Header image by: &lt;a href="https://www.flickr.com/photos/mrcacahuate/5825972240/" target="_blank"&gt;Ivan David Gomez Arce&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ol class="footnotes"&gt;&lt;li class="footnote" id="footnote_0_2428"&gt; if it actually &lt;em&gt;is&lt;/em&gt; a subculture which we could debate but let’s do that another time &lt;/li&gt;&lt;li class="footnote" id="footnote_1_2428"&gt; I’m not gonna get into it here, it’s a topic for another text that I’m probably not going to write &lt;/li&gt;&lt;li class="footnote" id="footnote_2_2428"&gt;as in never&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="https://tante.cc/?flattrss_redirect&amp;amp;id=2428&amp;amp;md5=55f951228142142b730071698715624b" target="_blank" title="Flattr"&gt;&lt;img src="https://tante.cc/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 31 Jul 2014 22:14:04 +0000</pubDate>
</item>
<item>
	<title>Jürgen Geuter: On whistleblowing</title>
	<guid isPermalink="false">http://tante.cc/?p=2409</guid>
	<link>https://tante.cc/2014/07/25/whistleblowing/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/j_rgen_geuter.jpg" alt="" align="right" style="float: right;"&gt;&lt;p style="text-align: left;"&gt;As some might know, I spent the last week in New York attending the &lt;a href="http://x.hope.net"&gt;HOPE conference&lt;/a&gt;. Which was btw. one of the more friendly and diverse conferences I have been to and which I enjoyed a lot not just because of it’s awe inspiring location.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;It was not surprising that the session program would put big emphasis on whistleblowing. Edward Snowden’s leaks have pretty much defined the last year when it came to tech-related news. HOPE contextualized those leaks by framing Snowden with the famous US whistleblowers &lt;a href="http://en.wikipedia.org/wiki/Thomas_Andrews_Drake"&gt;Thomas Drake&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Daniel_Ellsberg"&gt;Daniel Ellsberg&lt;/a&gt; who both have had immense impact with their leaks. Drake had leaked information on NSA programs violating many US laws, Ellsberg had released the “Pentagon papers” proving that the public had been lied to by different US governments when it came to the Vietnam war. Ellsberg, Drake, Snowden. 3 whistleblowers, 3 stories of personal sacrifice and courage&lt;sup&gt;&lt;a href="https://tante.cc/2014/07/25/whistleblowing/#footnote_0_2409" title=" I have written about the problem I have with the way Snowden is framed (not him as a person or with his actions) here " class="footnote-link footnote-identifier-link" id="identifier_0_2409"&gt;1&lt;/a&gt;&lt;/sup&gt;. 3 stories about &lt;a href="http://tante.cc/2013/08/15/death-of-the-super-hero/"&gt;heroes&lt;/a&gt;.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;All of them enforced how important better infrastructure for leaks was. How important it was that the hacker community would provide better tools and tutorials that help keeping informers anonymous and protected. How central it was to make OpSec (&lt;a href="http://en.wikipedia.org/wiki/Operations_security"&gt;operations security&lt;/a&gt;) easier for journalists and potential whistleblowers. Especially Snowden voiced how well he understood people not leaking anything when faced with the complete destruction of their lives as they know it.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;And the community did actually try to deliver. &lt;a href="https://pressfreedomfoundation.org/securedrop"&gt;SecureDrop&lt;/a&gt; was presented as a somewhat simpler way for journalists to supply a drop site for hot documents and the &lt;a href="http://minilock.io/"&gt;Minilock&lt;/a&gt; project is supposed to make the encryption of files much easier and less error-prone.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;But in between the celebration of the courage of individuals and tools helping such individuals something was missing.&lt;/p&gt;
&lt;div style="width: 510px;" class="wp-caption aligncenter" id="attachment_2417"&gt;&lt;a href="http://tante.cc/wp-content/uploads/2014/07/12329159165_a12a8df2ca.jpg"&gt;&lt;img src="http://tante.cc/wp-content/uploads/2014/07/12329159165_a12a8df2ca.jpg" title="On whistleblowing " height="375" width="500" alt="12329159165 a12a8df2ca On whistleblowing " class="size-full wp-image-2417" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;By: &lt;a href="https://www.flickr.com/photos/booleansplit/12329159165/" target="_blank"&gt;Robert S. Donovan&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p style="text-align: left;"&gt;Maybe it was the massive presence of Snowden or maybe the constant flow of new details about his leaks but in our focus on and fascination for the whistleblower(s) and their work we as a community have somewhat forgotten to think about politics and policies, about what it actually is that “we” want.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Whistleblowing can be important, can change the world actually. But it is &lt;em&gt;not&lt;/em&gt; politics. Whistleblowing can be the emergency brake for political processes and structures. But sadly nothing more.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Just creating some sort of transparency (and one could argue that Snowden’s leak has not really created even that since just a selected elite of journalists is allowed to access the treasure chest) doesn’t change anything really. Look at the Snowden leaks: One year full of articles and columns and angry petitions. But nothing changed. In spite of transparency things are mostly going on as they did before. In fact: Certain governments such as the Germans have talked about actually raising the budget for (counter)intelligence. The position of us as human beings in this cyberphysical world has actually gotten worse.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Simple solutions are really charming. We need a few courageous people. And we can build some tech to lower the courage threshold, tools protecting anonymity. Problem solved, back to the playground. We’ve replaced political theory, structures, activism and debate with one magic word: Whistleblowing. But that’s not how it works.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;What happens after the leak? Why do we think that a political system that has created and legitimized the surveillance and intelligence state times upon times would autocorrect itself just because we drop some documents into the world? Daniel Ellsberg called it “telling the truth with documents”. But just telling some truth isn’t enough.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;It’s time to stop hiding behind the hope for whistleblowers and their truth. To stop dreaming of a world that would soon be perfect if “the truth” is just out there. That’s how conspiracy nuts think.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;“Truth” can be a resource to create ideas and policy from. To create action. But that doesn’t happen automagically and it’s not a job we can just outsource to the media because they know all that weird social and political stuff. Supporting the works of whistleblowers is important and I was happy to see so many initiatives, but they can get us at most a few steps forward on our way to fixing the issues of our time.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;em&gt;Header image by: &lt;a href="https://www.flickr.com/photos/katerha/4474670666/" target="_blank"&gt;Kate Ter Haar&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ol class="footnotes"&gt;&lt;li class="footnote" id="footnote_0_2409"&gt; I have written about the problem I have with the way Snowden is framed (not him as a person or with his actions) &lt;a href="http://tante.cc/2014/03/12/church-snowden/"&gt;here&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="https://tante.cc/?flattrss_redirect&amp;amp;id=2409&amp;amp;md5=382bdcfaee3ac896f4329cc02531cddc" target="_blank" title="Flattr"&gt;&lt;img src="https://tante.cc/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 25 Jul 2014 21:24:30 +0000</pubDate>
</item>
<item>
	<title>George Kargiotakis: Anonymous edits in Hellenic Wikipedia from Hellenic Parliament IPs</title>
	<guid isPermalink="false">http://www.void.gr/kargig/blog/?p=1850</guid>
	<link>http://www.void.gr/kargig/blog/2014/07/13/anonymous-edits-in-hellenic-wikipedia-from-hellenic-parliament-ips/</link>

	<description>&lt;p&gt;Inspired from another project called &lt;a href="https://files.jaribakken.no/wikiedits/no/en.html"&gt;“Anonymous Wikipedia edits from the Norwegian parliament and government offices”&lt;/a&gt; I decided to create something similar for the Hellenic Parliament.&lt;/p&gt;
&lt;p&gt;I downloaded the XML dumps (elwiki-20140702-pages-meta-history.xml.7z) for the elwiki from &lt;a href="http://dumps.wikimedia.org/elwiki/20140702/"&gt;http://dumps.wikimedia.org/elwiki/20140702/&lt;/a&gt;. The compressed file is less than 600Mb but uncompressing it leads to a 73Gb XML which contains the full history of edits. Then I modified a parser I found on &lt;a href="http://baraujo.net/blog/?p=81"&gt;this blog&lt;/a&gt; to extract the data I wanted: Page Title, Timestamp and IP.&lt;/p&gt;
&lt;p&gt;Then it was easy to create a list that contains all the edits that have been created by Hellenic Parliament IPs (&lt;a href="https://apps.db.ripe.net/search/lookup.html?source=ripe&amp;amp;key=195.251.32.0%20-%20195.251.35.255&amp;amp;type=inetnum"&gt;195.251.32.0/22&lt;/a&gt;) throughout the History of &lt;a href="https://el.wikipedia.org"&gt;Hellenic Wikipedia&lt;/a&gt;:&lt;br /&gt;
The list &lt;a href="https://gist.github.com/kargig/d2cc8e3452dbde774f1c"&gt;https://gist.github.com/kargig/d2cc8e3452dbde774f1c&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interesting edits&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Former Prime Minister “Κωνσταντίνος Σημίτης”&lt;br /&gt;
An IP from inside the Hellenic Parliament tried to remove the following text at least 3 times in 17-18/02/2014. This is a link to the first edit: &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%9A%CF%89%CE%BD%CF%83%CF%84%CE%B1%CE%BD%CF%84%CE%AF%CE%BD%CE%BF%CF%82_%CE%A3%CE%B7%CE%BC%CE%AF%CF%84%CE%B7%CF%82&amp;amp;diff=4518715&amp;amp;oldid=4518151"&gt;Diff 1&lt;/a&gt;.&lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Για την περίοδο 1996-2001 ξοδεύτηκαν 5,2 τρις δρχ σε εξοπλισμούς. Οι δαπάνες του Β` ΕΜΠΑΕ (2001-2006) υπολογίζεται πως έφτασαν τα 6 με 7 τρις δρχ.&amp;lt;ref name="enet_01_08_01"&amp;gt;[http://www.enet.gr/online/online_hprint?q=%E5%EE%EF%F0%EB%E9%F3%EC%EF%DF&amp;amp;a=&amp;amp;id=71538796 ''To κόστος των εξοπλισμών''], εφημερίδα ”Ελευθεροτυπία”, δημοσίευση [[1 Αυγούστου]] [[2001]].&amp;lt;/ref&amp;gt;Έπειτα απο τη σύλληψη και ενοχή του Γ.Καντά,υπάρχουν υπόνοιες για την εμπλοκή του στο σκάνδαλο με μίζες από Γερμανικές εταιρίες στα εξοπλιστικά,κάτι το οποίο διερευνάται απο την Εισαγγελία της Βρέμης.&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;Former MP “Δημήτρης Κωνσταντάρας”&lt;br /&gt;
Someone modified his biography twice. Diff Links: &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%94%CE%B7%CE%BC%CE%AE%CF%84%CF%81%CE%B7%CF%82_%CE%9A%CF%89%CE%BD%CF%83%CF%84%CE%B1%CE%BD%CF%84%CE%AC%CF%81%CE%B1%CF%82&amp;amp;diff=281652&amp;amp;oldid=203156"&gt;Diff 1&lt;/a&gt; &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%94%CE%B7%CE%BC%CE%AE%CF%84%CF%81%CE%B7%CF%82_%CE%9A%CF%89%CE%BD%CF%83%CF%84%CE%B1%CE%BD%CF%84%CE%AC%CF%81%CE%B1%CF%82&amp;amp;diff=424401&amp;amp;oldid=423058"&gt;Diff 2&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;Former football player “Δημήτρης Σαραβάκος”&lt;br /&gt;
In the following edit someone updated this player’s bio adding that he ‘currently plays in porn films’. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%94%CE%B7%CE%BC%CE%AE%CF%84%CF%81%CE%B7%CF%82_%CE%A3%CE%B1%CF%81%CE%B1%CE%B2%CE%AC%CE%BA%CE%BF%CF%82&amp;amp;diff=522506&amp;amp;oldid=519451"&gt;Diff link&lt;/a&gt;. The same editor seems to have removed that reference later, &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%94%CE%B7%CE%BC%CE%AE%CF%84%CF%81%CE%B7%CF%82_%CE%A3%CE%B1%CF%81%CE%B1%CE%B2%CE%AC%CE%BA%CE%BF%CF%82&amp;amp;diff=522517&amp;amp;oldid=522515"&gt;diff link&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;Former MP “Θεόδωρος Ρουσόπουλος”&lt;br /&gt;
Someone wanted to update this MP’s bio and remove some reference of a scandal. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%98%CE%B5%CF%8C%CE%B4%CF%89%CF%81%CE%BF%CF%82_%CE%A1%CE%BF%CF%85%CF%83%CF%8C%CF%80%CE%BF%CF%85%CE%BB%CE%BF%CF%82&amp;amp;diff=2112741&amp;amp;oldid=2110677"&gt;Diff link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The movie “Ραντεβού με μια άγνωστη”&lt;br /&gt;
Claiming that the nude scenes are probably not from the actor named “Έλενα Ναθαναήλ”. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%A1%CE%B1%CE%BD%CF%84%CE%B5%CE%B2%CE%BF%CF%8D_%CE%BC%CE%B5_%CE%BC%CE%B9%CE%B1_%CE%AC%CE%B3%CE%BD%CF%89%CF%83%CF%84%CE%B7&amp;amp;diff=1700999&amp;amp;oldid=1029869"&gt;Diff link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The soap opera “Χίλιες και Μία Νύχτες (σειρά)”&lt;br /&gt;
Someone created the first version of the article on this soap opera. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%A7%CE%AF%CE%BB%CE%B9%CE%B5%CF%82_%CE%BA%CE%B1%CE%B9_%CE%9C%CE%AF%CE%B1_%CE%9D%CF%8D%CF%87%CF%84%CE%B5%CF%82_%28%CF%83%CE%B5%CE%B9%CF%81%CE%AC%29&amp;amp;oldid=2008275"&gt;Diff Link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Politician “Γιάννης Λαγουδάκος”&lt;br /&gt;
Someone edited his bio so it seemed that he would run for MP with the political party called “Ανεξάρτητοι Έλληνες”. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%93%CE%B9%CE%AC%CE%BD%CE%BD%CE%B7%CF%82_%CE%9B%CE%B1%CE%B3%CE%BF%CF%85%CE%B4%CE%AC%CE%BA%CE%BF%CF%82&amp;amp;diff=3214493&amp;amp;oldid=3171638"&gt;Diff Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;University professor “Γεώργιος Γαρδίκας”&lt;br /&gt;
Someone edited his profile and added a link for amateur football team “Αγιαξ Αιγάλεω”. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%93%CE%B5%CF%8E%CF%81%CE%B3%CE%B9%CE%BF%CF%82_%CE%93%CE%B1%CF%81%CE%B4%CE%AF%CE%BA%CE%B1%CF%82&amp;amp;diff=2839405&amp;amp;oldid=2209858"&gt;Diff Link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Politician “Λευτέρης Αυγενάκης”&lt;br /&gt;
Someone wanted to fix his bio and upload a file, so he/she added a link from the local computer “C:\Documents and Settings\user2\Local Settings\Temp\ΑΥΓΕΝΑΚΗΣ”. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%9B%CE%B5%CF%85%CF%84%CE%AD%CF%81%CE%B7%CF%82_%CE%91%CF%85%CE%B3%CE%B5%CE%BD%CE%AC%CE%BA%CE%B7%CF%82&amp;amp;diff=4170349&amp;amp;oldid=4170332"&gt;Diff link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;MP “Κώστας Μαρκόπουλος”&lt;br /&gt;
Someone wanted to fix his bio regarding his return to the “Νέα Δημοκρατία” political party. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%9A%CF%8E%CF%83%CF%84%CE%B1%CF%82_%CE%9C%CE%B1%CF%81%CE%BA%CF%8C%CF%80%CE%BF%CF%85%CE%BB%CE%BF%CF%82&amp;amp;diff=4531066&amp;amp;oldid=4505027"&gt;Diff Link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(Golden Dawn) MP “Νίκος Μιχαλολιάκος”&lt;br /&gt;
Someone was trying to “fix” his bio removing some accusations. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%9D%CE%AF%CE%BA%CE%BF%CF%82_%CE%9C%CE%B9%CF%87%CE%B1%CE%BB%CE%BF%CE%BB%CE%B9%CE%AC%CE%BA%CE%BF%CF%82&amp;amp;diff=next&amp;amp;oldid=3793711"&gt;Diff Link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(Golden Dawn) MP “Ηλίας Κασιδιάρης”&lt;br /&gt;
Someone was trying to fix his bio and remove various accusations and incidents. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%97%CE%BB%CE%AF%CE%B1%CF%82_%CE%9A%CE%B1%CF%83%CE%B9%CE%B4%CE%B9%CE%AC%CF%81%CE%B7%CF%82&amp;amp;diff=3793796&amp;amp;oldid=3772897"&gt;Diff Link 1&lt;/a&gt;, &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%97%CE%BB%CE%AF%CE%B1%CF%82_%CE%9A%CE%B1%CF%83%CE%B9%CE%B4%CE%B9%CE%AC%CF%81%CE%B7%CF%82&amp;amp;diff=next&amp;amp;oldid=3793799"&gt;Diff Link 2&lt;/a&gt;, &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%97%CE%BB%CE%AF%CE%B1%CF%82_%CE%9A%CE%B1%CF%83%CE%B9%CE%B4%CE%B9%CE%AC%CF%81%CE%B7%CF%82&amp;amp;diff=next&amp;amp;oldid=3793803"&gt;Diff Link 3&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Who’s done the edits ?&lt;/strong&gt;&lt;br /&gt;
The IP range of the Hellenic Parliament is not only used by MPs but from people working in the parliament as well. Don’t rush to any conclusions…&lt;br /&gt;
Oh, and the IP 195.251.32.48 is probably a proxy inside the Parliament.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Threat Model&lt;/strong&gt;&lt;br /&gt;
Not that it matters a lot for MPs and politicians in general, but it’s quite interesting that if someone “anonymously” edits a wikipedia article, &lt;a href="https://wikimediafoundation.org/wiki/Home"&gt;wikimedia&lt;/a&gt; stores the IP of the editor and provides it to anyone that wants to download the wiki archives. If the IP range is known, or someone has the legal authority within a country to force an ISP to reveal the owner of an IP, it is quite easy to spot the actual person behind an “anonymous” edit. But if someone creates an account to edit wikipedia articles, wikimedia does not publish the IPs of its users, the account database is private. To get an IP of a user, one would need to take wikimedia to courts to force them to reveal that account’s IP address. Since every wikipedia article edit history is available for anyone to download, one is actually “more anonymous to the public” if he/she logs in or creates a (new) account every time before editing an article, than editing the same article without an account. Unless someone is afraid that wikimedia will leak/disclose their account’s IPs.&lt;br /&gt;
So depending on their threat model, people can choose whether they want to create (new) account(s) before editing an article or not &lt;img src="http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Projects&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;&lt;a href="https://twitter.com/parliamentedits"&gt;Parliament WikiEdits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/congressedits"&gt;congress-edits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/RiksdagWikiEdit"&gt;Riksdagen redigerar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/wikistorting"&gt;Stortinget redigerer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AussieParlEdits"&gt;AussieParl WikiEdits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/edsu/anon"&gt;anon&lt;/a&gt;&lt;/li&gt;
&lt;p&gt;&lt;strong&gt;Bonus&lt;/strong&gt;&lt;br /&gt;
Anonymous edit from “Synaspismos Political Party” &lt;a href="https://apps.db.ripe.net/search/lookup.html?source=ripe&amp;amp;key=195.170.7.0%20-%20195.170.7.255&amp;amp;type=inetnum"&gt;(ΣΥΡΙΖΑ) address range&lt;/a&gt; for “Δημοκρατική Αριστερά” political party article, changing it’s youth party blog link to the PASOK youth party blog link. &lt;a href="https://el.wikipedia.org/w/index.php?title=%CE%94%CE%B7%CE%BC%CE%BF%CE%BA%CF%81%CE%B1%CF%84%CE%B9%CE%BA%CE%AE_%CE%91%CF%81%CE%B9%CF%83%CF%84%CE%B5%CF%81%CE%AC&amp;amp;diff=2731902&amp;amp;oldid=2731892"&gt;Diff Link&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 13 Jul 2014 12:10:07 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Segmentation fault when emerging packages after libpcre upgrade?</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1601</guid>
	<link>http://blog.siphos.be/2014/07/segmentation-fault-when-emerging-packages-after-libpcre-upgrade/</link>

	<description>&lt;p&gt;
SELinux users might be facing failures when emerge is merging a package to the file system, with an error that looks like so:
&lt;/p&gt;
&lt;pre&gt;&amp;gt;&amp;gt;&amp;gt; Setting SELinux security labels
/usr/lib64/portage/bin/misc-functions.sh: line 1112: 23719 Segmentation fault      /usr/sbin/setfiles "${file_contexts_path}" -r "${D}" "${D}"
 * ERROR: dev-libs/libpcre-8.35::gentoo failed:
 *   Failed to set SELinux security labels.
&lt;/pre&gt;
&lt;p&gt;
This has been &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=516608"&gt;reported as bug 516608&lt;/a&gt; and, after some investigation, the cause is found. First the quick workaround:
&lt;/p&gt;
&lt;pre&gt;~# cd /etc/selinux/strict/contexts/files
~# rm *.bin
&lt;/pre&gt;
&lt;p&gt;
And do the same for the other SELinux policy stores on the system (targeted, mcs, mls, …).
&lt;/p&gt;
&lt;p&gt;
Now, what is happening… Inside the mentioned directory, binary files exist such as &lt;code&gt;file_contexts.bin&lt;/code&gt;. These files contain the compiled regular expressions of the non-binary files (like &lt;code&gt;file_contexts&lt;/code&gt;). By using the precompiled versions, regular expression matching by the SELinux utilities is a lot faster. Not that it is massively slow otherwise, but it is a nice speed improvement nonetheless.
&lt;/p&gt;
&lt;p&gt;
However, when pcre updates occur, then the basic structures that pcre uses internally might change. For instance, a number might switch from a signed integer to an unsigned integer. As pcre is meant to be used within the same application run, most applications do not have any issues with such changes. However, the SELinux utilities effectively serialize these structures and later read them back in. If the new pcre uses a changed structure, then the read-in structures are incompatible and even corrupt.
&lt;/p&gt;
&lt;p&gt;
Hence the segmentation faults.
&lt;/p&gt;
&lt;p&gt;
To resolve this, &lt;a href="http://marc.info/?l=selinux&amp;amp;m=140492568205937&amp;amp;w=2"&gt;Stephen Smalley&lt;/a&gt; created a patch that includes PCRE version checking. This patch is now included in &lt;a href="http://packages.gentoo.org/package/sys-libs/libselinux"&gt;sys-libs/libselinux&lt;/a&gt; version 2.3-r1. The package also recompiles the existing &lt;code&gt;*.bin&lt;/code&gt; files so that the older binary files are no longer on the system. But there is a significant chance that this update will not trickle down to the users in time, so the workaround might be needed.
&lt;/p&gt;
&lt;p&gt;
I considered updating the pcre ebuilds as well with this workaround, but considering that libselinux is most likely to be stabilized faster than any libpcre bump I let it go.
&lt;/p&gt;
&lt;p&gt;
At least we have a solution for future upgrades; sorry for the noise.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Edit:&lt;/em&gt; &lt;code&gt;libselinux-2.2.2-r5&lt;/code&gt; also has the fix included.&lt;/p&gt;</description>
	<pubDate>Wed, 09 Jul 2014 18:35:26 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Multilib in Gentoo</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1598</guid>
	<link>http://blog.siphos.be/2014/07/multilib-in-gentoo/</link>

	<description>&lt;p&gt;
One of the areas in Gentoo that is seeing lots of active development is its ongoing effort to have proper &lt;a href="https://wiki.gentoo.org/wiki/Project:Multilib"&gt;multilib support&lt;/a&gt; throughout the tree. In the past, this support was provided through special emulation packages, but those have the (serious) downside that they are often outdated, sometimes even having security issues.
&lt;/p&gt;
&lt;p&gt;
But this active development is not because we all just started looking in the same direction. No, it’s thanks to a few developers that have put their shoulders under this effort, directing the development workload where needed and pressing other developers to help in this endeavor. And pushing is more than just creating &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=454644"&gt;bugreports&lt;/a&gt; and telling developers to do something.
&lt;/p&gt;
&lt;p&gt;
It is also about &lt;a href="http://article.gmane.org/gmane.linux.gentoo.devel/91125"&gt;communicating&lt;/a&gt;, &lt;a href="http://article.gmane.org/gmane.linux.gentoo.devel/91770"&gt;giving feedback&lt;/a&gt; and patiently helping developers when they have questions.
&lt;/p&gt;
&lt;p&gt;
I can only hope that other activities within Gentoo and its potential broad impact work on this as well. Kudos to all involved, as well as all developers that have undoubtedly put numerous hours of development effort in the hope to make their ebuilds multilib-capable (I know I had to put lots of effort in it, but I find it is worthwhile and a big learning opportunity).&lt;/p&gt;</description>
	<pubDate>Wed, 02 Jul 2014 19:03:59 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: D-Bus and SELinux</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=1595</guid>
	<link>http://blog.siphos.be/2014/06/d-bus-and-selinux/</link>

	<description>&lt;p&gt;
After a &lt;a href="http://blog.siphos.be/2014/06/d-bus-quick-recap/"&gt;post about D-Bus&lt;/a&gt; comes the inevitable related post about SELinux with D-Bus.
&lt;/p&gt;
&lt;p&gt;
Some users might not know that D-Bus is an SELinux-aware application. That means it has SELinux-specific code in it, which has the D-Bus behavior based on the SELinux policy (and might not necessarily honor the “permissive” flag). This code is used as an additional authentication control within D-Bus.
&lt;/p&gt;
&lt;p&gt;
Inside the SELinux policy, a &lt;em&gt;dbus&lt;/em&gt; permission class is supported, even though the Linux kernel doesn’t do anything with this class. The class is purely for D-Bus, and it is D-Bus that checks the permission (although work is being made to &lt;a href="https://lwn.net/Articles/580194/"&gt;implement D-Bus in kernel (kdbus)&lt;/a&gt;). The class supports two permission checks:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;acquire_svc&lt;/em&gt; which tells the domain(s) allowed to “own” a service (which might, thanks to the SELinux support, be different from the domain itself)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;send_msg&lt;/em&gt; which tells which domain(s) can send messages to a service domain&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Inside the D-Bus security configuration (the &lt;code&gt;busconfig&lt;/code&gt; XML file, remember) a service configuration might tell D-Bus that the service itself is labeled differently from the process that owned the service. The default is that the service inherits the label from the domain, so when &lt;code&gt;dnsmasq_t&lt;/code&gt; registers a service on the system bus, then this service also inherits the &lt;code&gt;dnsmasq_t&lt;/code&gt; label.
&lt;/p&gt;
&lt;p&gt;
The necessary permission checks for the &lt;code&gt;sysadm_t&lt;/code&gt; user domain to send messages to the dnsmasq service, and the dnsmasq service itself to register it as a service:
&lt;/p&gt;
&lt;pre&gt;allow dnsmasq_t self:dbus { acquire_svc send_msg };
allow sysadm_t dnsmasq_t:dbus send_msg;
allow dnsmasq_t sysadm_t:dbus send_msg;
&lt;/pre&gt;
&lt;p&gt;
For the &lt;code&gt;sysadm_t&lt;/code&gt; domain, the two rules are needed as we usually not only want to send a message to a D-Bus service, but also receive a reply (which is also handled through a &lt;em&gt;send_msg&lt;/em&gt; permission but in the inverse direction).
&lt;/p&gt;
&lt;p&gt;
However, with the following XML snippet inside its service configuration file, owning a certain resource is checked against a different label:
&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="code"&gt;&lt;pre style="font-family: monospace;" class="xml"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;selinux&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span style="color: #009900;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;associate&lt;/span&gt; &lt;span style="color: #000066;"&gt;own&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"uk.org.thekelleys.dnsmasq"&lt;/span&gt;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;             &lt;span style="color: #000066;"&gt;context&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;"system_u:object_r:dnsmasq_dbus_t:s0"&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;/selinux&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;
With this, the rules would become as follows:
&lt;/p&gt;
&lt;pre&gt;allow dnsmasq_t dnsmasq_dbus_t:dbus acquire_svc;
allow dnsmasq_t self:dbus send_msg;
allow sysadm_t dnsmasq_t:dbus send_msg;
allow dnsmasq_t sysadm_t:dbus send_msg;
&lt;/pre&gt;
&lt;p&gt;
Note that &lt;em&gt;only&lt;/em&gt; the access for acquiring a service based on a name (i.e. owning a service) is checked based on the different label. Sending and receiving messages is still handled by the domains of the processes (actually the labels of the connections, but these are always the process domains).
&lt;/p&gt;
&lt;p&gt;
I am not aware of any policy implementation that uses a different label for owning services, and the implementation is more suited to “force” D-Bus to only allow services with a correct label. This ensures that other domains that might have enough privileges to interact with D-Bus and own a service cannot own these particular services. After all, other services don’t usually have the privileges (policy-wise) to &lt;em&gt;acquire_svc&lt;/em&gt; a service with a different label than their own label.&lt;/p&gt;</description>
	<pubDate>Mon, 30 Jun 2014 18:07:11 +0000</pubDate>
</item>

</channel>
</rss>
