Entwickler-Ecke

Internet / Netzwerk - TIcqClient-Received malformed login packet


Chaosdelphin - Fr 27.10.06 13:03
Titel: TIcqClient-Received malformed login packet
Hi,
ich benutze in meinen Programmen öffters mal die Ticqclient-Komponente von http://www.torry.net/, seit letzter Woche bekomme ich bei jeder Anwendung die sich über diese Komponente zum icq-server verbinden will den Fehler "Received malformed login packet"...also irgendein fehlerfaftes Paket....

Der Fehler kommt selbst bei dem, mit der Komponente gelieferten Beispielprogramm...

Hat irgendjemand ne Lösung für das Problem oder nen Link für ne neue ICQ-Komponente(falls icq irgendwas am protokoll geändert hat)???

Schon mal Danke im Vorraus


phogl - Mi 10.01.07 09:21

Das liegt (glaub ich) an der neuen protokollvercion (v9). die änderung hat nru den sinn eben solche programme rauszuschmeißen, ist daher relativ einfach zu fixen.

einfach da wos die kompo gibt ( http://sourceforge.net/projects/ticqlib ) auf bugs und dann auf "Received malformed login packet" klicken. => http://sourceforge.net/tracker/index.php?func=detail&aid=1593106&group_id=69626&atid=525228

da steht dann:

Find this line in ICQClient.pas:

Delphi-Quelltext
1:
2:
      //SRV_COOKIE
      FUIN  := GetTLVStr(@pkt, T);                //Client's UIN in ASCII

Replace with:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
      T := GetInt(@pkt, 2);
      if T = $008e then                 // TLV(142 [0x008E])
      begin
        Inc(pkt.Len, GetInt(@pkt, 2));  
        FUIN  := GetTLVStr(@pkt, T);
      end else
      if T = $0001 then                 // TLV(1 [0x0001])
        FUIN  := GetWStr(@pkt);