← Back to team overview

mudlet-makers team mailing list archive

[Bug 734741] Re: ctelnet.cpp decompression fails is compressed data sent with MCCP option

 

Ok some questions as I am not familiar with gmcp or lusternia.

Firstly you do need to add

                   iac = false;
                   insb = false;


I have 
                                iac = false;
                                insb = false;
                                goto MAIN_LOOP_END;

Without this state machine is in the wrong state after enabling MCCP and you can't actuall;y connect I think.
 
I am not sure if this is the problem you are having, or if you can log into the game and you get problems further down the line.

-- 
You received this bug notification because you are a member of Mudlet
Makers, which is subscribed to Mudlet.
https://bugs.launchpad.net/bugs/734741

Title:
  ctelnet.cpp decompression fails is compressed data sent with MCCP
  option

Status in Mudlet the MUD client:
  New

Bug description:
  Mudlet 2.0-dev built: January 19, 2011
  OS: kubuntu

  in ctelnet.cpp  void cTelnet::handle_socket_signal_readyRead()

  
                                  initStreamDecompressor();
                                  pBuffer += 3;
                                  //mWaitingForCompressedStreamToStart = false;
                                  int restLength = datalen - i - 3;
                                  if( restLength > 0 )
                                  {
                                      datalen = decompressBuffer( pBuffer, restLength );
                                  }
                                  i = 0;

  this has several errors that cause decompression errors.
  think it needs to be

                                  initStreamDecompressor();
                                  pBuffer += i + 3;  
                                  //mWaitingForCompressedStreamToStart = false;
                                  int restLength = datalen - i -3;
                                  if( restLength > 0 )
                                  {
                                      datalen = decompressBuffer( pBuffer, restLength );
  				     if(datalen !=-1)
  				         datalen += i+3;
  				}
                                  i += 2;



Follow ups

References