================================================================================
This software is distributed under the GNU Public License V2 and comes with
no warranty what so ever.
================================================================================


What is EFTP
------------
EFTP stands for Extended FTP. Why? Simply because I couldn't be bothered to
think of anything more imaginitive. EFTP and EFTPd are client and server
implementations compliant with the FTP specification (RFC 959). The twist
is that they also support the extension, called recursive mode.


Recursive Mode
--------------
This mode allows directory and file information to be transferred over a
persistent connection. Directories structures can be transferred in their
entirety. Files may be optionally compressed as they are sent.


Supported Systems (so far)
--------------------------
Solaris 2.7
Solaris 2.5
i386-Linux (RedHat to be specific)

Only minor tweaks should be required to get it building with other systems
though (hopefully). If you do tweak the code to get it working on system
that isn't listed, please mail me a patch. I'll include it and credit you
in the acknowledgements.


How To Compile
--------------
Run ./build.sh
If all goes well the message "Build for system-type complete" will be
returned. The binaries can be found in the system-type/bin/ directory.

If it doesn't work, you'll be able to find a log of the make output
in system-type/makelog.


How To Use The Client
---------------------
Open a connection using the 'connect' command:
	connect 10.1.1.54

Once connected login with the 'user' command:
	user username

Enter the password when prompted.

To activate recursive mode:
	mode r
	bin

To transfer a file or directory:
	get dirname/filename
   or
	put dirname/filename

To end a session use 'disconnect'.
To quit use 'quit'.

Other available commands are more or less the same as other FTP
clients and can be found with 'help'.


How To Use The Server
---------------------
Just run it as root. At present there is no configuration file.
All configuration is done by modifying the common/config.h file.


TODOs
-----
There are loads of things missing from this at the moment.

Server:
NLST, SYST commands
Config file
Logging
Support for filenames with spaces

Client:
Haven't really thought about it. Must be something.

Common:
Better help
Networking optimisations


Contact
-------
If you find any glaring bugs, better ways to do things or just want
to let me know you're using it, mail me.

E-mail: alcockba@educk.globalnet.co.uk
EFTP Homepage: http://www.users.globalnet.co.uk/eftp/


Acknowledgements
----------------
None.
