# bf_connect_player(CONN, PLAYER) --> *FTP!!*

Colin McCormick (colin@tripod.tripod.com)
Thu, 1 Aug 1996 15:33:38 PDT

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

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

    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.

    Make sense?

    Colin & Nate
    Tripod, Inc.
    http://www.tripod.com