Re: fix for close_socket (fwd)

From: MUD Programmer (mud@user.centcon.com)
Date: 08/31/95


The code fix my coder put in, does not allow for duping.

As soon as a dupe char comes in, if they meet the password check, they 
usurp the other connection.  If they don't meet it, they're kicked out in 3.



-- Steve

On Thu, 31 Aug 1995, Jeremy Elson wrote:

> 
> > 
> > And here it is!
> > 
> > ---------- Forwarded message ----------
> > Date: Thu, 31 Aug 1995 12:54:01 -0700
> > From: Charles Rand
> > 
> > 
> > Hi Steve,
> > 
> > In comm.c there is a procedure called close_socket.  At the very end of
> > this procedure I commented out a section of code designed to remove
> > multiple connections by the same user.  As two characters cannot be on
> > with the same name, I can't see why the code is there in the first place.
> 
> Two characters *can* be on with the same name -- that's the whole problem
> with pl8.  People can dupe by bringing the same character on twice.
> 
> With pl9, the entire dupe-check system has been rewritten so that people
> absolutely can *not* log in the same character twice, making the disconnect
> code that you commented out unnecessary.  I agree, that code is an ugly hack,
> which is why it was removed from pl9. :)
> 
> To all users of pl8: yes, commenting that code out will prevent the bug
> which causes lowly mortals to log others off, but it'll open up a duping
> hole.
> 
> 
> >   /*
> >    * kill off all sockets connected to the same player as the one who is
> >    * trying to quit.  Helps to maintain sanity as well as prevent duping.
> >    */
> > /*
> > 
> >   if (target_idnum >= 0) {
> >     for (temp = descriptor_list; temp; temp = next_d) {
> >       next_d = temp->next;
> >       if (temp->character && GET_IDNUM(temp->character) == target_idnum)
> >         close_socket(temp);
> >     }
> >   }
> > */
> 



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