ftp.nice.ch/pub/next/unix/mail/zend.1.0.README

This is the README for zend.1.0.s.tar.gz [Download] [Browse] [Up]

This is the README file for Zend version 1.0.

It was written by Gerben Wierda, see any source file for details. This source
is "free software" but he nonetheless would like to benefit financially from
his work. So if you are inclined to reward his hours of devotion, you are
advised to send him a small amount of money.

This package is covered by the Gnu Public License.  See the file COPYING for
details.  If you would like to do something with this package that you feel is
reasonable but you feel is prohibited by the license, contact me to see if we
can work it out.

You should read the file entirely before proceeding. There is a shortcut.

WHAT IT IS

The good news is: Zend is a sender/receiver program that will send any file or
directory from one user on one system to another user at another system, as
long as they are connected by e-mail.

The bad news is: it is not super-efficient.  Data is encoded and sent in
chunks, several mail messages are sent etc. It is slow, but reliable. Speed
depends on your mail speed, normally 4 connections to your mail node are
needed for every transfer. If you contact once a day, that would mean 4 days
to zend a file/directory. The other good news is: it does not need any
intervention from the user and if you have a mail connection, than it will
work. It will also try to compress anything that is sent.

HOW TO INSTALL (NeXT users, read this file ENTIRELY before proceeding)

Unpack the .tar.Z file. Go into the zend-1.0 directory.

	1. Read the manual, `zend.tex'. It is in LaTeX format, but you can read 
	it anyhow.

	2. Copy policy.ex to policy.h. Edit `policy.h'. There are at least
	three things to be looked at.

	3. Edit `Makefile'. Set the directories at the top of the file and
	choose the compiler settings.

	4. run `make'.

	5. if it compiled without problems, run `make install' as superuser.
	(If you have a previous version of zend installed, you can revert to
	 it by running `make uninstall'.)

	6. Edit the config file /usr/spool/zend/config and put in the
	name of your system as known by mail. If you do not do this
	zend will not run. Choose other variables as you like. Removing
	one of the sizes will make them effectively 0. Note: this file is
	very sensitive to typing errors!
	(Alternatively the systemname and spooldirectory can be set directly
	 from configuration parameters in the Makefile.)

	7. Install the following alias in your mail system:

		zend: "|/usr/local/bin/zend-R"

	or wherever zend is installed. Make the alias work. On most systems
	this can be done by running newaliases. Some systems need to run
	make aliases in their NIS directory (Yellow Pages). Some systems
	may need killing and restarting sendmail.

	8. Install the following lines in your crontab (or in /usr/adm/daily
	if you have it and you so prefer):

		if [ -f /usr/local/bin/zend-T ]
		then
			/usr/local/bin/zend-T
		fi

	This is to make zend check periodically for lost packets, and to
	eventually cleanup stale jobs.

	9. Install the following line in /etc/rc (or, preferably /etc/rc.local
	if you have it):

		if [ -f /usr/local/bin/zend ]
		then
			(/usr/local/bin/zend -CLEANUP) >/dev/console 2>&1
		fi

	This is to cleanup stale lockfiles after a system crash.
	
	10. zend yourself a file. If it arrives and you get two mail messages
	telling you so, all is fine. Watch the console of your system for error
	messages. For instance, when first running on DEC Ultrix 4.2 it
	turned out that uuencode made the file have default modes 0. This
	would result in an empty file delivered succesfully.... Compare the
	zent file with the sent one.

	11. Normally zend records what it is doing in /usr/spool/zend/LOGFILE.
	This file grows without bounds, so it should be cleaned up periodically.
	Alternatively you can delete it altogether, since zend only writes
	log records if the logfile exists.

	12. If the system is not already in the makefile, send me mail
	how to compile and install.

	13. If you want the manpage installed, run:
		make maninstall
	This will install in the MANDIR in the makefile (normally that
	is /usr/man, so you might want to change that to /usr/local/man. There
	is no manpage for the config file, but config.ex is well
	self-documented.

	14. To make a clean system (only the .tar.Z distribution is left),
	edit the Makefile and remove the echo from the line:
		echo rm -rf $$DIRNAME/* ;\
	and run
		make CLEAN

SECURITY ISSUES:

	Zend is installed setuid root in order to be able to deliver files to
	with the right user/group ids set.  Care has been taken to plug all
	security holes we could think of: subprograms are executed in
	real user mode wherever possible, and are referred to by absolute
	pathname otherwise (to avoid being able to execute a subversive
	program as root by just simply manipulating PATH).

	The NeXTSTEP front end, incidentally, has to be setuid root too in
	order to be able to interrupt the zend driver.  Most of the times,
	though, it runs in non-privileged mode: privileged mode is enabled
	only to interrupt or terminate its subprocess.

	However there is no guarantee that we overlooked something, but
	you can always check the sources if you don't trust us at face value.


SYSTEMS KNOWN TO WORK:

	SunOS 4.1.1B on a SPARCstation with either native cc or GNU cc 2.3

	NeXTOS 2.1 / 3.0 with cc (which is GNU cc 1.36 / 1.93)

		For NeXT 3.0 users there is a special treat.  Zend comes with
		a NeXTSTEP front end.  It is not perfect yet (since you cannot
		drop a multiple-file selection on the Zend icon yet, and you
		probably never will, since it runs contrary to NeXTSTEP issues) 
		but it works.  Drop a (set of) files on the window, fill in
		the recipient and press the deliver button. Or use services.
		
		In the source distribution it is packaged in a separate
		archive, NeXTapp.tar, for portability reasons.  You can unpack
		it with "make NeXTApp"; this also removes the archive.
		From that moment on you can use Project Builder to manage
		the Zend project in NeXTapp.

		A second special treat is in the fact that running install in
		the Project Builder will auto install, zend, Zend.app and the
		aliases, crontab and daily entries needed to perfectly run
		Zend.  All configuration and installation parameters can be
		set from Makefile.postable in the NeXTapp/Zend directory.

		And third treat, there is an executable-only Installer Package
		that you can install right away.

	Ultrix 4.3 with native cc on a DECstation 5000/200

	SCO Unix 3.2.2 on a 486

KNOWN PROBLEMS:

	SunOS 3.5 delivery does not work. It compiles ok....

	Systems that use Dr. Dumas uud/uue installed as uuencode/uudecode
	have problems. This is because these sources probably originated
	on DOS systems where they don't have pipes and as a result it is
	unusable with software that does use pipes (like this).

	System V-like systems may have (sometimes a kernel configurable) limit
	on the size of filenames. If a file or directory is transferred with
	too long names it depends on the systems configuration if the process
	is aborted or if the too long names are cut off. SCO Unix is know to
	have default unfriendly behaviour. AIX is default friendly.

AUTHORS:

	Gerben Wierda (gerben@rna.indiv.nluug.nl)
		Goudriaanstraat 1
		1222 SG  Hilversum
		The Netherlands
	Tom Hageman
		Soerabajastraat 44b
		9715 LV  Groningen
		The Netherlands

$Id: README,v 1.3 1993/02/21 13:07:33 gerben Exp $

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.