httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Ballier <ball...@mail.schule.de>
Subject Fehlerhafte Dateiübertragung
Date Sun, 04 Jul 2010 14:44:43 GMT
Hallo ihr alle,

ich betreibe schon seit einigen Jahren mehrere Server, auf denen der Apache
problemlos läuft, aber vor zwei Wochen hat sich auf einem der Server mit
apache 2.2.12 unter Linux (genau so wie mit Version 2.2.15) von heute auf
morgen etwas ereignet, was für mich bisher völlig unerklärlich ist.

Es passiert folgendes: Fordert ein Klient eine Datei an, so werden nach
exakt 2^16=65536 korrekt übertragener Zeichen eine Vielzahl von
ASCII-Nullen in den Datenfluss eingebaut. Dann geht die Datei normal weiter,
bis dann wieder einige tausend ASCII-Nullen erscheinen. Aufgefallen ist es
zunächst dadurch, dass PDF-Dateien nicht dargestellt werden konnten, dann
auch Bilddateien nicht. Kürzere HTML-Seiten sind nicht betroffen.

Ich habe diesen Sachverhalt getestet, indem ich eine Datei mit dem vi
erzeugt habe, die nur die Ziffernfolge 01234567890123456789... enthielt
(natürlich mit Zeilenstruktur). Nach "lynx localhost/datei.pdf" (.pds,
damit lynx fragt, ob ein Download stattfinden soll) sieht die
heruntergeladene Datei wie folgt aus: Von Zeile 1 bis Zeile 407 wie im
Original, die Zeile 408 beginnt noch mit 012345678 und dann kommen
vielleicht 20000 ASCII-Nullen (^@ im vi, \0 im od). Dann geht es regulär
weiter bis zur Zeile 865, dann kommen wieder viele Nullen, dann geht es
wieder regulär weiter, ab Zeile 2341 wieder Nullen usw. Interessant ist,
dass sich die Nullen *dazwischen* schieben. Hört die Zahlenfolge also z.B.
bei 7 auf, dann geht sie nach den Nullen bei 8 weiter.

Lädt man die Datei mehrmals herunter, so hat sie stets eine andere Länge.
Nur der Beginn des ersten Nullenblocks ist reproduzierbar.

Da ich die Datei zu Testzwecken auf dem lokalen Rechner herunterlade, Server
und Klient also derselbe Rechner sind, scheiden Probleme mit Netzwerkkarte,
Router oder Switch aus.

Und noch eine Beobachtung: Stelle ich den httpd in httpd.conf mit "Listen
81" auf Port 81 ein, so ist der Datenverkehr völlig problemlos. Die dann
mit "lynx localhost:81/datei.pdf" heruntergeladene Datei ist völlig
fehlerfrei.

Ich habe schon mit chkrootkit und anderen Tools gesucht. chkproc meldet zwei
Prozesse:

$ ./chkproc -v
PID 1033(/proc/1033): not in getpriority readdir output
PID 1117(/proc/1117): not in getpriority readdir output
You have 2 process hidden for readdir command

aber weder unter /proc noch nach "ps ax" gibt es Prozesse mit den Nummern
1033 oder 1117.

Die Datei httpd.conf habe ich schon auf das absolute Minimum reduziert (5
Zeilen). Keine Veränderung.

Hat jemand einen Hinweis?

Ralph



--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message