Re: fix for close_socket (fwd)

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


> 
> 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