<?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>LocalDev &#187; Bug</title>
	<atom:link href="http://localdev.de/tags/bug/feed/" rel="self" type="application/rss+xml" />
	<link>http://localdev.de</link>
	<description>Web, Desktop &#38; Mobile Development</description>
	<lastBuildDate>Mon, 12 Jul 2010 15:39:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PHP + PDT: Probleme bei der Installation des Zend Debuggers</title>
		<link>http://localdev.de/2010/06/php-pdt-probleme-bei-der-installation-des-zend-debuggers/</link>
		<comments>http://localdev.de/2010/06/php-pdt-probleme-bei-der-installation-des-zend-debuggers/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 21:44:27 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PDT]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=816</guid>
		<description><![CDATA[Wer derzeit versucht den Zend Debugger über die Update Seite zu installieren, wird das Problem bereits bemerkt haben. Es funktioniert nicht. Scheinbar haben sich vor einiger Zeit die Dateinamen/Versionen geändert, aber es wurde versäumt die Update Seite zu kontrollieren. Während der Installation versucht Eclipse Dateien herunterzuladen die es auf dem Server nicht (mehr) gibt. Was [...]]]></description>
			<content:encoded><![CDATA[<p>Wer derzeit versucht den Zend Debugger über die Update Seite zu installieren, wird das Problem bereits bemerkt haben. Es funktioniert nicht.</p>
<p>Scheinbar haben sich vor einiger Zeit die Dateinamen/Versionen geändert, aber es wurde versäumt die Update Seite zu kontrollieren. Während der Installation versucht Eclipse Dateien herunterzuladen die es auf dem Server nicht (mehr) gibt.</p>
<p><strong>Was kann man also machen?</strong><br />
Die Lösung des Problems ist eigentlich recht einfach. Das einzige was wir hierzu benötigen ist ein Apache Server mit aktiven mod_rewrite, ein Packprogramm und ein Texteditor.</p>
<p>Speichert die <a href="http://downloads.zend.com/pdt/content.jar">content.jar</a> der Update Seite auf eurem PC und entpackt den Inhalt in einen Ordner eurer Wahl. Es sollte jeder handelsübliche Packer, der das ZIP Format versteht, möglich sein.<br />
In dem Zielordner sollte sich jetzt eine <em>content.xml</em> befinden. Öffnet diese mit einem Textprogramm und ersetzt alle Vorkommnisse von <em>20091116</em> durch <em>20091124</em>. Packt die content.xml nun wieder in eine ZIP Datei und nennt diese <em>content.jar</em>. </p>
<p>Erstellt eine .htaccess und fügt folgenden Inhalt ein:</p>
<pre class="brush: plain;">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.* http://downloads.zend.com/pdt/$0 [L]
</pre>
<p>Ihr habt jetzt eine .htaccess die jede Anfrage an eine nicht existierende Datei an die offizielle Update Seite weiterreicht.<br />
Legt beide Dateien nun in ein Verzeichnis unterhalb eures Apache Web Roots und tragt die URL als Update Seite bei eclipse ein.</p>
<p>Ihr könnt nun ohne größere Schwierigkeiten den Zend Debugger installieren. Wer keine Lust hat die Änderungen selbst durchzuführen, oder den Text durchzulesen, der kann sich die geänderten Dateien auch herunterladen, oder er trägt <a href="http://a2.localdev.de/zend/">http://a2.localdev.de/zend/</a> als Update Seite ein.</p>
<p><strong>Downloads:</strong></p>
<ul>
<li><a href='http://localdev.de/wp-content/uploads/2010/06/zend.zip'>Zend PDT Update Site Fix</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2010/06/php-pdt-probleme-bei-der-installation-des-zend-debuggers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lighttpd 1.4: HTTP 417 Expectation Failed</title>
		<link>http://localdev.de/2010/01/lighttpd-1-4-http-417-expectation-failed/</link>
		<comments>http://localdev.de/2010/01/lighttpd-1-4-http-417-expectation-failed/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 14:22:40 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[417]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[Lighttpd]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=417</guid>
		<description><![CDATA[Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung HTTP/1.1 417 Expectation Failed Dies liegt daran, das die Programme einen Expect: 100-continue Header senden, und als Antwort 100 (Continue) oder 417 Expectation Failed erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen [...]]]></description>
			<content:encoded><![CDATA[<p>Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung</p>
<pre class="brush: plain;">

HTTP/1.1 417 Expectation Failed
</pre>
<p>Dies liegt daran, das die Programme einen <em>Expect: 100-continue</em> Header senden, und als Antwort <em>100 (Continue)</em> oder <em>417 Expectation Failed</em> erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen mit dem besagten <em>417 Expectation Failed</em>.</p>
<p>Der <em>Expect: 100-continue</em> Header soll verhindern, das Daten an den Server gesendet werden, die nicht benötigt werden. Erkennt der Server z.B. das er die Anfrage ablehnen muss, kann er dies dem Client mitteilen, noch bevor die POST Daten übermittelt wurden.</p>
<p>Wer dennoch POST Daten an Lighty senden möchte, kann die folgenden Paramter anpassen:</p>
<p><strong>.NET</strong></p>
<pre class="brush: csharp;">

System.Net.ServicePointManager.Expect100Continue = false;
</pre>
<p><strong>cURL unter PHP</strong></p>
<pre class="brush: php;">
curl_setopt($objCurl, CURLOPT_HTTPHEADER, array('Expect: '));
</pre>
<p><strong>cURL auf der Kommandozeile</strong></p>
<pre class="brush: bash;">
curl -v -H &quot;Expect: &quot; -F &quot;field=value&quot; http://example.com/upload.php
</pre>
<p>Alternativ aktualisiert man auf Lighttpd 1.5. Dieser kennt den <em>Expect: 100-continue</em> Header und beantwortet entsprechende Anfragen korrekt.</p>
<p>Browser senden übrigens keinen <em>Expect: 100-continue</em> Header.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2010/01/lighttpd-1-4-http-417-expectation-failed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Weihnachten, Google, Firefox und ich</title>
		<link>http://localdev.de/2009/12/weihnachten-google-firefox-und-ich/</link>
		<comments>http://localdev.de/2009/12/weihnachten-google-firefox-und-ich/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 19:34:05 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Absturz]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=367</guid>
		<description><![CDATA[Nach einem Blick in die Google Webmaster Tools, wage ich zu behaupten, dass wieder viele PCs und Notebooks verschenkt wurden. Schade das, bei vielen Beschenkten, scheinbar der Firefox abstürzt oder Probleme beim Starten hat.]]></description>
			<content:encoded><![CDATA[<p>Nach einem Blick in die Google Webmaster Tools, wage ich zu behaupten, dass wieder viele PCs und Notebooks verschenkt wurden.</p>
<p><a href="http://localdev.de/wp-content/uploads/2009/12/google_firefox.png"><img class="aligncenter size-full wp-image-369" title="google_firefox" src="http://localdev.de/wp-content/uploads/2009/12/google_firefox.png" alt="" width="417" height="249" /></a></p>
<p>Schade das, bei vielen Beschenkten, scheinbar der Firefox abstürzt oder Probleme beim Starten hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2009/12/weihnachten-google-firefox-und-ich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Wenn der Kanarienvogel nicht mehr zwitschert</title>
		<link>http://localdev.de/2009/08/php-wenn-der-kanarienvogel-nicht-mehr-zwitschert/</link>
		<comments>http://localdev.de/2009/08/php-wenn-der-kanarienvogel-nicht-mehr-zwitschert/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 15:40:09 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[canary mismatch]]></category>
		<category><![CDATA[Suhosin]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=81</guid>
		<description><![CDATA[Wer sich wundert warum seine PHP Skripte ohne ersichtlichen Grund einen HTTP 500 Internal Server Error liefern, sollte einmal prüfen ob Suhosin aktiv ist. Dieser Auszug stammt von einem unserer Debian Server und repräsentiert in jeder Zeile einen HTTP 500 Error. Aug 17 11:44:14 srv1 suhosin[14716]: ALERT - canary mismatch on erealloc() - heap overflow [...]]]></description>
			<content:encoded><![CDATA[<p>Wer sich wundert warum seine PHP Skripte ohne ersichtlichen Grund einen HTTP 500 Internal Server Error liefern, sollte einmal prüfen ob Suhosin aktiv ist.</p>
<p>Dieser Auszug stammt von einem unserer Debian Server und repräsentiert in jeder Zeile einen HTTP 500 Error.</p>
<pre class="brush: bash;">Aug 17 11:44:14 srv1 suhosin[14716]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')
Aug 17 11:44:15 srv1 suhosin[14717]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')
Aug 17 11:44:16 srv1 suhosin[14718]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')
Aug 17 11:44:16 srv1 suhosin[14719]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')</pre>
<p><strong>Was ist passiert?</strong><br />
Suhosin versucht Attacken auf Sicherheitslücken in PHP bzw. PHP Skripten zu erkennen und zu verhindern. Hierzu überwacht es u.a. den Arbeitsspeicher, und fügt beim Schreiben von Daten noch eigene Informationen hinzu. Sind diese Informationen beim Abrufen fehlerhaft, oder fehlen sie komplett, glaubt Suhosin einen Fehler zu erkennen, und beendet die Ausführung von PHP.</p>
<p><strong>Wie? Wo? Was?</strong><br />
Ob der Kern oder ein Modul von PHP Schuld haben, lässt sich nicht so einfach sagen, da Suhosin zu wenig Informationen liefert. Man geht aber davon aus, das die Fehler in den PHP Modulen stecken.</p>
<p><strong>Was kann ich machen?</strong><br />
Entweder man deaktiviert alle PHP Module nacheinander, bis kein Fehler mehr auftritt<del datetime="2009-08-27T21:09:30+00:00">, oder man deaktiviert direkt Suhosin</del>. <strong>Update:</strong> Auch mit ausgeschaltetem Suhosin kann der Fehler auftreten, da das Verhalten durch den <a href="http://www.hardened-php.net/" target="_blank">Hardened-PHP</a> Patch direkt im Kern steckt. Interessanterweise bringt das deaktivieren von Suhosin eine derartige Senkung mit sich, das ich nur durch eine eindeutige Fehlkonfiguration von PHP den Fehler wieder zu sehen bekam (session.save_handler war auf memcache eingestellt, memcached selber aber nicht gestartet).</p>
<p><strong>Warum Kanarienvogel?</strong><br />
Der Kanarienvogel (canary) in der Fehlermeldung bezieht sich auf den Bergbau. Dort hat man in der Vergangenheit Kanarienvögel mit in den Untergrund genommen, um zu prüfen ob in einem Stollen genug Sauerstoff vorhanden war. Sind die Vögel verendet, wusste man das Gefahr droht, und hat die Arbeit sofort beendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2009/08/php-wenn-der-kanarienvogel-nicht-mehr-zwitschert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 4/12 queries in 0.004 seconds using memcached

Served from: localdev.de @ 2010-07-29 21:41:26 -->