<?xml version="1.0" encoding="utf-8" ?>

<rss version="0.91" >
<channel>
<title>CBlog</title>
<link>http://blog.cboltz.de/</link>
<description></description>
<language>de</language>
<image>
        <url>http://blog.cboltz.de/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: CBlog - </title>
        <link>http://blog.cboltz.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Diesen Mittwoch: openSUSE 12.3 - und die Release Party in Nürnberg</title>
    <link>http://blog.cboltz.de/archives/66-Diesen-Mittwoch-openSUSE-12.3-und-die-Release-Party-in-Nuernberg.html</link>

    <description>
        &lt;p&gt;(Kleine Werbeeinlage auf speziellen Wunsch von &lt;a target=&quot;_blank&quot; href=&quot;http://michal.hrusecky.net/2013/03/opensuse-12-3-release-party-in-nurnberg/&quot;&gt;Michal Hrušecký&lt;/a&gt; ;-)&lt;/p&gt; 
&lt;p&gt;Die meisten Leute wissen wahrscheinlich schon, dass openSUSE 12.3 diesen Mittwoch (also morgen) releast wird.&lt;/p&gt; 
&lt;p&gt; Um das zu feiern, gibt es (ebenfalls am Mittwoch, also morgen) ab 19:00 Uhr eine Release Party im &lt;a target=&quot;_blank&quot; href=&quot;https://plus.google.com/106845764549487406816/about&quot;&gt;Artefakt&lt;/a&gt; in Nürnberg, bei der jeder willkommen ist. Dort kann man viele Geekos treffen, auch das openSUSE-Team von SUSE hat sich angekündigt und freut sich darauf, viele openSUSE-Begeisterte, Unterstützer und Benutzer zu sehen. Für Essen und openSUSE-Bier ist laut Michal gesorgt.&lt;/p&gt; 
&lt;p&gt;Natürlich ist auch der Star des Tages da - openSUSE 12.3 wird auf einem Demo-Rechner gezeigt. Mit etwas Glück gibt es auch ein Google Hangout für alle, die nicht nach Nürnberg kommen können - Infos dazu auf der &lt;a target=&quot;_blank&quot; href=&quot;https://plus.google.com/+opensuse/posts&quot;&gt;openSUSE G+-Seite&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Ich selbst kann leider nicht zur Party kommen, wünsche aber allen viel Spaß ;-)&lt;br /&gt;&lt;/p&gt; 
    </description>
</item>
<item>
    <title>openSUSE conference</title>
    <link>http://blog.cboltz.de/archives/65-openSUSE-conference.html</link>

    <description>
        &lt;p&gt; &lt;/p&gt; 
&lt;div style=&quot;width: 200px;&quot; class=&quot;serendipity_imageComment_left&quot;&gt; 
&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.cboltz.de/uploads/osc12/pic_8699.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:115 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/osc12/pic_8699.mini.jpg&quot; class=&quot;serendipity_image_left&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;emacs-based music at the party - maybe vi would have been better? ;-)&lt;/div&gt; 
&lt;/div&gt;Letztes Wochenende (bis Dienstag) war ich bei der &lt;a href=&quot;http://conference.opensuse.org/&quot;&gt;openSUSE conference&lt;/a&gt;, die diesmal in der &amp;quot;goldenen Stadt&amp;quot; Prag stattfand. Die Konferenz war sehr interessant - zum Einen die Vorträge, zum Anderen der &amp;quot;hallway track&amp;quot;, bei dem ich viele Leute persönlich traf, die ich sonst nur namentlich aus Mailinglisten oder Bugzilla kenne.










&lt;p&gt; &lt;/p&gt; 
&lt;p&gt;Mein Workshop zu AppArmor wurde von rund 15 Personen besucht, die jetzt mehr über AppArmor wissen. Es wurden auch Fragen zum Packaging von Profilen gestellt - mit etwas Glück bekommen also ein paar Programme ein AppArmor-Profil in ihr Paket oder das Profil wird upstream zur Aufnahme zu den Standard-Profilen vorgeschlagen. Die Folien zum Workshop gibt es am Ende dieses Eintrags.&lt;br /&gt;&lt;/p&gt; 
&lt;div style=&quot;width: 200px;&quot; class=&quot;serendipity_imageComment_right&quot;&gt; 
&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.cboltz.de/uploads/osc12/pic_8730.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:116 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/osc12/pic_8730.mini.jpg&quot; class=&quot;serendipity_image_right&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;The &amp;quot;golden town&amp;quot; prague, with the Charles Bridge on the left&lt;/div&gt; 
&lt;/div&gt; 
&lt;p&gt;Zum openSUSE Jeopardy kamen nur 5 Personen. Diese haben aber alle mitgespielt und hatten sichtlich Spaß, die passenden Fragen zu meinen Antworten rund um Linux und openSUSE zu finden - vor allem Jan, der beide Runden (und somit zwei Flaschen Wein) gewann. Der IRC-basierte &amp;quot;Buzzer&amp;quot; hat dabei gut funktioniert und kommt mit etwas Glück beim nächsten LinuxTag nochmal zum Einsatz.&lt;/p&gt; 
&lt;p&gt;Am Montag&amp;#160; war ich einer der wenigen Teilnehmer der BoF zur openSUSE landing page, die wir spontan etwas verlängerten. Daher fiel die admin@-BoF mehr oder weniger aus, was mangels anwesender Admins auch nicht wirklich schlimm war. Danach wurde ich von Coolo noch zum Filmen freiwillig gemeldet ;-) - die schrecklichen Publikums-Bilder vom Montag Nachmittag (Project Meeting etc.) und Dienstag (hauptsächlich Raum Riker) stammen von mir ;-)&lt;/p&gt; 
&lt;p&gt;Vielen Dank an alle, die zur openSUSE Conference beigetragen haben, and für die &lt;a href=&quot;http://en.opensuse.org/openSUSE:Travel_Support_Program&quot;&gt;Unterstützung bei den Reisekosten&lt;/a&gt;!&lt;br /&gt;&lt;/p&gt; 
&lt;div style=&quot;width: 200px;&quot; class=&quot;serendipity_imageComment_left&quot;&gt; 
&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.cboltz.de/uploads/osc12/pic_8741.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:117 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/osc12/pic_8741.mini.jpg&quot; class=&quot;serendipity_image_left&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;AppArmor workshop&lt;/div&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;span style=&quot;color: #009900;&quot;&gt;Last weekend (until tuesday) I visited the &lt;a href=&quot;http://conference.opensuse.org/&quot;&gt;openSUSE conference&lt;/a&gt; which was in the &amp;quot;golden town&amp;quot; Prague this year. The conference was very interesting. One part are the talks, the other part is the &amp;quot;hallway track&amp;quot; where I met lots of people I only knew from mailinglists or bugzilla.&lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #009900;&quot;&gt;About 15 persons took part in my AppArmor workshop, which means they now know more about AppArmor. Some also asked about packaging of AppArmor profiles. If we are lucky, some applications will receive a profile in their package, or their profile will be proposed for inclusion the the upstream set of default profiles. The slides I used in the workshop are available for download at the end of this post.&lt;/span&gt;&lt;/p&gt; 
&lt;div style=&quot;width: 200px;&quot; class=&quot;serendipity_imageComment_right&quot;&gt; 
&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.cboltz.de/uploads/osc12/pic_8763.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:118 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/osc12/pic_8763.mini.jpg&quot; class=&quot;serendipity_image_left&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt; 
&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Jürgen&#039;s UFO advertising &lt;a href=&quot;http://blip.tv/openSUSEtv&quot; target=&quot;_blank&quot;&gt;openSUSE TV&lt;/a&gt;&lt;/div&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;span style=&quot;color: #009900;&quot;&gt;Only 5 persons came to my openSUSE jeopardy, but they all played and had fun in finding the matching questions for my answers about Linux and openSUSE. Jan must have had most fun - he won both rounds (and two bottles of wine). The IRC based &amp;quot;buzzer&amp;quot; worked quite well and will probably be used again at next LinuxTag.&lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #009900;&quot;&gt;On monday, I was one of the few participants of the BoF about the openSUSE landing page, which we extended time-wise. This also means the admin@ BoF was more or less dropped, which wasn&#039;t really bad because there weren&#039;t admins around. Afterwards, Coolo volunteered me ;-) to operate a video camera. The terrible pictures of the audience on monday afternoon (project meeting etc.) and tuesday (mostly room Riker) are from me ;-) &lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #009900;&quot;&gt;Thanks to everybody who contributed to the openSUSE Conference, and for the &lt;a href=&quot;http://en.opensuse.org/openSUSE:Travel_Support_Program&quot;&gt;travel support&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;Slides:&lt;/p&gt; 
&lt;ul&gt; 
&lt;li&gt;&lt;a href=&quot;http://blog.cboltz.de/uploads/osc12/apparmor-in-der-praxis-2012.pdf&quot;&gt;AppArmor Crashkurs (deutsch)&lt;/a&gt;&lt;/li&gt; 
&lt;li&gt;&lt;a href=&quot;http://blog.cboltz.de/uploads/osc12/apparmor-english-2012-v2.pdf&quot;&gt;AppArmor crash course (english)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt; 
&lt;/ul&gt; 
    </description>
</item>
<item>
    <title>1001 Bugs - oder: die goldenen Regeln für schlechte Programmierung</title>
    <link>http://blog.cboltz.de/archives/64-1001-Bugs-oder-die-goldenen-Regeln-fuer-schlechte-Programmierung.html</link>

    <description>
        &lt;p&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;1001-bugs-oder-die-goldenen-regeln-fuer-schlechte-programmierung.pdf&quot; href=&quot;http://blog.cboltz.de/uploads/1001-bugs-oder-die-goldenen-regeln-fuer-schlechte-programmierung.pdf&quot;&gt;&lt;!-- s9ymdb:106 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; class=&quot;serendipity_image_right&quot; src=&quot;http://blog.cboltz.de/uploads/1001-bugs-oder-die-goldenen-regeln-fuer-schlechte-programmierung.mini.pdf.png&quot; title=&quot;1001-bugs-oder-die-goldenen-regeln-fuer-schlechte-programmierung.pdf&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;Mit meinem &amp;quot;1001 Bugs&amp;quot;-Vortrag habe ich die openSUSE Conference überlebt, obwohl mancher Entwickler vermutlich nicht ganz glücklich war, dass ich einen seiner peinlichen Bugs entdeckt hatte ;-)&lt;/p&gt; 
&lt;p&gt;Daher hielt ich diesen Vortrag in leicht überarbeiteter Form und in deutsch auch  auf dem LinuxTag. Den ca. 80-90 Zuhörern hat es scheinbar gefallen - neben einigen Lachern zwischendurch bekam die &amp;quot;spezielle Regel für openSUSE&amp;quot; sogar Szenenapplaus :-)&lt;/p&gt; 
&lt;p&gt;Wer den Vortrag auf dem LinuxTag verpasst hat oder sich die Folien (incl. Notitzen) nochmal ansehen will - bitte schön:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;http://blog.cboltz.de/uploads/1001-bugs-oder-die-goldenen-regeln-fuer-schlechte-programmierung.pdf&quot;&gt;1001 Bugs - oder: die goldenen Regeln für schlechte Programmierung als PDF&lt;/a&gt;&lt;br /&gt;(Die LibreOffice-Datei stelle ich auf Anfrage gern bereit.)&lt;br /&gt;&lt;/p&gt; 
    </description>
</item>
<item>
    <title>1001 bugs - or: the golden rules of bad programming</title>
    <link>http://blog.cboltz.de/archives/63-1001-bugs-or-the-golden-rules-of-bad-programming.html</link>

    <description>
        &lt;p&gt;&lt;a class=&quot;serendipity_image_link&quot; href=&quot;http://blog.cboltz.de/uploads/1001-bugs-or-golden-rules-of-bad-programming.pdf&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; class=&quot;serendipity_image_right&quot; src=&quot;http://blog.cboltz.de/uploads/1001-bugs-or-golden-rules-of-bad-programming.mini.pdf.png&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;If you missed my talk at the openSUSE conference or want to see the slides (including notes) again - here we are:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;http://blog.cboltz.de/uploads/1001-bugs-or-golden-rules-of-bad-programming.pdf&quot;&gt;1001 bugs - or: the golden rules of bad programming as PDF&lt;/a&gt;&lt;br /&gt;(If you need an editable LibreOffice file, just drop me a note.)&lt;/p&gt; 
    </description>
</item>
<item>
    <title>1001 bugs</title>
    <link>http://blog.cboltz.de/archives/62-1001-bugs.html</link>

    <description>
        &lt;p&gt;1001 bugs - das ist eins der Ergebnisse meiner Mitarbeit bei (open)SUSE: Ich habe vorhin meinen &lt;a target=&quot;_blank&quot; href=&quot;https://bugzilla.novell.com/show_bug.cgi?id=714560&quot;&gt;1001. Bugreport&lt;/a&gt; eingereicht. Außerdem werde ich unter dem Motto &amp;quot;1001 bugs - or: the golden rules of bad programming&amp;quot; einen Vortrag auf der &lt;a target=&quot;_blank&quot; href=&quot;http://conference.opensuse.org/&quot;&gt;openSUSE conference&lt;/a&gt; halten. Die genaue Beschreibung meines Vortrags steht unter dem englischen Text. Ich habe schon eine ganze Reihe von Ideen für den Vortrag, bin aber für Vorschläge in den Kommentaren offen. &lt;/p&gt; 
&lt;p&gt;Wer sich für meine Bugzilla-Statistik interessiert, findet unten den Screenshot. Man sieht deutlich, dass ich bei SUSE Linux 9.2 mit dem Betatesten angefangen habe und seitdem die Entwickler mit Bugreports zuschütte ;-)&lt;br /&gt;&lt;/p&gt; 
&lt;p style=&quot;color: #006600;&quot;&gt;1001 bugs - that&#039;s one of the results of my work on (open)SUSE: I just filed my &lt;a target=&quot;_blank&quot; href=&quot;https://bugzilla.novell.com/show_bug.cgi?id=714560&quot;&gt;1001. bugreport&lt;/a&gt;. Besides that, I&#039;ll give a talk &amp;quot;1001 bugs - or: the golden rules of bad programming&amp;quot; at the &lt;a target=&quot;_blank&quot; href=&quot;http://conference.opensuse.org/&quot;&gt;openSUSE conference&lt;/a&gt;. I already have lots of ideas for my talk, however I&#039;m open for proposals - just add a comment here. &lt;/p&gt; 
&lt;p style=&quot;color: #006600;&quot;&gt;If you are interested in my bugzilla statistics, have a look at the screenshot below. You can clearly see that I started beta-testing with SUSE Linux 9.2 and since then overwhelm the developers with bugreports ;-)&lt;br /&gt;&lt;/p&gt; 
&lt;p style=&quot;color: #006600;&quot;&gt;But first I&#039;ll give you the the detailed description of my talk: &lt;br /&gt;&lt;/p&gt;&lt;span style=&quot;color: #006600;&quot;&gt; &lt;/span&gt; 
&lt;blockquote&gt;&lt;strong&gt;1001 bugs - or: the golden rules of bad programming&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You&#039;ll find lots of books telling you how to write good code. That&#039;s nice and maybe even useful, but boring ;-)&lt;br /&gt;&lt;br /&gt;My talk will give you something more inspiring: the golden rules of bad programming. It also comes with some interesting[tm] things I&#039;ve seen in bugzilla as topping.&lt;br /&gt;&lt;br /&gt;Most examples will be in pseudocode to be understandable for everybody.&lt;br /&gt;&lt;/blockquote&gt; 
&lt;p&gt; &lt;/p&gt; 
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 975px;&quot;&gt; 
&lt;div class=&quot;serendipity_imageComment_img&quot; style=&quot;overflow:auto;&quot;&gt;&lt;!-- s9ymdb:104 --&gt;&lt;img width=&quot;975&quot; height=&quot;718&quot; class=&quot;serendipity_image_center&quot; src=&quot;http://blog.cboltz.de/uploads/1001-bugs-by-cboltz-bugzilla-statistics-cut.png&quot; alt=&quot;&quot;  /&gt;&lt;/div&gt; 
&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Bugzilla report for &amp;quot;reporter contains @cboltz.de&amp;quot;&lt;br /&gt;(the reports for 9.x and some other products are non-public, which means you&#039;ll probably get a lower number)&lt;br /&gt;&lt;/div&gt; 
&lt;/div&gt; 
    </description>
</item>
<item>
    <title>Die BESTEN der BESTEN der BESTEN, SIR! </title>
    <link>http://blog.cboltz.de/archives/61-Die-BESTEN-der-BESTEN-der-BESTEN,-SIR!.html</link>

    <description>
        &lt;p&gt;&lt;!-- s9ymdb:103 --&gt;&lt;/p&gt;Gerade gesehen:&lt;br /&gt; 
&lt;p&gt;&lt;img width=&quot;470&quot; height=&quot;189&quot; alt=&quot;&amp;quot;Memory allocation failure&amp;quot; auf blog.fefe.de&quot; src=&quot;http://blog.cboltz.de/uploads/blog.fefe.de-memory-allocation-failure.png&quot; class=&quot;serendipity_image_center&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;*SCNR*&lt;/p&gt; 
&lt;p&gt;(Titel geguttenborgt von Fefe)&lt;br /&gt;&lt;/p&gt; 
    </description>
</item>
<item>
    <title>patch2mail 1.1</title>
    <link>http://blog.cboltz.de/archives/60-patch2mail-1.1.html</link>

    <description>
        &lt;p&gt;(nur für Admins interessant, daher nur auf englisch)&lt;/p&gt; 
&lt;p&gt;&lt;font color=&quot;#006600&quot;&gt;I just released patch2mail 1.1 which will send you a mail when updates are available for your openSUSE system.&lt;/font&gt;&lt;/p&gt; 
&lt;p&gt;&lt;font color=&quot;#006600&quot;&gt;Changes:&lt;/font&gt;&lt;/p&gt; 
&lt;ul&gt; 
&lt;li&gt;&lt;font color=&quot;#006600&quot;&gt;patch2mail will now also send notifications for package updates, not only for patches (configurable in /etc/sysconfig/patch2mail)&lt;br /&gt;&lt;/font&gt;&lt;/li&gt; 
&lt;li&gt;&lt;font color=&quot;#006600&quot;&gt;include a note about package manager updates (they can hide other updates)&lt;br /&gt;&lt;/font&gt;&lt;/li&gt; 
&lt;li&gt;&lt;font color=&quot;#006600&quot;&gt;older distributions are still supported of course - just make sure to install the package for the correct distribution. However the new features listed above are only supported on 11.1 and newer.&lt;br /&gt;&lt;/font&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;font color=&quot;#006600&quot;&gt; You can &lt;a href=&quot;http://software.opensuse.org/search?q=patch2mail&amp;amp;baseproject=ALL&amp;amp;include_home=true&quot; target=&quot;_blank&quot;&gt;download patch2mail&lt;/a&gt; from the openSUSE build service.&lt;br /&gt;&lt;/font&gt;&lt;/p&gt; 
&lt;p&gt;&lt;font color=&quot;#006600&quot;&gt;I have also submitted the new version to Factory (SR 74130).&lt;/font&gt; &lt;br /&gt;&lt;/p&gt; 
    </description>
</item>
<item>
    <title>Spezieller Alias - und ein neues Zuhause für apparmor.vim</title>
    <link>http://blog.cboltz.de/archives/59-Spezieller-Alias-und-ein-neues-Zuhause-fuer-apparmor.vim.html</link>

    <description>
        &lt;p&gt;Erstmal ein kleines Schnipsel aus meiner Konsole:&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #006600;&quot;&gt;Let&#039;s start with a sniplet from my console:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;cb@geeko:~/postfixadmin&amp;gt; svn help | head -n1
usage: svn &amp;lt;subcommand&amp;gt; [options] [args]
cb@geeko:~/postfixadmin&amp;gt; cd /home/cb/apparmor
cb@geeko:~/apparmor&amp;gt; svn help | head -n1
Bazaar 2.0.5 -- a free distributed version-control tool&lt;/pre&gt; 
&lt;p&gt; &lt;/p&gt; 
&lt;p&gt;Mein SVN ist nicht verrückt geworden ;-) - ich habe nur ein kleines Script vorgelagert, das man am Besten als Verzeichnis-abhängigen Alias bezeichnen könnte. Wenn ich im Verzeichnis ~/apparmor bin, wird  aus &amp;quot;svn&amp;quot; wie durch Geisterhand ein &amp;quot;bzr&amp;quot;-Aufruf. Das Script &lt;font face=&quot;courier new,courier,monospace&quot;&gt;~/bin/svn&lt;/font&gt; ist nicht wirklich kompliziert:&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #006600;&quot;&gt;My SVN didn&#039;t go crazy ;-) - I just prepended a small script you could best describe as directory-dependent alias. When I&#039;m working in ~/apparmor, it magically replaces &amp;quot;svn&amp;quot; with a &amp;quot;bzr&amp;quot; call. The script &lt;/span&gt;&lt;font face=&quot;courier new,courier,monospace&quot; style=&quot;color: #006600;&quot;&gt;~/bin/svn&lt;/font&gt;&lt;span style=&quot;color: #006600;&quot;&gt; is not really complicated:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;#!/bin/bash
command=/usr/bin/svn&amp;#160; # use the full path. Just &quot;svn&quot; will result in an endless loop!
pwd | grep -q ^/home/cb/apparmor &amp;amp;&amp;amp; command=/usr/bin/bzr
exec $command &quot;$@&quot;&lt;/pre&gt; 
&lt;p&gt;Warum ich das Ganze brauche? Ich habe seit kurzem Commit-Rechte bei AppArmor, damit apparmor.vim 
endlich ein offizielles Zuhause hat. Außerdem habe ich schon ein paar 
Profil-Updates commited. (Keine Angst: vom C-Code werde ich mich 
fernhalten ;-)&lt;/p&gt; 
&lt;p&gt; &lt;/p&gt; 
&lt;p&gt;AppArmor verwendet Bazaar für die Versionskontrolle, und das ist glücklicherweise Parameter-kompatibel zu SVN (zumindest bei dem, was ich brauche) und erspart mir so die Umgewöhnung an noch eine Versionsverwaltung. &lt;/p&gt; 
&lt;p&gt;Nebenbei: Für Bazaar musste ich mir einen Launchpad-Zugang einrichten, und habe natürlich[tm] auch gleich einen &lt;a href=&quot;https://bugs.launchpad.net/bugs/747695&quot; target=&quot;_blank&quot;&gt;Bug in Launchpad&lt;/a&gt; gefunden ;-)&lt;br /&gt;&lt;/p&gt; 
&lt;p style=&quot;color: #006600;&quot;&gt;Why do I need this? Since a short while, I have commit access for AppArmor. This finally gives apparmor.vim an official home. I also commited some profile updates. (Don&#039;t worry - I&#039;ll stay away from the C code ;-)&lt;/p&gt; 
&lt;p style=&quot;color: #006600;&quot;&gt;AppArmor uses Bazaar as version control system, which is luckily parameter compatible to SVN (at least for the commands I use). This means I don&#039;t have to keep another version control system in mind.&lt;/p&gt; 
&lt;p style=&quot;color: #006600;&quot;&gt;BTW: For Bazaar I had to create a Launchpad account, and of course[tm] found a &lt;a href=&quot;https://bugs.launchpad.net/bugs/747695&quot; target=&quot;_blank&quot;&gt;Launchpad bug&lt;/a&gt; instantly ;-)&lt;/p&gt; 
    </description>
</item>
<item>
    <title>Releases!</title>
    <link>http://blog.cboltz.de/archives/58-Releases!.html</link>

    <description>
        &lt;p&gt;Gleich zwei Releases in einem Blog-Eintrag:&lt;/p&gt; 
&lt;ul&gt; 
&lt;li&gt;gerade eben habe ich &lt;a target=&quot;_blank&quot; href=&quot;http://sf.net/projects/postfixadmin&quot;&gt;PostfixAdmin 2.3.3&lt;/a&gt; freigegeben - ein reines Bugfix-Release, für Details verweise ich auf das &lt;a href=&quot;http://postfixadmin.svn.sourceforge.net/viewvc/postfixadmin/tags/postfixadmin-2.3.3/CHANGELOG.TXT&quot;&gt;Changelog&lt;/a&gt; ;-)&lt;/li&gt; 
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://software.opensuse.org&quot;&gt;openSUSE 11.4&lt;/a&gt; wurde am letzten Donnerstag freigegeben - mit vielen neuen Versionen, Features und, was mich besonders freut, mit AppArmor 2.5.1 and funktionierenden AppArmor-Utils :-) Details gibt es im &lt;a target=&quot;_blank&quot; href=&quot;http://news.opensuse.org/2011/03/10/opensuse-11-4/&quot;&gt;offiziellen openSUSE Release Announcement&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt;&lt;span style=&quot;color: #009900;&quot;&gt;One blog post, two releases:
&lt;/span&gt; 
&lt;ul&gt; 
&lt;li style=&quot;color: #009900;&quot;&gt;I just released &lt;a target=&quot;_blank&quot; href=&quot;http://sf.net/projects/postfixadmin&quot;&gt;PostfixAdmin 2.3.3&lt;/a&gt; - a pure bugfix release, see the &lt;a href=&quot;http://postfixadmin.svn.sourceforge.net/viewvc/postfixadmin/tags/postfixadmin-2.3.3/CHANGELOG.TXT&quot;&gt;Changelog&lt;/a&gt; for details;-)&lt;/li&gt; 
&lt;li style=&quot;color: #009900;&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://software.opensuse.org/&quot;&gt;openSUSE 11.4&lt;/a&gt; was released last thursday - with lots of new versions, features, and, most pleasant for me, with AppArmor 2.5.1 and working AppArmor utilities :-) See the &lt;a target=&quot;_blank&quot; href=&quot;http://news.opensuse.org/2011/03/10/opensuse-11-4/&quot;&gt;official openSUSE Release Announcement&lt;/a&gt; for details.&lt;/li&gt; 
&lt;/ul&gt; 
    </description>
</item>
<item>
    <title>Keysigning made easy</title>
    <link>http://blog.cboltz.de/archives/57-Keysigning-made-easy.html</link>

    <description>
        &lt;p&gt;(... more or less ;-)&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;Auf der openSUSE conference gab es neben vielen interessanten Vorträgen und noch mehr netter Leute aus der openSUSE community eine Keysigning-Party. Damit nicht jeder von ganz vorn anfangen muss, hier mein HowTo zum schnellen Signieren der Keys mit caff. Da die &amp;quot;Amtssprache&amp;quot; auf der conference englisch war, gibt es dieses HowTo auch nur in englisch ;-)&lt;/p&gt; 
&lt;p&gt;At the openSUSE conference I heard many interesting talks and met lots of nice people from the openSUSE community. I also took part at the keysigning party. To avoid that everybody has to start from scratch, here is a HowTo sign keys efficiently with caff.&lt;/p&gt; 
&lt;h2&gt;Preparation&lt;/h2&gt; 
&lt;p&gt;Install caff. It&#039;s included in the package &amp;quot;signing-party&amp;quot; in the home:worldcitizen repo and requires perl-GnuPG-Interface and several other packages from devel:languages:perl.&lt;/p&gt; 
&lt;pre&gt;zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_11.3/ devel:languages:perl
zypper ar -f http://download.opensuse.org/repositories/home:/worldcitizen/openSUSE_11.3 home:worldcitizen
zypper in signing-party&lt;/pre&gt; 
&lt;p&gt;caff uses postfix to send out the signed keys (or whatever listens on localhost:25), therefore you have to make sure to have&amp;#160; a working config. Many mailservers reject mails from dialup hosts nowadays. You have to setup postfix to send mails using your provider&#039;s mail relay (usually needs SMTP Auth), and you have to make sure it converts your local &amp;quot;geeko@localhost&amp;quot; sender with a working mail address. You can do this with YaST or (as I did) edit /etc/postfix/main.cf directly:&lt;/p&gt; 
&lt;pre&gt;relayhost = mailserver.example.com
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_canonical_maps = hash:/etc/postfix/sender_canonical&lt;/pre&gt; 
&lt;p&gt;Restart postfix after this changes (&amp;quot;rcpostfix restart&amp;quot;). &lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;sasl_passwd must contain a line like this:&lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;# servername&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SMTP Auth username&amp;#160;&amp;#160; password
mailserver.example.com user@example.com&amp;#160;&amp;#160;&amp;#160;&amp;#160; topsecret
&lt;/pre&gt; 
&lt;p&gt;sender_cannonical looks like this: (host.name is the output of &amp;quot;hostname -f&amp;quot;, geeko is your username)&lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;geeko@host.name user@example.com
&lt;/pre&gt; 
&lt;p&gt;Then run postmap - postfix always reads the binary form (*.db) of the files, not the plain text version.&lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;postmap sasl_passwd
postmap sender_cannonical
&lt;/pre&gt; 
&lt;p&gt;If unsure, send a test mail to yourself (&amp;quot;echo foo | mail -s testmail you@example.com&amp;quot;) and check if the sender address is correct. &lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;Now you have to configure caff. Run &amp;quot;caff&amp;quot; once to generate the configuration file ~/.caffrc, then edit at least the following settings:&lt;/p&gt; 
&lt;pre&gt;$CONFIG{&#039;owner&#039;}
$CONFIG{&#039;email&#039;}
$CONFIG{&#039;keyid&#039;}&lt;/pre&gt; 
&lt;h2&gt;Signing the keys&lt;/h2&gt; 
&lt;p&gt;I always sign the fingerprints instead of the key ids. This has the advantage that I don&#039;t have to compare the fingerprints manually.&lt;/p&gt; 
&lt;pre&gt;cp ksp-opensuse-conf-10.txt keys-to-sign.txt
vi keys-to-sign.txt&lt;/pre&gt; 
&lt;p&gt; &lt;/p&gt; 
&lt;p&gt;Remove all keys you do not want to sign (those from people that missed the keysigning party or with invalid ID cards) from keys-to-sign.txt. Also remove your own key from the list, it&#039;s pointless to sign it.&lt;/p&gt; 
&lt;p&gt;If people gave you additional keys on a paper strip, create a list of their key ids and save it as additional-keys.txt. Then run&lt;/p&gt; 
&lt;p&gt; &lt;/p&gt; 
&lt;p&gt; &lt;/p&gt; 
&lt;pre&gt;gpg --recv-keys `cat additional-keys`
echo &quot;--- additional keys ---&quot; &amp;gt;&amp;gt; keys-to-sign.txt
LANG=C gpg --fingerprint `cat additional-keys ` &amp;gt;&amp;gt; keys-to-sign.txt&lt;/pre&gt; 
&lt;p&gt;After that, open keys-to-sign.txt and check the fingerprint of the newly added keys. This is important because they were not included in the original checksum of the ksp*.txt file.&lt;/p&gt; 
&lt;p&gt;Then create a list of fingerprints to sign:&lt;/p&gt; 
&lt;pre&gt;grep &quot;Key fingerprint&quot; keys-to-sign.txt  | sed &#039;s/.*= // ; s/ //g&#039; &amp;gt; fingerprints-to-sign.txt&lt;/pre&gt; 
&lt;p&gt;For some reason, caff failed to download the keys for me. Therefore I did it myself. (Replace /home/cb/.caff/ with the tempdir you use for caff in the following command)&lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;gpg --homedir=/home/cb/.caff/gnupghome --secret-keyring /home/cb/.gnupg/secring.gpg \
&amp;#160;&amp;#160;&amp;#160; --recv-keys `cat fingerprints-to-sign.txt`
&lt;/pre&gt; 
&lt;p&gt;After that, you can finally sign the keys and mail them to their owners: &lt;br /&gt;&lt;/p&gt; 
&lt;pre&gt;caff `cat fingerprints-to-sign.txt`&lt;/pre&gt; 
&lt;p&gt;To be sure nothing goes wrong, check against your printed list from the keysigning party that you really want to sign the key. To save the signature, type &amp;quot;save&amp;quot; at the gpg&amp;gt; prompt.&lt;/p&gt; 
&lt;p&gt;That&#039;s it. You should now have produced a mail flood ;-) to the owners of all the keys you signed.&lt;/p&gt; 
    </description>
</item>
<item>
    <title>LinuxTag 2010 - Henne bügelt...</title>
    <link>http://blog.cboltz.de/archives/56-LinuxTag-2010-Henne-buegelt....html</link>

    <description>
        &lt;p&gt; &lt;/p&gt; 
&lt;p&gt;Auf dem LinuxTag 2010 geht es heiß zu. Damit meine ich nicht nur das Wetter, sondern auch Henne. Er wird wohl zur Hausfrau - gestern hat er sogar auf dem openSUSE-Stand gebügelt...&lt;/p&gt; 
&lt;p style=&quot;color: #009900;&quot;&gt;LinuxTag 2010 is hot. I don&#039;t only mean the weather with this, but also Henne. He seems to become a housewife - yesterday he started ironing at the openSUSE booth...&lt;/p&gt; 
&lt;p&gt; 
&lt;table cellspacing=&quot;10&quot; border=&quot;0&quot;&gt; 
&lt;tbody&gt; 
&lt;tr&gt; 
&lt;td&gt; &lt;a href=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4513.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:99 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4513.mini.jpg&quot; class=&quot;serendipity_image_center&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/td&gt; 
&lt;td&gt; &lt;a href=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4516.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:100 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4516.mini.jpg&quot; class=&quot;serendipity_image_center&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/td&gt; 
&lt;/tr&gt; 
&lt;/tbody&gt; 
&lt;/table&gt; 
&lt;/p&gt; 
&lt;p&gt;Anschließend ging es zur LinuxNacht am Berliner Strand (Beach at the Box). Eine nette Location, aber leider mussten wir ab 23:00 Uhr in die &amp;quot;Box&amp;quot;.&lt;/p&gt; 
&lt;p style=&quot;color: #009900;&quot;&gt;Afterwards we went to the LinuxNacht at the Berlin beach (Beach at the Box). A nice location, but unfortunately we had to go inside at 11pm.&lt;/p&gt; 
&lt;p&gt; 
&lt;table cellspacing=&quot;10&quot; cellpadding=&quot;0&quot; border=&quot;0&quot;&gt; 
&lt;tbody&gt; 
&lt;tr&gt; 
&lt;td&gt; &lt;a href=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4517.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:101 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4517.mini.jpg&quot; class=&quot;serendipity_image_center&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt; 
&lt;td&gt; &lt;a href=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4518.jpg&quot; class=&quot;serendipity_image_link&quot;&gt;&lt;!-- s9ymdb:102 --&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;http://blog.cboltz.de/uploads/linuxtag2010/pic_4518.mini.jpg&quot; class=&quot;serendipity_image_center&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt; 
&lt;/tr&gt; 
&lt;/tbody&gt; 
&lt;/table&gt;&lt;br /&gt; 
&lt;/p&gt; 
    </description>
</item>
<item>
    <title>MultiBoilerplate: Vorlagen pro Namespace</title>
    <link>http://blog.cboltz.de/archives/55-MultiBoilerplate-Vorlagen-pro-Namespace.html</link>

    <description>
        &lt;p&gt;Die Mediawiki-Extension &lt;a target=&quot;_blank&quot; href=&quot;http://www.mediawiki.org/wiki/Extension:MultiBoilerplate&quot;&gt;MultiBoilerplate&lt;/a&gt; ermöglicht es, beim Anlegen einer Seite eine oder mehrere Vorlagen zur Auswahl anzubieten. Das ist schonmal gut. Noch besser ist es allerdings, wenn die Vorlagen-Liste je nach Namespace eingestellt werden kann - eine Vorlage für eine neue Seite ist z. B. nicht als Vorlage für eine Hilfeseite  geeignet.&lt;/p&gt; 
&lt;p&gt;Die Lösung ist ein kleiner Patch, den ich für MultiBoilerplate geschrieben habe. Dieser ist im &lt;a target=&quot;_blank&quot; href=&quot;https://bugzilla.wikimedia.org/show_bug.cgi?id=22759&quot;&gt;Mediawiki Bugtracker&lt;/a&gt; verfügbar (und wird hoffentlich in der nächsten MultiBoilerplate-Version aufgenommen ;-) Der Patch enthält auch eine Beschreibung der nötigen Config-Optionen.&lt;br /&gt;&lt;/p&gt; 
&lt;p style=&quot;color: #00cc00;&quot;&gt;The Mediawiki-Extension &lt;a target=&quot;_blank&quot; href=&quot;http://www.mediawiki.org/wiki/Extension:MultiBoilerplate&quot;&gt;MultiBoilerplate&lt;/a&gt; allows to offer one or more boilerplates when creating a new page. That&#039;s quite good. It&#039;s even better to offer different boilerplates for each namespace - for example, a boilerplate for a new page is not necessarily a good boilerplate for a help page.&lt;/p&gt; 
&lt;p style=&quot;color: #00cc00;&quot;&gt;The solution is a small patch I wrote for MultiBoilerplate. You can download it from the &lt;a target=&quot;_blank&quot; href=&quot;https://bugzilla.wikimedia.org/show_bug.cgi?id=22759&quot;&gt;Mediawiki Bugtracker&lt;/a&gt; (and will hopefully be included in the next version of MultiBoilerplate ;-) The patch includes a description of the necessary config options.&lt;/p&gt; 
    </description>
</item>
<item>
    <title>Prosit Neujahr!</title>
    <link>http://blog.cboltz.de/archives/54-Prosit-Neujahr!.html</link>

    <description>
        &lt;p&gt;Prosit Neujahr und alles Gute für 2010! Dieser Artikel enthält einiges, das ich schon 2009 bloggen wollte, und außerdem eine kleine Neujahrsüberraschung von SpamAssassin ;-)&lt;/p&gt; 
&lt;p style=&quot;color: #00cc00;&quot;&gt;Happy New Year! This article contains some things I wanted to blog about in 2009 already, and a little new year surprise from SpamAssassin ;-)&lt;/p&gt; 
&lt;ul&gt; 
&lt;li&gt; &lt;a href=&quot;http://sourceforge.net/projects/postfixadmin&quot; target=&quot;_blank&quot;&gt;PostfixAdmin&lt;/a&gt; 2.3 wurde im Oktober 2009 releast, RPMs gibt es natürlich im &lt;a href=&quot;http://download.opensuse.org/repositories/home:/cboltz/&quot; target=&quot;_blank&quot;&gt;openSUSE Build Service&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/postfixadmin&quot;&gt;PostfixAdmin&lt;/a&gt;&lt;span style=&quot;color: #00cc00;&quot;&gt; 2.3 was released in october 2009, RPMs are available in the &lt;/span&gt;&lt;a href=&quot;http://download.opensuse.org/repositories/home:/cboltz/&quot;&gt;openSUSE Build Service&lt;/a&gt;&lt;/li&gt; 
&lt;li&gt;Postfixadmin 2.4 (oder 3.0?) wird Smarty für die Templates verwenden&lt;br /&gt;&lt;span style=&quot;color: #00cc00;&quot;&gt;PostfixAdmin 2.4 (or 3.0?) will use smarty for the templates&lt;/span&gt;&lt;/li&gt; 
&lt;li&gt;PostfixAdmin 2.3.1 (alle Bugfixes seit dem 2.3-Release, aber ohne Smarty) ist in Arbeit&lt;br /&gt;&lt;span style=&quot;color: #00cc00;&quot;&gt;PostfixAdmin 2.3.1 (with all bugfixes since 2.3 release, but without smarty) is under development&lt;/span&gt;&lt;/li&gt; 
&lt;li&gt;openSUSE 11.2 wurde im November 2009 releast, und auch gleich von uns (Jan, Jan-Simon und mir) auf der Open Source Expo in Karlsruhe präsentiert&lt;br /&gt;&lt;span style=&quot;color: #00cc00;&quot;&gt;openSUSE 11.2 was released in november 2009, and presented by us (Jan, Jan-Simon and me) at the Open Source Expo in Karlsruhe&lt;/span&gt;&lt;/li&gt; 
&lt;li&gt;und die Neujahrsüberraschung von SpamAssassin: 2010 bekommt jede Mail erstmal 3.188 Punkte... - &lt;a href=&quot;https://bugzilla.novell.com/show_bug.cgi?id=567852&quot;&gt;Bugreport&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;color: #00cc00;&quot;&gt;and the new year surprise from SpamAssassin: every mail in 2010 gets 3.188 points... - &lt;/span&gt;&lt;a href=&quot;https://bugzilla.novell.com/show_bug.cgi?id=567852&quot; target=&quot;_blank&quot;&gt;Bugreport&lt;/a&gt;&lt;br /&gt;&lt;/li&gt; 
&lt;/ul&gt; 
    </description>
</item>
<item>
    <title>AppArmor in der Praxis</title>
    <link>http://blog.cboltz.de/archives/53-AppArmor-in-der-Praxis.html</link>

    <description>
        &lt;p&gt;&amp;quot;AppArmor in der Praxis&amp;quot; - unter diesem Titel hielt ich einen Vortrag auf dem LinuxTag, der trotz des eher trockenen Themas (Security!) recht gut besucht war. Ich habe versucht, den Vortrag so unterhaltsam wie möglich zu halten - ob mir das gelungen ist, darf gern in den Kommentaren vermerkt werden ;-)&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;Ein &lt;a href=&quot;http://www.Landjugend-Insheim.de/aktuell_seifenkiste.html&quot; target=&quot;_blank&quot;&gt;Seifenkisten-Rennen&lt;/a&gt; und fast zwei Wochen später gibt es meine Präsentation zum Download. (Die Originaldatei im OpenDocument-Format ist auf Anfrage erhältlich.) Eine Video-Aufzeichnung des Vortrags müsste demnächst im &lt;a target=&quot;_blank&quot; href=&quot;http://en.opensuse.org/LinuxTag_2009&quot;&gt;openSUSE-Wiki&lt;/a&gt; verfügbar sein.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #006600;&quot;&gt;&amp;quot;AppArmor in practise&amp;quot; is the title of the talk I gave at LinuxTag which was received quite well despite the &amp;quot;pedestrian&amp;quot; security topic. Nevertheless I tried to make the talk as lively as possible - feel free to add a comment if this worked out ;-)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #006600;&quot;&gt;One &lt;a href=&quot;http://www.Landjugend-Insheim.de/aktuell_seifenkiste.html&quot; target=&quot;_blank&quot;&gt;soap box race&lt;/a&gt; and nearly two weeks later, I managed to upload my presentation (german). (The original file in OpenDocument format is available on request.) A video recording of my talk should be available on the &lt;a target=&quot;_blank&quot; href=&quot;http://en.opensuse.org/LinuxTag_2009&quot;&gt;openSUSE wiki&lt;/a&gt; soon.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; 
&lt;p&gt;Download:&lt;a href=&quot;http://blog.cboltz.de/uploads/linuxtag2009/apparmor-in-der-praxis.pdf&quot;&gt;apparmor-in-der-praxis.pdf&lt;/a&gt;&lt;br /&gt; &lt;/p&gt; 
    </description>
</item>
<item>
    <title>th_mailformplus und Attachments</title>
    <link>http://blog.cboltz.de/archives/52-th_mailformplus-und-Attachments.html</link>

    <description>
        &lt;p&gt;Auf der Typo3-Website eines Kunden verwende ich th_mailformplus für ein Webformular mit Dateiupload. Funktioniert auch soweit, allerdings wurde die hochgeladene Datei (trotz entsprechender Konfiguration des Formulars) nicht an die Maill angehängt.&lt;/p&gt; 
&lt;p&gt;Seit vorhin kenne ich den Grund: Der Mail-Funktion wird nur der Dateiname ohne Pfad angegeben, und dadurch findet die Funktion natürlich die Datei nicht und kann sie auch nicht anhängen :-(&amp;#160; Außerdem endet der Dateiname noch mit \n.&lt;/p&gt; 
&lt;p&gt; Ich habe eben einen kleinen &lt;a href=&quot;http://bugs.typo3.org/view.php?id=6593&quot; target=&quot;_blank&quot;&gt;Patch in den Typo3-Bugtracker&lt;/a&gt; hochgeladen, der den Pfad beim Dateinamen einfügt und das \n per trim() entsorgt. Und schon werden Mails mit Anhang verschickt :-)&lt;/p&gt; 
&lt;p style=&quot;color: #00cc00;&quot;&gt;I use th_mailformplus for a mailform with file upload on a customer&#039;s typo3 website. Works mostly, but the uploaded file was not attached to the mail (even if the mailform config was correct).&lt;/p&gt; 
&lt;p style=&quot;color: #00cc00;&quot;&gt;Since a short while ago I know the reason: The mail function is called with the filename without path, and therefore obviously can&#039;t find the file :-(&amp;#160; Besides that, the filename ends with \n.&lt;/p&gt; 
&lt;p&gt;&lt;span style=&quot;color: #00cc00;&quot;&gt;I just uploaded a &lt;a href=&quot;http://bugs.typo3.org/view.php?id=6593&quot; target=&quot;_blank&quot;&gt;small patch to the Typo3 bugtracker&lt;/a&gt; which inserts the path into the filename and removes the \n using trim(). Now mailformplus sends mails with attachments :-)&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; 
    </description>
</item>

</channel>
</rss>
