@verb #76:"do_login_command" this none this rxd #55 @program #76:"do_login_command" this none this caller in {#-1, this} || raise(E_PERM) valid(player) && raise(E_PERM) cn = `connection_name(player) ! E_INVARG' if (cn == E_INVARG) return endif "The below two lines are commented out purely for Oct 31 2002 anarchy day needs." "port = toint(cn[(m = match(cn, \"^port %([0-9]+%)\"))[3][1][1]..m[3][1][2]]);" "(port == this.port) || raise(E_PERM);" "There is a teeny security hole here. Someone could possibly force_input() an unconnected player connecting to this connection object. But. What could they accomplish, how could they find out about the player, and how would they make it happen so fast? It doesn't sound deadly." if ($login:redlisted($string_utils:connection_hostname(cn))) try for x in (this:msg_redlist()) notify(player, x) endfor except (ANY) endtry return `boot_player(player) ! ANY' endif set_connection_option(player, "binary", this.binary) fork (0) for x in (this.spies) x:notify(tostr("[", this, "]: ", argstr)) endfor endfork for x in (this.available) this.available = setremove(this.available, x) if (!x:isa(this.connection_class)) "Quick reality check..." fork (0) player = $no_one this:kick() endfork continue endif this.in_use = {@this.in_use, x} set_player_flag(x, 1) x.name = x.active_name return x endfor "Doh! couldn't find a free one." set_connection_option(player, "hold-input", 1) force_input(player, argstr, 1) this:new_connection_obj() set_connection_option(player, "hold-input", 0) return 0 "(return val is ignored by server)" "Last modified by Dax (#789) on Tue May 3 14:09:30 2005 MDT." .