MOO-cows Mailing List Archive
Re: bf_connect_player(CONN, PLAYER) --> *FTP!!*
Date: Thu, 1 Aug 1996 15:33:38 PDT
From: Colin McCormick <email@example.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hi folks :)
Just one more quick thought on possible uses for a "connect_player()"
builtin: FTP connections!!
Since we can now (blessed be Pavel) have multiple listening objects, it'd
be easy to set up an object listening on port 21 acting as an FTP daemon.
Once logged in through this port, a player would be allowed to use only
the GET, PUT, LS, etc. verbs defined on the listening FTP daemon object,
via a restriction in this object's :do_command() verb. (Recall that the
:do_command() verb on the *appropriate listening object* is called before
each verb issued by a player.) A player could read/write the values of
properties, verb code, etc., making transfer of large blocks of text much
However... this listening FTP daemon object would have to be able to
perform blocking I/O on connections, so as to read the initial "user XXXX"
line, reply with the line
331 Password required for XXXX
and then read the next "pass YYYY" line *before* deciding on whether or
not to log in the connection. This is not currently possible (except with
non-blocking I/O in a polling loop, very laggy as previously discussed)
but would be with a "connect_player()" builtin. The :do_login_command()
on the listening FTP daemon object would simply do what blocking read()s
it needed and decide whether to call "connect_player()" or print a "530
Login incorrect" message.
Colin & Nate
Subject Index |