UNaXcess Version 0.04.03		    Wednesday, March 5, 1986 - 9:00 PM

		  Supplemental notes for installing UNaXcess


This directory contains the UNaXcess Distribution.  There is no User's Guide
at present, and it is only known to work on V7 and AT&T System III.  Berkeley
Unix should work, but System V users will have to change uwho.c to reflect
the format of /etc/inittab under System V.

The shar file should have created a number of files in this directory, and
a subdirectory called ``Utilities'' containing even more files.  Inspect the
Makefile (it SHOULD work as it is on any system, but you never know), then
type ``make SYSTEM=system all'', where system is BSD, SYS3, or V7.  Xenix
people should compile with SYSTEM=V7, as should people running BSD2.9 or
BSD4.1.  System V people should compile with -DSYS3 (after making the changes
to uwho.c described above).  (Xenixers will have to define Index and RIndex
to be strchr and strrchr also, if they are running 3.0 or later.)  Note that
this program uses _doprnt() in the up/download module; a -DUSE_PRINT is
defined in the Makefile, since Plexus sys3 systems (at least) use a different
function for formatted output, and Plexus _print takes different arguments.
Remove -DUSE_PRINT from the CFLAGS in the Makefile if your system uses
_doprnt().

To install UNaXcess, type ``sh Utilities/install.sh'' while in the source
directory. You will be asked various questions and be placed in the editor to
compose a bulletin.

After installation, you should edit the NewMessage file as specified by the
installation script.  It should say anything you want new users to know before
registering as UNaXcess users.

You should also run UnaXcess as sysop and type ``user new'' to edit the new-
user setup.  The parameter to be set is the access level granted.  As
distribu- ted, this is USER access level.  For business applications, this
should be SYSTEM (allowing shell access).  For certain applications, it should
be set to GUEST (users can only post to the GUEST conference).  Note that
there are 6 access levels:

	NONE		- de-activated logins or un-validated logins
	MAKEUSER	- runs the user maker before entering
	GUEST		- can read anything, only add to GUEST
	FILES		- can access the File Section
	SYSTEM		- can use the C command (shell access), also
			  can use a system editor to edit messages
	FAIRWITNESS	- all but a sysop.  The only limitation is that
			  only the Sysop (who is a fairwitness) can make
			  or break other fairwitnesses.

-----------------------
Some notes:

The configuration file is stored in the home directory of the UNaXcess system
and is named ``ua-config''.  It contains lines of the format:

			    variable	value

The defaults are contained in param.c, not that you should change them (that's
what the config file is for).  UNKNOWN VARIABLES WILL CAUSE UNAXCESS NOT TO
RUN.  The variables are:

	readonly	boolean	Indicates whether Read-Only conferences are
				valid.  Read-Only conferences begin with
				the characters ``r-''.

	x-rated		boolean	Indicates whether X-Rated (restricted)
				conferences are valid.  X-Rated conferences
				begin with the characters ``x-''.

	editor		string	The path of the editor to use in creating
				messages.  The editor ``ua-edit'' is the
				built-in editor.  This editor is used only
				if the user has SYSTEM access or greater;
				otherwise, the built-in editor is used.

	shell		string	The path of the shell to use when the C
				command is invoked.  The C command is not
				valid for users whose access is less than
				SYSTEM level.  (Note:  there is no reason
				that this must be a shell.  The original
				version of the File Section was a separate
				program accessed by the C command.)

	read-env	boolean	Indicates whether the user's environment
				should be read to indicate the shell and
				editor.

	bbs-user	string	UNaXcess will permit a user whose Unix login
				name is the same as his UA login name to log
				in from the shell without specifying his name
				or password.  The ``bbs-user'' is exempt from
				this; it is intended to prevent breaches in
				security by invoking a shell (C command) and
				running ua from the shell.

	time-limit	number	This is the time limit for UNaXcess in minutes.
				If this is zero, no time-out occurs.  A warning
				is given five minutes before a logout; if the
				user is in the shell or editor when his time
				runs out, exiting the shell or editor will
				log him out.

	sysop		string	The name of the UNaXcess sysop is configurable.
				Special-purpose systems may indicate a more
				descriptive name (i.e. DUNGEON MASTER for a
				fantasy gaming BBS).

	private-msgs	boolean	Indicates whether private messages may be
				created.

	logging		boolean	Indicates whether a session log should be kept
				in Logfile.  This allows you to track security
				problems, people who misuse the system, or
				(heaven forbid) bugs.  However, the log gets
				big rather quickly, so you may wish to leave
				this off.

	banner		string	This string contains the name of a file whose
				contents are printed when a user runs UNaXcess,
				before the login message.  If the string is
				empty, a default banner is used.

	login-msg	string	This string is printed as the login prompt.
				If it is empty, a default string is used.
				You might want to change this if you disallow
				GUEST or NEW logins, or change their names.

	pauses		number	This is 2 for no pauses, 1 for user-specified
				pausing, and 0 for forced pausing.  A cheap
				built-in pager is used.

	login-tries	number	If this is not 0, it specifies the number of
				login attempts permitted before UNaXcess exits.

	ascii-upload	string	These are the command strings to be passed to
	ascii-download		/bin/sh via system() to perform the specified
	xmodem-upload		action.  The defualts are:  a cat string for
	xmodem-download		ascii, umodem -[sr]b for XModem, and C-Kermit
	kermit-upload		command strings for Kermit.  The string ``%s''
	kermit-download		will be replaced with the file's path; if no
				``%s'' is specified, the pathname will be
				appended to the command, preceded by a space.
				If the string is empty, UNaXcess will assume
				that no capacity exists for the action.


A string is specified in double quotes:  "/bin/sh".  Actually, the quotes can
be left off, but in this case the string cannot contain spaces or tabs.  A
boolean is indicated as YES or NO (Y or N will do, and case doesn't matter).
A number is simply a number, but is limited to 0-255.  Strings may contain
escapes (\n \r \t \b \f \e \nnn \a) (\a is bell).  Comments are indicated by
#; they do NOT have to be at the beginning of a line.

---

The up/download (UDL) module uses a log file for uploads, and a directory for
downloads.  Both files are created by the install script; "upload-log" is
empty, and "directory" contains one line:

	branch file GENERAL; <date> by <sysop name>: General up/downloads

This is the basic format of a directory entry.  The word "branch" is reserved,
and indicates that this is the directory entry for the branch itself; files
in this branch have the word "branch" replaced by the branch's name.  There is
no way to automatically create or delete files or branches; it has to be done
from the shell.  (On the other hand, if the branch has a (UNIX) directory in
the "uploads" directory, uploads will be logged there in such a way that the
log entry may be simply copied from the upload-log to the directory.)

Note that each branch is represented by a UNIX directory in the "library"
directory.  The name should be lowercase, although user input of the name
and the name listed in the "directory" file are case-independent.  If uploads
are to be permitted, a directory of the same name should be created in the
"upload" directory.

---

UNaXcess depends on being setuid to its owner, not only for permissions in
the BBS, but also to insure that the home directory (containing the message
database and config file) can be located.

UNaXcess is Copyright (C) 1986 by Brandon S. Allbery.  Permission is hereby
granted to copy and freely distribute this code, Version 0.4.3 and derivatives
ONLY.  Versions 1.0.0 and later are NOT permitted to be copied or distributed.
You may charge only a reasonable handling/copying fee for distribution of this
code, you may NOT sell it.

--Brandon Allbery
