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

<channel>
	<title>Runtux Blog &#187; skurril</title>
	<atom:link href="http://blog.runtux.com/category/skurril/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.runtux.com</link>
	<description>Neues, Interessantes, Skurriles</description>
	<lastBuildDate>Fri, 23 Sep 2011 08:09:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SIGALRM blocked forever &#8212; by init</title>
		<link>http://blog.runtux.com/2011/09/23/194/</link>
		<comments>http://blog.runtux.com/2011/09/23/194/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 08:09:43 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=194</guid>
		<description><![CDATA[I&#8217;m working on an embedded Linux system which allows to chose the root filesystem to boot from (flash card or NAND flash) early in the boot process. Now I was trying to get ppp (for a GSM/GPRS connection) working. But the chat-script hangs forever, it does not get a timeout. Turns out, chat uses alarm(2) [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on an embedded Linux system which allows to chose the root filesystem to boot from (flash card or NAND flash) early in the boot process. Now I was trying to get ppp (for a GSM/GPRS connection) working. But the chat-script hangs forever, it does not get a timeout. Turns out, chat uses alarm(2) to wait for a timeout. After quite some time of debugging I found out that SIGALRM is blocked (look for <code>SigBlk</code> in <code>/proc/pid/status</code>, this is the mask of blocked signals for process with <code>pid</code>).</p>
<p>After some googling I came across a <a href="http://www.landley.net/notes.html">blog entry</a> (look for September 5, 2011) that describes a bug in bash: Bash, when calling &#8220;read&#8221; with a timeout, will install a signal handler for SIGALRM and <em>longjump out of the signal handler</em>, leaving SIGALRM blocked forever.</p>
<p>The boot-script runs as init (with pid 1) and therefore will leave SIGALRM blocked for all children. My immediate workaround is to read the filesystem to boot in a sub-shell&#8230;seems the bug is fixed with newer versions of bash.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2011/09/23/194/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fotovoltaik Förderung die 2.</title>
		<link>http://blog.runtux.com/2009/09/29/131/</link>
		<comments>http://blog.runtux.com/2009/09/29/131/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 11:39:41 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[deutsch]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=131</guid>
		<description><![CDATA[Vor kurzem habe ich ja meine Erlebnisse bei der Beantragung der Fotovoltaik-Förderung hier beschrieben. Inzwischen weiss ich dass ich nicht gefördert werde:
&#8220;In Niederösterreich stehen Förderungsmittel in der Höhe von EUR 4.750.000 zur Verfügung, mit diesen Mitteln können 426 Projekte gefördert werden. Ihr Ansuchen ist an 746. Stelle gereiht und kann daher derzeit aus dem verfügbaren [...]]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem habe ich ja meine Erlebnisse bei der Beantragung der <a href="http://blog.runtux.com/2009/08/11/109/">Fotovoltaik-Förderung</a> hier beschrieben. Inzwischen weiss ich dass ich nicht gefördert werde:</p>
<p>&#8220;In Niederösterreich stehen Förderungsmittel in der Höhe von EUR 4.750.000 zur Verfügung, mit diesen Mitteln können 426 Projekte gefördert werden. Ihr Ansuchen ist an 746. Stelle gereiht und kann daher derzeit aus dem verfügbaren Budget leider nicht gefördert werden&#8221;</p>
<p>Mich würde ja doch interessieren, wie anfechtbar eine Reihung nach Web-Formular-Ausfüllen ist &#8212; nach meiner Erfahrung muss es sich da um Sekunden gehandelt haben, in der Zeit haben offensichtlich über 700 Niederösterreicher vor mir eingereicht. Woher weiss ich, dass die Webserver-Ausfallzeit nicht benutzt wurde, um eigene &#8220;VIPs&#8221; mal zuerst in die Datenbank einzutragen?</p>
<p>Ich habs ja schonmal geschrieben: Eine Ziehung unter notarieller Aufsicht wäre fairer und transparenter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/09/29/131/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zusatzgeb&#252;hren bei Orange Telefonvertrag</title>
		<link>http://blog.runtux.com/2009/09/03/118/</link>
		<comments>http://blog.runtux.com/2009/09/03/118/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 12:26:57 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[deutsch]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=118</guid>
		<description><![CDATA[Seit kurzer Zeit habe ich f&#252;r meinen Sohn einen Telefonvertrag mit Orange. Der Vertrag beinhaltet 1GB Internet Download. Auf den letzten beiden Rechnungen schienen kostenpflichtige Downloads von sms.at auf, in der Serviceabrechnung steht unter der Rubrik &#34;Folgende Rabatte wurden ber&#252;cksichtigt&#34; unter &#34;1 GB inkludiertes Datenvolumen&#34; f&#252;r 255MB eine Gutschrift von 3.285,97 Euro. Das l&#228;sst ungef&#228;hr [...]]]></description>
			<content:encoded><![CDATA[<p>Seit kurzer Zeit habe ich f&#252;r meinen Sohn einen Telefonvertrag mit Orange. Der Vertrag beinhaltet 1GB Internet Download. Auf den letzten beiden Rechnungen schienen kostenpflichtige Downloads von sms.at auf, in der Serviceabrechnung steht unter der Rubrik &quot;Folgende Rabatte wurden ber&#252;cksichtigt&quot; unter &quot;1 GB inkludiertes Datenvolumen&quot; f&#252;r 255MB eine Gutschrift von 3.285,97 Euro. Das l&#228;sst ungef&#228;hr erahnen, was f&#252;r eine Kostenlawine bei &#220;berschreitung des monatlichen Datenvolumens auf einen zukommt.<br />
Nun wollte ich also sowohl kostenpflichtige Internet-Downloads als auch eine Sperre bei Erreichen der 1GB Grenze bei der Orange Hotline einstellen lassen. Die Auskunft: Das ist leider nicht m&#246;glich, wir k&#246;nnen aber das Internet ganz sperren. Das hab ich jetzt gemacht, ist aber eine wirklich unbefriedigende L&#246;sung.<br />
Hallo Orange: Ihr schafft es ja (zugegeben von <a href="http://www.rtr.at/de/tk/mwd_beschwerde">RTR</a> vorgeschrieben) auch, sogenannte Mehrwert-Rufnummern zu sperren &#8212; ohne dass man gleich das Telefon abmelden muss. Warum nicht auch kostenpflichtige Internet-Seiten? Es muss ja eine Gesch&#228;ftsbeziehung zwischen Orange und sms.at geben, sonst k&#246;nnte sms.at ja nicht &#252;ber Orange abrechnen.<br />
Und eine Beschr&#228;nkung der Internet-Bandbreite ist bei vielen brauchbaren Providern auch problemlos m&#246;glich.<br />
Also w&#252;nsche ich mir von Euch diesbez&#252;glich eine Verbesserung. Sonst wechseln wir halt bei n&#228;chster Gelegenheit wieder mal den Anbieter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/09/03/118/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fotovoltaik Förderung</title>
		<link>http://blog.runtux.com/2009/08/11/109/</link>
		<comments>http://blog.runtux.com/2009/08/11/109/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 14:45:28 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[deutsch]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=109</guid>
		<description><![CDATA[Ich bin ja dabei, noch dieses Jahr eine Fotovoltaik-Anlage bei uns aufs Dach bauen zu lassen. Dazu gibt es die Klimafonds-Photovoltaik-F&#246;rderung, die ich beantragt habe. Die Presse hat ja dazu berichtet, dass der Server zusammengebrochen ist.
Der Nachfolgeartikel widerspricht sich, was den Zeitpunkt der Aussch&#246;pfung der F&#246;rderung dieses Jahr betrifft, dort steht &#34;Allein die Steiermark und [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin ja dabei, noch dieses Jahr eine Fotovoltaik-Anlage bei uns aufs Dach bauen zu lassen. Dazu gibt es die Klimafonds-Photovoltaik-F&#246;rderung, die ich beantragt habe. Die Presse hat ja dazu berichtet, dass <a href="http://diepresse.com/home/wirtschaft/economist/500452">der Server zusammengebrochen</a> ist.<br />
Der <a href="http://diepresse.com/home/leben/wohnen/501006">Nachfolgeartikel</a> widerspricht sich, was den Zeitpunkt der Aussch&#246;pfung der F&#246;rderung dieses Jahr betrifft, dort steht &quot;Allein die Steiermark und Nieder&#246;sterreich h&#228;tten innerhalb der ersten acht Stunden der Aktion 50 Millionen Euro ben&#246;tigt&quot; (zur Verf&#252;gung standen nur 18 Millionen) und etwas sp&#228;ter &quot;Dass es etwa einen Arbeitstag lang dauerte, bis die 18 Millionen an die Konsumenten gebracht wurden, lag am Zusammenbruch des Servers&#8230;&quot;<br />
Anyway, hier m&#246;chte ich jetzt kurz meine Aufzeichnungen w&#228;hrend der Beantragung wiedergeben. Ich war kurz vor 10:00 Uhr online. Um kurz vor 11:30 hatte ich das Formular erfolgreich abgeschickt. Ein Log:<br />
Schon am Vorabend und auch noch um kurz vor 10:00 am 4.8. hatte die Seite &lt;<a href="http://www.klimafonds.gv.at/home/foerderungen/photovoltaik.html">http://www.klimafonds.gv.at/home/foerderungen/photovoltaik.html</a>&gt; einen seltsamen Tomcat-Error der auf einen Fehler in der Datenbank schliessen l&#228;sst (ein Duplicate Key). Der Link zur Anmeldung &lt;<a href="http://www.service-publicconsulting.at/pv/">http://www.service-publicconsulting.at/pv/</a>&gt; mit dem Titel &quot;Photovoltaikf&#246;rderungsantrag&quot; war aber navigierbar und hatte ein Redirect auf &lt;<a href="http://www.pv-service-publicconsulting.at/kkpv/">http://www.pv-service-publicconsulting.at/kkpv/</a>&gt; dieser wiederum f&#252;hrte aber zu einer &#220;berlastungsseite &lt;<a href="http://www.service-publicconsulting.at/pv/index_offline.html">http://www.service-publicconsulting.at/pv/index_offline.html</a>&gt;<br />
Nach einiger Zeit f&#252;hren alle Seiten, also &lt;<a href="http://www.service-publicconsulting.at/pv/">http://www.service-publicconsulting.at/pv/</a>&gt; &lt;<a href="http://www.service-publicconsulting.at/pv/index.html">http://www.service-publicconsulting.at/pv/index.html</a>&gt; &lt;<a href="http://www.service-publicconsulting.at/pv/index_offline.html">http://www.service-publicconsulting.at/pv/index_offline.html</a>&gt;<br />
zum selben Text mit einem Link &quot;Photovoltaikf&#246;rderungsantrag (derzeit nicht verf&#252;gbar)&quot;<br />
Dann etwa eine Stunde sp&#228;ter (kurz nach 11:00):<br />
&quot;Photovoltaikf&#246;rderungsantrag (derzeit &#252;berlastet)&quot;<br />
Etwa um 11:15 hatten dann die direkten Links &lt;<a href="http://www.service-publicconsulting.at/pv/">http://www.service-publicconsulting.at/pv/</a>&gt; &lt;<a href="http://www.service-publicconsulting.at/pv/index.html">http://www.service-publicconsulting.at/pv/index.html</a>&gt;<br />
wieder ein Redirect auf &lt;<a href="http://www.pv-service-publicconsulting.at/kkpv/">http://www.pv-service-publicconsulting.at/kkpv/</a>&gt; die wiederum auf &lt;<a href="http://www.service-publicconsulting.at/pv/index_offline.html">http://www.service-publicconsulting.at/pv/index_offline.html</a>&gt; redirectete.<br />
Kurz darauf (kurz vor 11:30) ging dann erstmalig das Anmeldeformular als Redirect von &lt;<a href="http://www.pv-service-publicconsulting.at/kkpv/">http://www.pv-service-publicconsulting.at/kkpv/</a>&gt;<br />
Nach erfolgreicher Anmeldung bekam ich auch einen Email-Zustellversuch auf meinem Server, der aber wegen Greylisting nicht durchkam:
<pre>

Aug  4 11:29:34 debian3264m postfix/smtpd[18583]: NOQUEUE: reject:
       RCPT from k969.ims-firmen.de[213.174.47.182]: 450 4.7.1
       &lt;ralf@zoo.priv.at&gt;: Recipient address rejected: Greylisted, see

http://isg.ee.ethz.ch/tools/postgrey/help/zoo.priv.at.html;

       from=&lt;pv.service@kommunalkredit.at&gt; to=&lt;ralf@zoo.priv.at&gt;
       proto=ESMTP helo=&lt;bruce.connex.cc&gt;
</pre>
<p>10 Minuten sp&#228;ter kam dann auch die Email durch:
<pre>

Aug  4 11:39:13 debian3264m postfix/smtpd[19080]: 3D5AE814E:
       client=k969.ims-firmen.de[213.174.47.182]
Aug  4 11:39:13 debian3264m postfix/cleanup[19086]: 3D5AE814E:
       message-id=&lt;1144469538.1283.1249378174385.JavaMail.tomcatkk@bruce.connex.cc&gt;
Aug  4 11:39:13 debian3264m postfix/smtpd[19080]: disconnect from
       k969.ims-firmen.de[213.174.47.182]
Aug  4 11:39:13 debian3264m postfix/qmgr[29847]: 3D5AE814E:
       from=&lt;pv.service@kommunalkredit.at&gt;, size=5844, nrcpt=1 (queue active)
Aug  4 11:39:13 debian3264m postfix/local[19087]: 3D5AE814E:
       to=&lt;web11_ralf@static.88-198-162-230.clients.your-server.de&gt;,
       orig_to=&lt;ralf@zoo.priv.at&gt;, relay=local, delay=0.28,
       delays=0.25/0/0/0.03, dsn=2.0.0, status=sent (delivered to command:
       /usr/bin/procmail -f-)
Aug  4 11:39:13 debian3264m postfix/qmgr[29847]: 3D5AE814E: removed
</pre>
<p>Hoffen wir mal, dass sich der Aufwand von 1.5 Stunden gelohnt hat. Die Gew&#228;hrung von F&#246;rderungen von der Reihenfolge der Antragstellung bei einem kaputten Server abh&#228;ngig zu machen l&#228;sst nat&#252;rlich viele Vermutungen &#252;ber Ungerechtigkeiten zu: Woher weiss ich, dass andere nicht fr&#252;her durchgekommen sind? Vielleicht haben andere Bewerber noch einige Zeit lang ein Meldung wegen &#220;berlastung bekommen, w&#228;hrend andere schon munter ihren Antrag ausgef&#252;llt haben? W&#228;re man schneller gewesen, wenn man einen Robot programmiert h&#228;tte? Vielleicht waren Robots an der &#220;berlastung schuld?<br />
Mir w&#228;re da eine Frist und eine Ziehung unter notarieller Aufsicht deutlich lieber, damit w&#252;rde klar zugegeben dass es ein Gl&#252;cksspiel ist &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/08/11/109/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Verletzung der Netzneutralität durch Inode/UPC</title>
		<link>http://blog.runtux.com/2009/06/15/103/</link>
		<comments>http://blog.runtux.com/2009/06/15/103/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 09:17:03 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[deutsch]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=103</guid>
		<description><![CDATA[Seit einiger Zeit bekommt man von Inode/UPC einen automatischen Nameserver (DNS) zugeteilt der bei offensichtlichen Tippfehlern (wenn ein Benutzer sich beim Namen einer Webseite verschreibt) eine Werbe- und Suchmaschine von UPC zurückliefert &#8212; statt dem Benutzer mitzuteilen, dass es diese Domain nicht gibt.
Diese Verhalten eines der wichtigsten Services im Internet &#8212; der Namensauflösung &#8212; verletzt [...]]]></description>
			<content:encoded><![CDATA[<p>Seit einiger Zeit bekommt man von Inode/UPC einen automatischen Nameserver (DNS) zugeteilt der bei offensichtlichen Tippfehlern (wenn ein Benutzer sich beim Namen einer Webseite verschreibt) eine Werbe- und Suchmaschine von UPC zurückliefert &#8212; statt dem Benutzer mitzuteilen, dass es diese Domain nicht gibt.</p>
<p>Diese Verhalten eines der wichtigsten Services im Internet &#8212; der Namensauflösung &#8212; verletzt klar die <a href="http://de.wikipedia.org/wiki/Netzneutralit%C3%A4t">Netzneutralität</a> wie auch schon im Jahr 2007 von Ed Felten in seinem <a href="http://www.freedom-to-tinker.com/blog/felten/verizon-violates-net-neutrality-dns-deviations">Blog im Falle Verizon</a> festgestellt wurde. Verizon hat wohl seither auf diese Praxis &#8212; nach vielen Protesten &#8212; wieder verzichtet. Berechtigterweise wurde UPC für diese Praxis für den <a href="http://bigbrotherawards.at/2008/Nominierungen#UPC_-_Aus_.C3.B6sterreichischen_Tippfehlern_werden_US-Werbeprofile">Big Brother Award</a> nominiert &#8212; die gesammelten Daten gehen offensichtlich an einen ausländischen Werbeunternehmer. Zumindest in einem Fall kommt es bei diesem Verhalten zu Probleme bei Telefonie im Internet wie einem <a href="http://www.ip-phone-forum.de/showthread.php?t=191607">Forum Posting</a> zu entnehmen ist.</p>
<p>Schlimmer noch: UPC liefert falschen Information auch für Domains die ganz klar von jemand anderem reserviert sind. Wenn ich also nonexistent.source-forge.org ansurfe komme ich auch auf die Werbeseite von UPC &#8212; obwohl source-forge.org (ja mit Bindestrich) von dem grossen Open Source Projekthoster sourceforge reserviert ist. Hoffentlich lässt es da mal jemand auf ein Gerichtsverfahren wegen unlauterem Wettbewerb ankommen. Wäre vermutlich recht lukrativ, jedenfalls bei anderen Firmen als Sourceforge.</p>
<p>Mir war das bisher nicht aufgefallen, aber offensichtlich wurden ehemalige Inode-Kunden erst vor kurzem umgestellt, UPC-Telekabel Kunden offensichtlich schon früher.</p>
<p>Heute habe ich mich bei der UPC-Hotline beschwert. Man werde an dem Fall arbeiten und &#8220;den Fehler&#8221; beheben. Leider könne man mir keine Ticket-Nummer geben unter welcher ich meine Beschwerde nochmal urgieren kann &#8212; aber ich könne ja &#8220;in einigen Tagen&#8221; wieder anrufen. Ein Rückruf wurde mir versprochen, mal sehen ob da was kommt. Ich habe den Hotline-Bearbeiter freundlich darauf hingewiesen, dass es sich ja nicht um einen unbekannten Fehler handeln kann, wenn UPC dafür bereits für den Big Brother Award nominiert wurde.</p>
<p>Inzwischen habe ich einen Workaround gefunden: UPC hat die alten, funktionierenden Nameserver nicht abgeschaltet, in obigem Link des ip-phone-forums findet man funktionierende DNS-Server: 195.34.133.25 und 195.34.133.26 die man fix einstellen kann. Weitere Tips finden sich als Antwort auf mein <a href="http://www.luga.at/mailing-lists/luga/2009/06/msg00026.html">Posting an die LUGA-Mailingliste</a>. Die alternative ist, gleich einen eigenen Nameserver zu betreiben (unter Linux sehr einfach möglich) oder auf alternative Namenshierarchien umzusatteln wie z.B. <a href="http://www.opennicproject.org/">opennicproject</a> &#8212; auch wenn man bei Verwendung von Alternativen von einer <a href="http://www.golem.de/0904/66730.html">deutschen Ministerin gleich als pädophil</a> eingestuft wird. Es ist kaum zu glauben, was manche Politiker für einen Schwachsinn von sich geben.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/06/15/103/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Warum ich nicht mit Skype telefoniere</title>
		<link>http://blog.runtux.com/2009/05/28/98/</link>
		<comments>http://blog.runtux.com/2009/05/28/98/#comments</comments>
		<pubDate>Thu, 28 May 2009 08:24:46 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[asterisk]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[licensing]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[skurril]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=98</guid>
		<description><![CDATA[Nachdem ich immer mal wieder gefragt werde, was meine Skype-ID sei, hier meine Gründe, warum ich Skype nicht verwende:
Die Firma Skype hat fr&#252;her Peer-to-Peer Filesharing-Software hergestellt (mit dem Namen &#34;KaZaA&#34;), Filesharing-Programme dienen zum Tauschen von Musik und anderen elektronischen Inhalten. Diese Software hat nachgewiesenermassen sogenannte &#8220;Spyware&#8221; enthalten (vgl. auch diverse Tips, wie man diese ausschalten [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich immer mal wieder gefragt werde, was meine Skype-ID sei, hier meine Gründe, warum ich Skype nicht verwende:</p>
<p>Die Firma Skype hat fr&#252;her Peer-to-Peer Filesharing-Software hergestellt (mit dem Namen <a href="http://www.voip-info.org/tiki-index.php?page=Skype">&quot;KaZaA&quot;</a>), Filesharing-Programme dienen zum Tauschen von Musik und anderen elektronischen Inhalten. Diese Software hat nachgewiesenermassen sogenannte <a href="http://www.zdnet.de/news/security/0,39023046,39128156,00.htm">&#8220;Spyware&#8221; enthalten</a> (vgl. auch diverse Tips, wie man diese <a href="http://www.mpex.net/news/archiv/00392.html">ausschalten k&#246;nnen soll</a>). Unter <a href="http://de.wikipedia.org/wiki/Spyware">Spyware</a> verstehen wir Programme, die unbemerkt vom Eigent&#252;mer eines Rechners diesen Rechner ausspioniert und die ausspionierten Daten via Internet an den Programmierer der Spyware schickt. Zu den ausspionierten Daten z&#228;hlen Statistiken &#252;ber das Besuchen von Websites bis zu Passw&#246;rtern. Was genau die von der KaZaA Spyware ausspionierten Daten sind entzieht sich meiner Kenntnis. Ich vertraue solchen Leuten meine Telefongespr&#228;che nicht an.</p>
<p>Es gibt eine unabh&#228;ngige Analysen von Skype <a href="http://www.simson.net/ref/2005/OSI_Skype6.pdf">2005</a> und <a href="http://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-biondi/bh-eu-06-biondi-up.pdf">2006</a>, nach der in der analysierten Skype-Version keine Hinweise auf Spyware gefunden wurden. Das kannn sich inzwischen ge&#228;ndert haben und diese Analyse sagt nichts &#252;ber die Sicherheit von Skype aus:</p>
<p>Skype (und vorher schon KaZaA) enthalten Mechanismen, um automatisch neue Software-Versionen (teilweise ohne Wissen oder sogar Zustimmung des Benutzers) zu installieren. In einer solchen neuen Version k&#246;nnte Spyware enthalten sein &#8212; oder auch nur eine Software-Fehler der vorher nicht enthalten war. Damit ist man den Herstellern der Software ausgeliefert, da es unter der Kontrolle von Skype ist, was in neuen Versionen enthalten sein wird. Man k&#246;nnte auch sagen: Nach Installation von Skype geh&#246;rt Dir Dein Computer nicht mehr.</p>
<p>Dann wird immer wieder behauptet, die Kommunikation mit Skype sei verschl&#252;sselt. Das mag ja stimmen. Der Grund ist aber wohl nicht die Privatsph&#228;re des Nutzers, sondern die Absicht, zu verhindern, dass andere Software schreiben, die das Skype-Protokoll spricht. Denn was n&#252;tzt mir die Verschl&#252;sselung wenn ich nicht weiss, wer den Schl&#252;ssel besitzt? Der Benutzer von Skype besitzt den Schl&#252;ssel jedenfalls nicht.</p>
<p>Zum Abh&#246;ren hat Kurt Sauer, Leiter der Sicherheitsabteilung von Skype, auf die durch ZDNet gestellte Frage, ob Skype die Gespr&#228;che abh&#246;ren k&#246;nne, ausweichend geantwortet: &quot;Wir stellen eine sichere Kommunikationsm&#246;glichkeit zur Verf&#252;gung. Ich werde Ihnen nicht sagen, ob wir dabei zuh&#246;ren k&#246;nnen oder nicht.&quot; (vgl. den Artikel in der <a href="http://de.wikipedia.org/wiki/Skype#Kritik">deutschen Wikipedia</a> dazu bzw. direkt das <a href="http://www.zdnet.de/mobiles_internet_drahtloses_arbeiten_telefonieren_uebers_internet_wie_sicher_ist_skype_wirklich_story-39001620-39151472-1.htm">ZDNET-Interview</a>.</p>
<p>Hinzu kommt, dass sich Skype an keinerlei etablierte Standards im Bereich der Sprachkommunikation &#252;ber Internet-Protokolle h&#228;lt, ja wie Skype genau funktioniert ist nicht offengelegt, es kann also keine andere Firma derzeit Programme bauen, die mit Skype-Software zusammen funktioniert. Solche &quot;Closed Source&quot; Programme f&#246;rdern Monopolstellungen und sind &#8212; &#228;hnlich wie z.B. Monopolstellungen im Bereich von Nahrungsmitteln wie Genmais von Monsanto &#8212; mit erh&#246;hter Wachsamkeit zur Kenntnis zu nehmen. Die etablierten Standards im Bereich der Sprachkommunikation stehen Punkto Sprachqualit&#228;t u.a. Skype in nichts nach.</p>
<p>Skype hat &#8212; aus seiner Peer-to-Peer Vergangenheit &#8212; Mechanismen um durch <a href="http://de.wikipedia.org/wiki/Firewall">Firewalls</a> zu &quot;tunneln&quot;. Diese Techniken, auch als &quot;Firewall Piercing&quot; bekannt, sind f&#252;r die Sicherheit einer Firma gef&#228;hrlich, oder wie humorvoll von einem Kollegen formuliert: <a href="http://www.luga.at/mailing-lists/luga/2005/11/msg00107.html">&quot;Firewall Piercings k&#246;nnen sich entz&#252;nden und eitern&quot;</a>.</p>
<p>Es gibt etablierte Standards zur Sprachkommunikation wie z.B. SIP (Session Initiation Protocol) f&#252;r den Verbindungsaufbau. Es gibt <a href="http://www.runtux.com/oss.html">Open Source</a> Implementierungen f&#252;r &quot;Softphones&quot;, das sind &#8212; &#228;hnlich wie Skype &#8212; Programme mit welchen &#252;ber einen Computer telefoniert werden kann. Ein Beispiel ist <a href="http://www.qutecom.org/">Qutecom</a> (fr&#252;her &quot;Wengo Phone&quot;), eine Suche nach &quot;Softphone&quot; in Google sollte noch einige andere zutage f&#246;rdern. Es gibt nat&#252;rlich auch kommerzielle Anbieter solcher Programme (teilweise als Closed Source), der Knackpunkt liegt in einem gemeinsamen Protokoll bei dem alle mitmachen k&#246;nnen. Es gibt inzwischen auch &quot;Hard&quot; phones, also ein Ding was wie ein Telefon aussieht, aber hinten einen Ethernet-Anschluss hat und SIP spricht. Sehr preiswert ist das <a href="http://www.grandstream.com/faqsbudgetone.html">Budgetone von Grandstream</a>, ein weiterer Anbieter ist z.B. <a href="http://snom.com/">Snom</a> und Cisco hat einige kleinere Anbieter wie Sipura gekauft.</p>
<p>Ich habe selbst keine grosse Erfahrungen mit solchen Softphones auf Windows oder MAC Plattformen. F&#252;r Erfahrungsberichte bin ich dankbar.</p>
<p>Dann gibt es Anbieter, die Vermittlungst&#228;tigkeiten f&#252;r solche Softphones anbieten. Ein Beispiel ist  <a href="http://www.sipgate.de/user/index.php">sipgate</a>, andere finden sich auf  <a href="http://www.voip-info.org/wiki-VOIP+Service+Providers">voip-info.org</a>. Man meldet sich dort an, kann gratis mit anderen Softphones &#252;ber das Internet telefonieren, bekommt bei einigen Anbietern sogar kostenlos eine Telefonnummer &#252;ber die man vom Festnetz aus angerufen werden kann. Das &quot;Businessmodell&quot; dieser Anbieter sind Anrufe vom Internet ins Festnetz. Die kosten dann etwas, sind aber immer noch deutlich g&#252;nstiger als z.B. die Telekom in Deutschland oder Österreich.</p>
<p>Ein weiterer SIP-Dienst ist <a href="http://ekiga.net">ekiga.net</a> vom Team des gleichnamigen Open Source Soft-Phones <a href="http://ekiga.org">Ekiga</a>, ich bin dort z.B. als <a href="rsc@ekiga.net">rsc@ekiga.net</a> erreichbar.</p>
<p>Ausserdem ist ein &#246;ffentlicher Verzeichnisdienst <a href="http://de.wikipedia.org/wiki/Enum">ENUM</a> im Aufbau, wo man seine eigene Telefonnummer weiterverwenden kann. Damit wird es in Zukunft m&#246;glich sein, einfach eine Telefonnummer einzugeben und &#252;ber das Internet den gew&#252;nschten Teilnehmer zu erreichen.</p>
<p>Inzwischen gibt es auch eine Open Source Telefonanlage, <a href="http://www.asterisk.org/">Asterisk</a>. Asterisk kann sowohl ans Festnetz (ISDN aber auch eine analoge Leitung) angeschlossen werden, als auch an Internet-Telefonie mit verschiedenen Standards (SIP, IAX, H323) teilnehmen. Die Telefon-Software l&#228;uft auf einem ganz normalen handels&#252;blichen PC &#8212; Modelle mit niedrigem Stromverbrauch sind zu empfehlen, da ja eine Telefonanlage Tag und Nacht in Betrieb sein soll. Asterisk &quot;spricht&quot; bereits heute ENUM. Ausserdem kann man &#252;ber Einsteckkarten ganz normale &quot;analoge&quot; Telefonapparate anschliessen. Dann kann man verschiedene SIP-Anbieter gleichzeitig und einen Festnetzanschluss an der selben Telefonanlage betreiben und mit einem ganz normalen Analogtelefon, oder auch mit einem Komfort-ISDN-Telefon, einem Hard-Phone (z.B. Snom), oder einfach mit einem Softphone &#8212; telefonieren. Man kann die Telefonanlage suchen lassen, ob ein bestimmter Teilnehmer &#252;ber das Internet erreichbar ist oder nur &#252;ber das Festnetz. Der Anrufende muss nicht mal merken ob &#252;ber Festnetz oder Internet telefoniert wird.</p>
<p>Das geniale an Asterisk (und das Erfolgsrezept von vielen anderen Open Source Projekten) ist sein modularer Aufbau: F&#252;r verschiedene anzuschliessende Ger&#228;te oder Protokolle kann man einen &quot;Channel Treiber&quot; schreiben und Asterisk kann danach mit einem neuen Ger&#228;t kommunizieren. So kann ein Spezialist f&#252;r ein bestimmtes Ger&#228;t oder Protokoll einen neuen Ger&#228;tetreiber beitragen.</p>
<p>Man kann Asterisk-Telefonanlagen miteinander vernetzen &#8212; auch &#252;ber eine verschl&#252;sselte Verbindung &#252;ber das Internet, ein sogenanntes <a href="http://de.wikipedia.org/wiki/Virtual_Private_Network">&quot;Virtual Private Network&quot;</a> (VPN). Dann kann man telefonieren ohne dass Dritte die Verbindung abh&#246;ren k&#246;nnen &#8212; eine solche Installation setzt allerdings Absprachen zwischen den Betreibern der zu vernetzenden Telefonanlagen voraus.</p>
<p>Neuere Techniken erlauben, vorhandene SIP-Infrastruktur zu benutzen und trotzdem ohne vorherige Absprache verschlüsselt zu telefonieren. Der Schlüssel wird dabei direkt zwischen den beiden Teilnehmern ausgehandelt. <a href="http://zfoneproject.com/">Philip Zimmermann</a>, der Autor von PGP, hat dafür den Standard <a href="http://tools.ietf.org/html/draft-zimmermann-avt-zrtp-15">ZRTP</a> vorgeschlagen, der inzwischen bei der Internet Engineering Task-Force (dem Gremium das Internet-Standards macht) zur Standardisierung eingereicht ist.</p>
<p>Ich selbst verwende Asterisk seit einigen Jahren statt meiner alten ISDN-Telefonanlage.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/05/28/98/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Beronet bero*fos failover switch</title>
		<link>http://blog.runtux.com/2009/04/09/81/</link>
		<comments>http://blog.runtux.com/2009/04/09/81/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 15:36:26 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[asterisk]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=81</guid>
		<description><![CDATA[Update 2009-04-27: There is a new firmware: good support from beronet
Update 2009-04-10: I&#8217;ve written a config-utility for the device, available in my rsclib on sourceforge (in python)
I&#8217;m now experimenting with the Beronet bero*fos failover switch. I need this for a project where two redundant asterisks should be switched by the bero*fos.
To get the following into [...]]]></description>
			<content:encoded><![CDATA[<p>Update 2009-04-27: There is a new firmware: <a href="http://blog.runtux.com/2009/04/27/92/">good support from beronet</a><br />
Update 2009-04-10: I&#8217;ve written a config-utility for the device, available in my <a href="http://rsclib.sourceforge.net">rsclib</a> on sourceforge (in python)</p>
<p>I&#8217;m now experimenting with the <a href="http://beronet.com/">Beronet</a> <a href="https://shop.beronet.com/product_info.php/cPath/56/products_id/159">bero*fos</a> failover switch. I need this for a project where two redundant asterisks should be switched by the <a href="https://shop.beronet.com/product_info.php/cPath/56/products_id/159">bero*fos</a>.<br />
To get the following into proportion: I&#8217;m a customer of Beronet and usually like their products. But selling a device for around 700.- Euro we should expect working firmware and working configuration software. Especially since the device sits at a crucial point from a safety point of view: it&#8217;s used in scenarios where we want failover capabilities for telephone equipment.<br />
The config-software is open source, so we can work around it&#8217;s shortcomings. But there is a firmware bug, setting some configuration variables via web interface has side-effects on other configuration variables. (we can work around that by writing our own config program). So I&#8217;d really like a more open design here: I&#8217;m voting for open firmware and a hardware documentation. But that might lead to others building the device for less money&#8230;<br />
I would also prefer a documentation of the parameter interface in addition to (or instead of) a configuration program. Integrating the device into other infrastructures where we don&#8217;t want a binary configuration program requires reverse-engineering. I&#8217;ve done that in the following.<br />
In the following I&#8217;m referring to berofos Firmware 1.3.3 which is the latest on Beronets webpage and in my device. The berofos tools for Linux on the webpage were apparently last updated in December 2007 and don&#8217;t have a version number.<br />
The device has four groups of 4 ports each, A, B, C, D. These can be switched in two scenarios, a <em>fallback</em> scenario, which can connect A-B or A-D and a <em>bypass</em> scenario which can connect A-B and C-D or A-D. The first scenario is useful if there are redundant devices where one device can replace another (e.g. as in our scenario with two asterisk boxes), the second scenario is useful when you have an asterisk connected in between the telephone network and an old PBX. In case the asterisk fails, the PBX can be directly connected to the telephone network.<br />
I won&#8217;t rehash the features and documentation of the device here, the <a href="http://www.beronet.com/component/option,com_remository/Itemid,38/func,selectcat/cat,5/">berofos docs and tools</a> page has a link to the manual (and to the command-line tool for both, Linux and Windows).<br />
The device has a web-interface and a command-line interface written in C under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPL version 2</a> license without a version-upgrade clause. The individual source files refer to a LICENSE file which isn&#8217;t included in the distribution.<br />
The web interface has several bugs, some changes of config variables will change variables in other configuration pages. A notable example is the <em>defaults</em> page. In this page the default state of the relais can be set. When changing anything on that page, the device will also change the scenario to <em>bypass</em>.<br />
Worse, when changing the mailserver page (the device is able to notify you via email if something bad happens) the dhcp setting is reset. This means on next powerup the device probably won&#8217;t try to get it&#8217;s ip via dhcp but use whatever happens to be the currently configured IP address. I didn&#8217;t try to reboot the device in this state because I noticed (and was looking for) this side-effect because I was already searching for a pattern in the failures.<br />
Getting the config is easy, it&#8217;s under the url <code>http://fos/config.txt</code> where fos is the device. The following text file is retrieved:</p>
<pre>
bnfos_confmap_magic=0.1
1_sz=0
4_mode=0
1_rm=checked
5_p0=0
1_p0=
5_p1=0
1_p1=
3_dn=
3_ip=10.23.5.100
3_nm=255.255.255.0
3_gw=10.23.5.254
3_dns=10.23.5.254
3_dhcp=checked
3_port=80
3_pwd=
2_mhost=0.0.0.0
2_mfrom=
2_mto=
3_log=
3_loghost=0.0.0.0
6_wen=0
2_wen=
6_wstate=0
2_wintv=60
2_as=checked
2_men=
0_wretv=0
</pre>
<p>Apparently all configuration variables that influence other variables are in the same group: They have the same number in front.<br />
The bugs of the web interface are not browser-specific. In fact the command-line tools also use the http-interface of the device to set and get options:
<pre>
% bnfos/bnfos --get scenario -h 10.23.5.100
scenario = 0
zsh: exit 167   bnfos/bnfos --get scenario -h 10.23.5.100
% bnfos/bnfos --set modedef=0 -h 10.23.5.100
Setting modedef succeeded!
% bnfos/bnfos --get scenario -h 10.23.5.100
scenario = 1
zsh: exit 167   bnfos/bnfos --get scenario -h 10.23.5.100
</pre>
<p>Exit-code of the bnfos tool when querying a variable is always 167. It also doesn&#8217;t follow the UNIX mantra for command-line tools: Be silent on success, noisy on error. But we also see here that the bug appears with the command-line tool too: changing the default relais mode also changed the scenario.<br />
When looking with wireshark we see that for setting the variable with the command-line tool it just retrieved the URL <code>/?cmd=1&amp;rm=0</code> with a HTTP Get-request.<br />
When using the <code>--show</code> switch, output is on <code>stderr</code> so piping the result needs special shell commands ( <code>|&amp;</code> is a zsh shortcut for piping both, <code>stdout</code> and <code>stderr</code>):</p>
<pre>
% bnfos/bnfos --show -h 10.23.5.100 |&amp; grep dhcp
 dhcp      = 1
zsh: exit 167   bnfos/bnfos --show -h 10.23.5.100 2&gt;&amp;1 |
</pre>
<p>Setting the mail parameters <code>smtpserv</code>, <code>smtpfrom</code> and <code>smtpto</code> is impossible via the command-line interface. We always the the cryptic error message:</p>
<pre>
% bnfos/bnfos --set smtpto='10.23.5.5' -h 10.23.5.100
Setting smtpto failed: Could not parse!
zsh: exit 1     bnfos/bnfos --set smtpto='10.23.5.5' -h 10.23.5.100
</pre>
<p>Studying the code of the config-tool reveals that there are two configuration tables, one in <code>src/beronet/confmap_fos.h</code> named <code>bnfos_confmap</code> which includes all info about the low-level device parameters:</p>
<pre>
static const struct {
  char *key;
  char type;
  int cmd;
  char *parm;
  char *macro;
} bnfos_confmap[BNFOS_MAX_KEYS] = {
  { "sz"     , 'b', 1, "sz=%s"    , "szenario(0)"},
  { "mode"   , 'b', 4, "mode=%s"  , "mode(0)"},
  { "rm"     , 'b', 1, "rm=%s"    , "config(1,1)"},

  { "p0"     , 'b', 5, "p=0&amp;s=%s" , "pwrport(0,0)"},
  { "p0"     , 'b', 1, "p0=%s"    , "config(2,1)"},
  { "p1"     , 'b', 5, "p=1&amp;s=%s" , "pwrport(0,1)"},
  { "p1"     , 'b', 1, "p1=%s"    , "config(3,1)"},

  { "dn"     , 'h', 3, "dn=%s"    , "hostname(1)"},
  { "ip"     , 'a', 3, "ip=%s"    , "netconf(0)"},
  { "nm"     , 'a', 3, "nm=%s"    , "netconf(1)"},
  { "gw"     , 'a', 3, "gw=%s"    , "netconf(2)"},
  { "dns"    , 'a', 3, "dns=%s"   , "netconf(3)"},
  { "dhcp"   , 'b', 3, "dhcp=%s"  , "config(4,1)"},
  { "port"   , 'p', 3, "port=%s"  , "netconf(6)"},
  { "pwd"    , 'b', 3, "pwd=%s"   , "config(5,1)"},
  { "apwd"   , 'd', 3, "apwd=%s"  , NULL},

  { "mhost"  , 's', 2, "mhost=%s" , "netconf(5)"},
  { "mfrom"  , 's', 2, "mfrom=%s" , "netconf(7)"},
  { "mto"    , 's', 2, "mto=%s"   , "netconf(8)"},
  { "XXXXX"  , 'n', 7, ""         , NULL},

  { "log"    , 'b', 3, "syslog=%s", "config(10,1)"},
  { "loghost", 'a', 3, "slgip=%s" , "netconf(9)"},
  { "logport", 'p', 3, "slgpt=%s" , "netconf(10)"},

  { "wen"    , 'b', 6, "wen=%s"   , "wdog(0)"},
  { "wen"    , 'b', 2, "wen=%s"   , "config(6,1)"},
  { "wstate" ,   0, 6, "wstate=%s", "wdog(0)"},
  { "wintv"  , 'p', 2, "wintv=%s" , "config(8,?)"},
  { "as"     , 'b', 2, "as=%s"    , "config(9,1)"},
  { "men"    , 'b', 2, "men=%s"   , "config(7,1)"},
  { "wretv"  ,   0, 0, NULL       , "wdog(2)"},
};
</pre>
<p>and one in <code>bnfos/main.c</code> that maps the high-level command-line paramters to the low-level http requests:</p>
<pre>
/* keyword description for --set / --get */
static struct {
  char *keyword;
  char *descr;
} keys[BNFOS_MAX_KEYS] = {
  {"scenario", "scenario (0=fallback; 1=bypass)"},

  {"mode", "relais mode (0=A--D; 1=A--B or A--B,C--D)"},
  {"modedef", "default relais mode (0=A--D; 1=A--B or A--B,C--D)"},

  {"power1", "state of powerport 1 (0=off; 1=on)"},
  {"power1def", "default state of powerport 1 (0=off; 1=on)"},
  {"power2", "state of powerport 2 (0=off; 1=on)"},
  {"power2def", "default state of powerport 2 (0=off; 1=on)"},

  {"hostname", "device hostname"},

  {"address", "ip address"},
  {"netmask", "netmask address"},
  {"gateway", "gateway address"},
  {"dns", "dns server address"},
  {"dhcp", "query dhcp server (0=off; 1=on)"},
  {"port", "http listen port"},
  {"pwd", "http password protection (0=off; 1=on)"},
  {"apwd", "admin password"},

  {"smtpserv", "smtp server"},
  {"smtpfrom", "smtp sender address"},
  {"smtpto", "smtp destination address"},
  {"smtptest", "trigger testmail"},

  {"syslog", "syslog logging (0=off; 1=on)"},
  {"slgip", "syslog server ip"},
  {"slgpt", "syslog server port"},
  {"wdog", "watchdog enable (0=off; 1=on)"},
  {"wdogdef", "default watchdog enable (0=off; 1=on)"},
  {"wdogstate", "watchdog state (0=off; 1=on; 2=failure)"},
  {"wdogitime", "watchdog intervall time"},
  {"wdogaudio", "watchdog audio alarm (0=off; 1=on)"},
  {"wdogmail", "watchdog alarm mails (0=off; 1=on)"},
  {"wdogrtime", "watchdog remaining time to failure"},
};
</pre>
<p>I haven&#8217;t found a mechanism that keeps these two tables in different source files in sync (they currently seem to be), looks like both tables need to have the matching options in the same place in both tables. The code for matching options to low-level commands just uses the same index to navigate in both tables.<br />
The <code>bnfos_confmap</code> table has a <code>s</code> for the type of the smtp parameters. This type isn&#8217;t handled in the config-tool and leads to the cryptic error message above. Patching the table to specify the type <code>h</code> (there is a comment <code>XXX check hostname for validy</code> for that type this checking apparently isn&#8217;t done yet, so we can use the code there to parse normal strings) would work. After applying a patch to <code>src/beronet/confmap_fos.h</code>, the sources aren&#8217;t recompiled, seems that the Makefile is broken, too. So after a <code>make clean ; make</code> I&#8217;m finally able to set the smtp parameters via the command-line interface:</p>
<pre>
% bnfos/bnfos --set smtpserv='10.23.5.5' -h 10.23.5.100
Setting smtpserv succeeded!
</pre>
<p>Looking over this again, I prefer to do the following patch that adds support for the &#8217;s&#8217; type:</p>
<pre>
--- bntools/src/bnfos.c 2007-08-28 09:27:46.000000000 +0200
+++ bntools.hacked/src/bnfos.c  2009-04-09 12:10:46.000000000 +0200
@@ -379,6 +379,14 @@
     set-&gt;val = strdup(val);
     return BNFOS_RET_OK;

+  case 's':
+    /* Allow empty strings */
+    if (!val) {
+        val = "";
+    }
+    set-&gt;val = strdup(val);
+    return BNFOS_RET_OK;
+
   case 'p':
     {
       int v;
</pre>
<p>This is a cleaner way to make configuring the smtp parameters work. Turns out that setting the mail gw does <em>not</em> influence the dhcp setting. But in the web-interface, the mail gateway and the syslog server are combined in one page. so trying that:</p>
<pre>
% bnfos/bnfos --show -h 10.23.5.100 |&amp; grep dhcp
 dhcp      = 1
zsh: exit 167   bnfos/bnfos --show -h 10.23.5.100 2&gt;&amp;1 |
zsh: done       grep dhcp
% bnfos/bnfos --set slgip='10.23.5.5' -h 10.23.5.100
Setting slgip succeeded!
% bnfos/bnfos --show -h 10.23.5.100 |&amp; grep dhcp
 dhcp      = 0
zsh: exit 167   bnfos/bnfos --show -h 10.23.5.100 2&gt;&amp;1 |
zsh: done       grep dhcp
</pre>
<p>we see that changing the syslog server also changes the dhcp setting like in the web-interface. When looking more closely, we see that the dhcp and the syslog IP are in the same <code>cmd</code> group. Thats the number in column 3 of the <code>bnfos_confmap</code> and the number in from of each line in <code>config.txt</code> retrieved via the web interface.<br />
So the workaround for the bug in the firmware is to write a config program that retrieves all variables in the same <code>cmd</code> group and, when setting one of the variables in that group, also send all the other current settings in the same get-request.<br />
Fortunately the <code>bnfos_confmap</code> table has the command pattern for generating the get-request for each of the variables in column 4 (<code>parm</code>). So it shouldn&#8217;t be too hard to write a new config utility (and of course I won&#8217;t do that i C either) that works around the firmware bugs.<br />
I already said that I would have preferred an open firmware to fix the bugs at the source, did I?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/04/09/81/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>sane snapscan and epson 3590 photo + rpm weirdness</title>
		<link>http://blog.runtux.com/2009/03/06/57/</link>
		<comments>http://blog.runtux.com/2009/03/06/57/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 19:21:14 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/?p=57</guid>
		<description><![CDATA[I&#8217;ve recently upgraded to debian lenny. Unfortunately after this upgrade my epson 3590 scanner stopped working. After some googling around I managed to find an rpm package with the binary firmware image. But the package converter alien would not let me convert the file, the message was 
 Unpacking of 'iscan-firmware-2.8.0.1-48.1.noarch.rpm' failed at /usr/share/perl5/Alien/Package/Rpm.pm line [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently upgraded to debian lenny. Unfortunately after this upgrade my epson 3590 scanner stopped working. After some googling around I managed to find an <a href="http://rpm.pbone.net/index.php3/stat/4/idpl/7960575/com/iscan-firmware-2.8.0.1-48.1.noarch.rpm.html">rpm package</a> with the binary firmware image. But the package converter <a href="http://packages.debian.org/lenny/alien">alien</a> would not let me convert the file, the message was </p>
<p><code> Unpacking of 'iscan-firmware-2.8.0.1-48.1.noarch.rpm' failed at /usr/share/perl5/Alien/Package/Rpm.pm line 155.</code></p>
<p>After some more searching I found debian bugs <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518348">518348</a> and <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=509444">509444</a> of which the latter contains a workaround: Seems that the rpm format changed to a compressed format that can be unpacked with <a href="http://http://packages.debian.org/lenny/lzma">lzma</a>. Now unpacking was possible &#8212; after all I was only interested in the firmware file &#8212; and now my scanner is working again&#8230; For the record, unpacking was done as follows: </p>
<p><code>mkdir iscan-firmware-2.8.0.1<br />
rpm2cpio iscan-firmware-2.8.0.1-48.1.noarch.rpm \<br />
  | lzma -d | (cd iscan-firmware-2.8.0.1; \<br />
  cpio --extract --make-directories \<br />
  --no-absolute-filenames --preserve-modification-time)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2009/03/06/57/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lassen Sie uns Ihr Vermoegen hochheben</title>
		<link>http://blog.runtux.com/2008/11/28/7/</link>
		<comments>http://blog.runtux.com/2008/11/28/7/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 08:27:59 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[deutsch]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false">http://blog.runtux.com/2008/11/28/7/</guid>
		<description><![CDATA[&#8230; mit dem Titel habe ich heute eine Spam-Email bekommen &#8212; erinnert sehr an den englischen Begriff &#8220;Shoplifting&#8221; &#8212; oder an die alten Witze ala &#8220;Die Telekom will an die Börse &#8212; auch an Ihre&#8221;  
]]></description>
			<content:encoded><![CDATA[<p>&#8230; mit dem Titel habe ich heute eine Spam-Email bekommen &#8212; erinnert sehr an den englischen Begriff &#8220;Shoplifting&#8221; &#8212; oder an die alten Witze ala &#8220;Die Telekom will an die Börse &#8212; auch an Ihre&#8221; <img src='http://blog.runtux.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2008/11/28/7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telering Online Rechnung</title>
		<link>http://blog.runtux.com/2008/10/27/1/</link>
		<comments>http://blog.runtux.com/2008/10/27/1/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 15:00:23 +0000</pubDate>
		<dc:creator>Ralf Schlatterbeck</dc:creator>
				<category><![CDATA[deutsch]]></category>
		<category><![CDATA[skurril]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Neulich hab ich meine Telering-Rechnung von meinem Mobiltelefon auf Online umgestellt, weil ich seit fast einem halben Jahr eh keine Papierrechnung von denen mehr bekomme (Anruf bei Hotline um abzuklären, warum die Papierrechnung nicht mehr kommt  war nur Zeitverschwendung und im Kundenbereich kann man die Rechnung runterladen).
Letzten Freitag bekomm&#8217; ich ein SMS, dass meine [...]]]></description>
			<content:encoded><![CDATA[<p>Neulich hab ich meine Telering-Rechnung von meinem Mobiltelefon auf Online umgestellt, weil ich seit fast einem halben Jahr eh keine Papierrechnung von denen mehr bekomme (Anruf bei Hotline um abzuklären, warum die Papierrechnung nicht mehr kommt  war nur Zeitverschwendung und im Kundenbereich kann man die Rechnung runterladen).</p>
<p>Letzten Freitag bekomm&#8217; ich ein SMS, dass meine Telering-Rechung da ist &#8212; es gibt ja fast nix wichtigeres auf der Welt als eine Telering-Rechung, daher ist es unerlässlich, den Kunden auf allen verfügbaren Kanälen darauf aufmerksam zu machen, dass die Rechnung da ist (fehlt eigentlich nur, dass ich einen <em>Anruf</em> bekomme <img src='http://blog.runtux.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> :</p>
<blockquote><p>
tele.ring Rechnungs-Info!<br />
Ihre aktuelle Rechnung ist online. Abrufbar unter <a href="http://my.telering.at">my.telering.at</a> &gt; Rechnung. LG Ihr tele.ring Team
</p></blockquote>
<p>Ich ärgere mich also über die Störung und versuche die Absendernummer 1554020000001 des SMS anzurufen &#8212; und &#8212; am anderen Ende ist eine Österreichische Wettervorhersage.</p>
<p>Also habe ich bei der Hotline die Rechnung wieder auf Papier zurückgestellt (online-Rechung heisst offensichtlich Email <em>und</em> SMS) &#8212; möglicherweise kommt sie ja jetzt wieder &#8212; nach einmal hin und her Umstellen auf Online und zurück.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.runtux.com/2008/10/27/1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

