Login
User Name:

Password:



Register

Forgot your password?
do_owhere recursive
Author: Khonsu
Submitted by: Khonsu
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
Users Online
AhrefsBot, Majestic-12

Members: 0
Guests: 31
Stats
Files
Topics
Posts
Members
Newest Member
489
3,792
19,646
597
Aileenutz

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » Bugfix Lists » LoP Bugfix List » read_from_discriptor issue
Forum Rules | Mark all | Recent Posts

read_from_discriptor issue
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Jan 15, 2012 10:38 am   
Go to the top of the page
Go to the bottom of the page

Remcon
Geomancer
GroupAdministrators
Posts1,917
JoinedJul 26, 2005

 
In comm.c find the read_from_descriptor function and find this
      if( nRead > 0 )
      {
         iStart += nRead;

         /* Update the incomm here before adding more to the line etc */
         update_transfer( 1, nRead );

         if( d->inbuf[iStart - 1] == '\r' || d->inbuf[iStart - 1] == '\n' )
            break;
      }

change it to this
      if( nRead > 0 )
      {
         iStart += nRead;

         /* Update the incomm here before adding more to the line etc */
         update_transfer( 1, nRead );

         if( d->inbuf[iStart - 1] == '\r' || d->inbuf[iStart - 1] == '\n' )
            break;

         /* Reached limit so have to let it carry on */
         if( iStart >= ( sizeof( d->inbuf ) - 10 ) )
            break;
      }

If your using a client that holds a lot of text and then sends it all at once like the latest Zmud client or if you used telnet and entered a lot of text without hitting enter, the recv function starts returning 0 once its already put all it can into d->inbuf and this causes it to kick the connection thinking it is getting an EOF.

This affects SMAUG and probably all that use this read_from_descriptor.

Pages:<< prev 1 next >>