Use the FILE command to initiate a file transfer.
The FILE statement must preceed any metadata commands, such as NAME or DATE, and must therefore come before all DATA commands for this file. In fact, since FILE introduces the file, it must come before all other file related commands.
The syntax is
|size from auth
|is the size of the file in bytes
|identifies the sender
|is an authentication token
The size value is an integer, though it need not be exact. Its sole purpose is to allow for the negotiation, if possible, betweeen the client and the server of "is there room for this file?". The file's size might not be known prior to transfer. The client may indicate 0 or any arbitrarily low value, but runs the risk that the server will running out of space before the entire file is sent.
The true size of the file is known only after all DATA commands have been processed and canonicalization has been applied.
The from field identifies the sender. This is typically the username of the person running the UFT client. If IDENT authentication is indicated, then the IDENT server running on the sending host must return the same string when the connection is interrogated. If AGENT authentication is indicated, and verified, then the client is trusted regarding the senders identity.
Finally, auth tells what kind of authentication is to be used. This will typically be IDENT if there is an RFC 1413 server running on the sending host. It may alternatively be AGENT for which case a previous AGENT exchange succeeded. (AGENT is one of the few commands that can appear before a FILE command.) It may be a dash (-) to indicate no authentication. Acceptance or rejection of unauthenticated senders is implementation dependent.