Hallo,

ich habe den Fehler gefunden :) (das war ne Suche !).
Ich versuche das Ganze mal zusammenzufassen:

Symptome:
========
Attachments beim Download mit FireBox / Mozilla korrupiert und doppelte Gr��e.


Problem:
=======
Firefox sendet wenn der Cache eingeschaltet ist f�r Downloads, vor dem GET request einen HEAD request um zu �berpr�fen ob die Datei nicht schon da ist. Diese sollte den selben Header wie ein GET request zurueckliefern, jedoch nicht den Body. Leider erkennt OTRS dies nicht und liefert jedes Attachment was mit "Save as" im FireFox gespeichert wird 2 mal aus. Firefox speichert das ganze dann in einem File --> Doppelte Gr��e und Korrupt.


Firefox request im Apache log (man beachte die Size! (letztes Feld)):

192.168.1.10 - - [14/Feb/2005:17:46:49 +0100] "HEAD /otrs/index.pl?Action=AgentAttachment&ArticleID=93&FileID=2 HTTP/
1.1" 200 798968
192.168.1.10 - - [14/Feb/2005:17:46:50 +0100] "GET /otrs/index.pl?Action=AgentAttachment&ArticleID=93&FileID=2 HTTP/1
.1" 200 798982


Internet Explorer request im Apache log:

192.168.1.10 - - [14/Feb/2005:17:54:10 +0100] "GET /otrs/index.pl?Action=AgentAttachment&ArticleID=93&FileID=2 HTTP/1
.1" 200 798982


----

Fix:
====
OTRS m�sste unterscheiden ob es sich um einen GET oder HEAD request handelt und entsprechend bei HEAD requests keinen Body senden. Laut http://modperlbook.org/html/ch16_04.html "16.4.3. HEAD Requests" ist das m�glich.


Ich habe mal die ver�nderte Kernel/Output/HTML/Generic.pm hier rein gepostet. Leider kann ich gerade keinen Patch erstellen. :

--- o< -----
# --
sub Attachment {
    my $Self = shift;
    my %Param = @_;
    # reset binmode, don't use utf8
    binmode(STDOUT);
    # return attachment
    my $Output = "Content-Disposition: ";
    if ($Param{Type}) {
        $Output .= $Param{Type}.'; ';
    }
    $Output .= "filename=\"$Param{Filename}\"\n".
      "Content-Type: $Param{ContentType}\n\n";
    # Firefox HEAD request problem.
    if ($ENV{REQUEST_METHOD} ne "HEAD") {
        $Output .= "$Param{Content}";
    }
    return $Output;
}
# --
--- o< -----

Workaround:
===========
a) Anderen Browser nehmen
b) Firefox ohne Cache konfigurieren
- dazu einfach im Firefox in der Adressleiste "about:config" eingeben
- dann die beiden Werte "browser.cache.disk.enable" und "browser.cache.memory.enable" auf false setzen.


MfG

Robert Heinzmann

p.s. Danke f�r das interessante Problem, wieder vieeel gelernt :)

PCO Support Team wrote:
Hallo Herr Heinzmann

die ist ein Testticket, welches ich erzeugt habe, indem ich aus meinem Outlook
ein email an unsere support email geschickt habe und ein 784 KB grosses PDF
Attachment angeh�ngt habe.
Es wird dann noch ein file-1 erzeugt, das ist immer so, wenn man aus Outlook
heraus ein Ticket erzeugt.
Speichere ich diese PDF dann mit FireFox 1.0 (rechte Maus Link Save As) ab,
ergibt das ein PDF mit 1594480 Byte Gr�sse.
Ich habe �brigens auch einen anderen test gemacht, indem ich einen Intranet
Webseite erzeugte mit einem Link auf ein TIFF Bild (mit dem ich neulich schon
abspeicherprobleme aus OTRS hatte), welches ich dann auch mit FireFox
abspeicherte und das hat dann funktioniert.
Ich vermute also, dass da irgendwas in OTRS nicht stimmt!
Bin f�r jeden Tipp SEHR dankbar!
Beste Gr��e
Thomas Kreuzer


Message: 4 Date: Fri, 11 Feb 2005 19:43:56 +0100 From: Robert Heinzmann <[EMAIL PROTECTED]> Subject: Re: [otrs-de] AW: otrs-de Nachrichtensammlung, Band 16, Eintrag 19 To: "User questions and discussions about OTRS in German." <[email protected]> Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hallo,

ich versuche am Wochenende mal, das Ganze nachzustellen und vielleicht kann ich den Fehler reproduzieren und komme ja vieleicht weiter. So auf den ersten Blick kenne ich diesen Fehler leider nicht.

Ich fragte nur, weil wir schon einmal Probleme mit der Reihenfolge der Attachments hatten und - bei mehreren Attachments - die falschen Dateinamen zu den Attachments angezeigt wurden.

Dadurch kam es auch zu dem Problem, dass Dateien als Korrupt gemeldet wurden, jedoch war nur die Endung / Dateiname falsch.

Sch�nes Wochenende,

Robert Heinzmann

Thomas Kreuzer wrote:

Hallo Herr Heinzmann,
In einem Fall in dem das auftrat, waren es mehrerer Dateien, 4 TIFF Bilder

mit 645 KB und ein File-1.

Ich habe sie auf ein Netzwerklaufwerk gespeichert und das erste war 645 KB

gro�, die drei anderen aber waren danach 1287 KB gro�.

Auch das File-1, welches im OTRS noch 5.0 KB hatte war nach speichern 8 KB gro�.
Teile aus dem Text waren doppelt vorhanden!
Abspeichern der Dateien des selben Tickets mit IE funktionierte aber korrekt!

Ich habe nun versucht, das Problem einzugrenzen, aber ich komme nicht sehr

weit. Nach ihrer Antwort habe ich ein Testticket erzeugt mit zwei kleineren Textdateien, (eine file-1 war auch noch dabei. Das Abspeichern hat damit aber ohne Fehler geklappt!

Habe momentan keine Idee was ich da noch tun kann, ausser auf einen anderen

Browser umzusteigen, was ich eigentlich nicht m�chte!

Gr�sse Thomas





PCO Support Team
-- Thomas Kreuzer --

pco ag
donaupark 11
93309 kelheim
phone +49-(0)9441-2005-55
fax +49-(0)9441-2005-20
http://www.pco.de   [EMAIL PROTECTED]


---- Weitergeleitete Nachricht von "Thomas Kreuzer" <[EMAIL PROTECTED]> ----

Datum: Von: "Thomas Kreuzer" <[EMAIL PROTECTED]>
An: <[EMAIL PROTECTED]>
Cc: Reply-To: Betreff: [Ticket#: 2005021410167-FW]



Test

thomas kreuzer
it manager & technical support

pco ag   donaupark 11   93309 kelheim
fon +49 (0)9441 200515 fax +49 (0)9441 200520
http://www.pco.de   [EMAIL PROTECTED]


---- Ende der weitergeleiteten Nachricht ----


------------------------------------------------------------------------


Test

thomas kreuzer
it manager & technical support

pco ag   donaupark 11   93309 kelheim
fon +49 (0)9441 200515 fax +49 (0)9441 200520
http://www.pco.de   [EMAIL PROTECTED]

_______________________________________________ OTRS Mailingliste: otrs-de - Webpage: http://otrs.org/ Archiv: http://lists.otrs.org/pipermail/otrs-de/ Listenabo verwalten: http://lists.otrs.org/cgi-bin/listinfo/otrs-de/ Support oder Consulting fuer Ihr OTRS System? => http://www.otrs.de/

Antwort per Email an