Now the client login as "IcqLite 5.1", the changes above are
not necessary.
But i suggest to do that !
For the real "solution" u have to change "IcqClient.pas"
procedure "HandlePacket" line 1973 :
from Move(Data^, pkt.Data, Flap.DataLen); pkt.Len := 0;
to Move(Data^, pkt.Data, Flap.DataLen); pkt.Len := 5;
I'm still testing if this changes, affect any other errors
but till now,
everything is working fine.
For questions and other changes you can reach me under
datacool(at)gmx.net
Greetz Datacool
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: NO
I confirm. ICQ change logon protocol and TICQLib does not working. Please, somebody fix it!!
Logged In: NO
Hi,
i used a packet sniffer to find out what is running wrong.
And i find a solution for the problem above !
In the unit "IcqWorks.pas" in the procedure
"CreateCLI_IDENT" from line 1369 change the code to :
// Pack client identification details. We identify
ourselves as ICQ 2003b.
// eraser 13.05.2004
//PktTLV(Pkt, 3, 'ICQ Inc. - Product of ICQ
(TM).2003b.5.56.1.3916.85'); //Cookie
// datacool 29.10.2006
PktTLV(Pkt, 3, 'ICQBasic'); //Cookie
//Uknowns
(*
PktInt(Pkt, $00160002, 4); PktInt(Pkt, $010a, 2);
PktInt(Pkt, $00170002, 4); PktInt(Pkt, $0005, 2);
PktInt(Pkt, $00180002, 4); PktInt(Pkt, $0025, 2);
PktInt(Pkt, $00190002, 4); PktInt(Pkt, $0001, 2);
PktInt(Pkt, $001a0002, 4); PktInt(Pkt, $0e90, 2);
PktInt(Pkt, $00140004, 4); PktInt(Pkt, $00000055, 4);
PktTLV(Pkt, $000f, 'en');
PktTLV(Pkt, $000e, 'us');
*)
PktInt(Pkt, $00160002, 4); PktInt(Pkt, $010a, 2);
PktInt(Pkt, $00170002, 4); PktInt(Pkt, $0014, 2);
PktInt(Pkt, $00180002, 4); PktInt(Pkt, $0034, 2);
PktInt(Pkt, $00190002, 4); PktInt(Pkt, $0000, 2);
PktInt(Pkt, $001a0002, 4); PktInt(Pkt, $0bb8, 2);
PktInt(Pkt, $00140004, 4); PktInt(Pkt, $0000, 4);
PktTLV(Pkt, $000f, 'en');
PktTLV(Pkt, $000e, 'us');
Now the client login as "IcqLite 5.1", the changes above are
not necessary.
But i suggest to do that !
For the real "solution" u have to change "IcqClient.pas"
procedure "HandlePacket" line 1973 :
from Move(Data^, pkt.Data, Flap.DataLen); pkt.Len := 0;
to Move(Data^, pkt.Data, Flap.DataLen); pkt.Len := 5;
I'm still testing if this changes, affect any other errors
but till now,
everything is working fine.
For questions and other changes you can reach me under
datacool(at)gmx.net
Greetz Datacool