Re: login

From: Jeremy Elson (jelson@blaze.cs.jhu.edu)
Date: 11/28/95


> that there are... the reason for closing all sockets for a given idnum
> when 1 socket closes is to prevent the now well known "duping bug".
> (im not going to go into it cause its late ;)  ).
> 
> there are also other problems with the current stock circle code with
> regards to logging in etc...  such as being able log a player to the "main
> menu stage" more than once (certainly bad for new character creation), but
> since Jeremy has also signified his intentions (already done?) to rewrite
> this (and other) sections fthe login/out routines i wont go into it :)

Yes, the socket bug in pl8 is rather dumb, and I too feel pretty dumb that
it's been in the most recent version for so long, but that code has already
been rewritten for pl9.  (It both fixes the duping bug and the you-can-kill-
other-people's-connections bug).  Before you ask if I can post a patch to
the mailing list, I'm afraid I can't because the changes were somewhat
fundamental and are spread througout various files - I'd be afraid of what
would happen if people tried plugging it in on its own.

If you're running a pl8 MUD, you can fix the disconnection bug just by going
into comm.c and searching for "sanity" (I think it's at the end of
comm.c's close_socket()) and deleting or commenting out the little loop at
the end that d/c's people with the same IDNUM as you.  Of course this opens
up the duping bug again - but if you want *both* bugs closed, wait for pl9
or write it yourself. :-)

Best regards to all,

Jeremy



This archive was generated by hypermail 2b30 : 12/07/00 PST