			Sendfile / SAFT

Sendfile is an asynchronous file transfer service for the Internet, like
the sendfile facility in Bitnet: Any user A can send files to another user B
without B being active in any way.

The existing standard file transfer (ftp) is a synchronous service: The
user must have access to an account on the sending and on the receiving
site, too.

A user based data exchange via anonymous ftp server is complicated and in
respect to security out of question. Sending of files with e-mail is an
asynchronous process but complicated too (binary data have to be
specially encoded before sending and decoded after receiving). You can not
transfer large files this way because many mail systems limit the maximum
size of mails. With both procedures you also loose nearly all file
attributes.

Sendfile for UNIX, which is an implementation of the SAFT protocol (Simple
Asynchronous File Transfer) now offers you a true asynchronous file
transfer service for the Internet. Virtually any form of file can be sent,
including encrypted ones. The SAFT protocol will be submitted as an RFC in
the near future.


Sendfile is a client/server application and contains:

  - sendfiled : the server (daemon)

  - sendfile  : a client for sending files

  - sendmsg   : a client for sending one-line messages

  - receive   : a client for picking up already received files
  
  - documentation: README-files for a quick overview, Unix man pages and 
                   a 40 page description of the protocol and the programs.

The sendfile client is a user program which sends files to the sendfiled
server of the destination system. The sendfiled receives the files, saves
them in the local spool area and informs the recipient who is now able to
copy the files in his directory with the receive client. The original
files in the spool will be deleted then.

Examples for the sendfile client:

  $ sendfile doc.ps zrxh0370

  $ sendfile -a Sources *.f90 Makefile uranus@bigvax.inka.de

Sendfile automatically compresses the files before sending in order to
save net bandwith. It is also possible to send several files or whole
directories as one archive file (see second example above). With the
integrated pgp support you can encrypt files and/or add a sigital signature.

The sendmsg client is a user program which sends one-line text messages to
the sendfiled which itself directly writes them onto the recipient's
terminal.

Example for the sendmsg client:

  $ sendmsg framstag@linux
  message: Pizza is ready! 

The addresses you specify with sendfile and sendmsg have to be real existing
Internet accounts and must not be generic mail addresses (so called mx
records).

To pick up files from the spool one uses the receive client. Example:

  $ receive -l

  From zrxh0370@baracke.rus.uni-stuttgart.de (Ulli Horlacher)
  -----------------------------------------------------------
    1) 1995-Aug-10 15:41:24      3 KB  README
    2) 1995-Aug-10 15:41:37     30 KB  doc.txt
    3) 1995-Aug-10 15:42:09    113 KB  Sources (archive)

  $ receive README
  %receive-I, README received

 
So far, sendfile runs on AIX, BSDI, Convex-OS, Digital Unix, FreeBSD,
HP-UX, IRIX, Linux, NeXTstep/Mach, OSF/1, SunOS 4, SunOS 5 (Solaris) and
Ultrix. An implementation for Windows NT and OS/2 is in preparation.

Sendfile needs the gcc compiler at compile time and gzip at run time. GNU
recode is not needed now, but it will be when SAFT implementations appear
on non-ISO coding systems, like MS-DOS.

Sendfile needs the gcc compiler at compile time and gzip at run time. GNU
recode is optional if once there will be a SAFT implementation on non-ISO
coding systems like MS-DOS. If you have pgp on your system, you'll be glad
to know that sendfile has built-in support for it.

The sendfiled server has to be installed by root because it is a
privileged Internet daemon. The clients may run as normal user programs.
The installation is either be done with an automatic script (no questions,
no answers) or manually with the help of a detailed description file.

Sendfile does not cause any security problems because the clients run in
user mode and the server is only called under control of the inetd. The
sendfiled only writes in the user spool directory and only under the
recipient's UID. The administrator may create a file containing the names
of those users who are not allowed to use the sendfile/sendmsg service and
he may limit the size of the spool (disk quota). The user himself may
create a file containing a list of addresses from which he does not want
any submissions.

SAFT uses the tcp port 487, which has been reserved by the IANA
(Internet Assigned Numbers Authority):
ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers

SAFT/sendfile has been written by Ulli Horlacher
(framstag@rus.uni-stuttgart.de).

URLs:   ftp://ftp.uni-stuttgart.de/pub/unix/comm/sendfile/sendfile.tar.gz
	http://www.belwue.de/belwue/software/saft/index.html
