Menu

#6 permant login error

open
nobody
5
2006-10-25
2006-10-25
Anonymous
No

Hi,

the TIcqLib worked always fine the last time.
But in the last days and from today i got always the
error message :

"Received malformed login packet"

Did anybody know the reason or a solution ?

Greetz DataCool

Discussion

  • Nobody/Anonymous

    Logged In: NO

    I confirm. ICQ change logon protocol and TICQLib does not working. Please, somebody fix it!!

     
  • Nobody/Anonymous

    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

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.