Archiv ‘Linux’

Mittwoch, 9. Juli 2008

cURL versendet POST- als GET-Request

… und zwar genau dann, wenn man CURLOPT_NOBODY aktiviert.

Dieser Erkenntnis hatte ich nach ca. einer Stunde debuggen meines Twitter-Cron-Jobs. Eine Google-Suche führte dann auch schnurstracks zur Erläuterung des „Bugs“, der eigentlich ein Feature ist/sein soll:

Setting CURLOPT_NOBODY to FALSE will now switch the HTTP request method
to GET simply because previously when you set CURLOPT_NOBODY to TRUE first and then FALSE you’d end up in a broken state where a HTTP request would do a HEAD by still act a lot like for a GET and hang waiting for the content etc.

If you issue a POST request and then want to make a HEAD or GET using the same re-used handle, you must explicitly set the new request type using CURLOPT_NOBODY or CURLOPT_HTTPGET or similar.

Quelle: [ 2010735 ] setting a CURLOPT_NOBODY option forces GET request

Tags: ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 9. Juli 2008

HTTP-Traffic mit tcpdump mitschneiden

# tcpdump -i eth1 -w /tmp/dump.txt -s 1024 'tcp port 80'
  • -i eth1 gibt das Interface an, auf dem gelauscht werden soll
  • -w /tmp/dump.txt, damit der Müll nicht auf der Kommandozeile, sondern in einer Datei landet
  • -s 1024 ist wichtig, damit genügend Nutzdaten mitgeschnitten werden (hier: 1024 Bytes)
  • 'tcp port 80' beschränkt den Mitschnitt auf HTTP-Traffic (in beide Richtungen)

Die Datei analysiert man dann mittels

$ tcpdump -r /tmp/dump.txt

(weil ich es nicht geschafft habe, auch die Nutzdaten anzuzeigen, musste halt der gute, alte vim für diese Aufgabe herhalten)

Tags:
Labels: IT, Linux

1 Kommentar | neuen Kommentar verfassen

Dienstag, 8. Juli 2008

Reiser hat sie tatsächlich umgebracht

Bizarre Story um den Entwickler des Dateisystem ReiserFS:

Der des Mordes an seiner Frau schuldig gesprochene Open-Source-Programmierer und Entwickler eines Dateisystems Hans Reiser hat die Polizei zu der mutmaßlichen Leiche seines Opfers geführt. Zudem hat Reiser gestanden, dass er mit seiner Frau gekämpft und sie dann stranguliert hat, berichten unter anderem die US-Tageszeitung San Francisco Chronicle und ABC News aus eingeweihten Kreisen.

Quelle: heise online – Hans Reiser führt Polizei zur Leiche seiner Frau

Tags: , ,
Labels: Linux, USA

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 24. Juni 2008

Xdebug-Meldungen verfeinern

Wie man Xdebug installiert, habe ich hier bereits beschrieben. Doch mit der Installation alleine ist es noch nicht getan; das Teufelswerkzeug muss nun auch noch derart konfiguriert werden, dass es dem Entwickler alle wichtigen Informationen liefert.

Die Jungs drüben bei IBM haben sich die Mühe gegeben, die (bezüglich INI-Einstellungen schwer durchschaubare) Dokumentation zu lesen und ihre Konfigurationsparameter im Netz zu publizieren:

xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT
xdebug.dump.REQUEST=*

xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.var_display_max_depth = 6

Quelle: Squash bugs in PHP applications with Xdebug

Tönt gut und produziert äusserst detaillierte Fehlermeldungen.

Wer nichts vom korrekten Initialisieren von Variablen hält, sollte xdebug.dump_undefined vielleicht lieber auf Off schalten …

Wer auf Exceptions setzt und diese sauber abfängt, sollte vielleicht auch xdebug.show_exception_trace auf Off schalten …

Tags: ,
Labels: Linux, Web

Keine Kommentare | neuen Kommentar verfassen

Freitag, 20. Juni 2008

Runlevel in Debian wechseln

Für viele eine überaus doofe Frage, doch in meinem bereits mehrere Jahre dauernden Linux-Leben war heute tatsächlich das erste Mal, dass ich so etwas durchführen muss.

Aktueller Runlevel

$ runlevel
N 3

Quelle: An introduction to run-levels

Runlevel wechseln

# telinit 1

Mittlerweile läuft rsync munter vor sich hin und kopiert Daten von der alten auf die neue Partition … Hopp Schwiz!

Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 15. Juni 2008

Wie zwei auskommentierte Zeilen Code SSL-Zertifikate unbrauchbar machten

/* MD_Update(&m,buf,j); */

Quelle: Diff for /openssl/trunk/rand/md_rand.c between version 140 and 141

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 10. Juni 2008

Apache 1.3, MySQL 5 und PHP 5 unter Mac OS X auf UTF-8 trimmen

Mittlerweile habe auch ich den AMP-Stack auf meinem MacBook installiert und entwickle damit Web-Applikationen. Damit es bezüglich den Zeichensätzen koscher zu und her geht, musste ich folgende zwei Anpassungen an der Konfiguration vornehmen:

Apache 1.3

(Ich verwende aus Faulheit den mit Tiger mitgelieferten Apache – leider halt noch nicht 2.x)

In der /etc/httpd/httpd.conf wird mit folgendem Befehl eingestellt, dass im Header der HTTP-Antwort UTF-8 als Zeichensatz angegeben wird:

AddDefaultCharset UTF-8

MySQL

In der /etc/my.cnf

init-connect='SET NAMES utf8'

Bei jeder Verbindungsaufnahme (bspw. mysql_connect() via PHP) wird der Zeichensatz der ausgelieferten Daten damit auf UTF-8 geschaltet.

Selbstverständlich muss man aber immer noch aufpassen, in welchem Zeichensatz man Datenbank-Dumps exportiert und wieder einspielt …

Tags: , , , , ,
Labels: Linux, Web

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 18. Mai 2008

PDF unter Mac OS X in ASCII-Text umwandeln

pdftotext

Wenn es auch HTML sein kann: PDF in HTML umwandeln? Gmail!

Tags:
Labels: IT, Linux, Web

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 14. Mai 2008

lpd funktioniert nach apt-get upgrade nicht mehr

Kein Wunder, beiss ich mir schon den ganzen Abend die Zähne an diesem Problem aus:

Indeed lprng 3.8.A~rc2-1 comes build with --disable-remote which disables listening on port 515 by default. You have to enable it again with setting

lpd_listen_port=515 

in lpd.conf to get it back.

Quelle: Bug#466964: LPD doesn’t listen on port 515

Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Freitag, 11. April 2008

Hilfreiche bash-Shortcuts

  • Ctrl+a An den Anfang der Zeile springen
  • Ctrl+e Ans Ende der Zeile springen
  • Ctrl+w Wort löschen
  • Ctrl+u Alles vor dem Cursor löschen
  • Ctrl+k Alles nach dem Cursor löschen
  • Ctrl+l Bildschirm löschen (wie clear auf der Kommandozeile)
  • Ctrl+c Momentan laufenden Befehl abbrechen
  • Ctrl+d Logout

Tags:
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen