close_socket and Bad pwds AND hanging sockets

From: root (root@localhost.iupui.edu)
Date: 08/06/95


        Well, here is my latest problem...
        I have done what Jeremy suggested with bpl8's socket_close function to
fix the fail-the-passwd-attempt-to-throw-off-players bug (by copying
close_socket, renaming it close_badpwd, removing the offending code at the end,
and setting up a CON_BADPWD state.)  Now I get another bug...
        I repeat the attack (I login in, pwd, in CON_PLAYING state), then login
in again and fail the passwd attempt.  Instead of closing the connection, the
connection is still ESTABLISHED (as per netstat), and the first bit of input I
give the hung socket throws me off.  Now the REAL bug.  If I just sit on the
hung socket, and when my legit player goes to quit, BAMN.  Instant socket
closure for both sessions.  The "legit" session does not get the 0-5 menu as
normal, just the cold "Connection closed by foreign host" thing.
        Now, is the code at the end of close_socket hiding a subtle bug, or did
I introduce one in my close_badpwd code (which is an *EXACT* copy of           eclose_socket, execept for the code after the comment at the end)?  This one bug
has REALLY got me stumped....

TIA,
Mark Crichton
macricht@indyunix.iupui.edu

(Wow....just got an idea for the eq. globbing problem.  Got to check if it will
work now....)



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