2BSD/src/net/READ_ME

The code in this directory is the most up-to-date network source
on the machine.

*** Pre-processor Flags ***

This set of code is controlled by this set of conditional
compilation flags:

TESTING	if defined, do not generate tests, etc. which require
	super-user status.

OLDTTY	if defined, compile for old 1 character TTY names
CCTTY	if defined, compile for CC tty name format
	if neither is defined, use v7 ttyname format

PASSWDF	compile in code to handle /etc/passwdf - split passwd files

OLDPROT	use the old protocol, instead of the new protocol

V7	use the v7 features

FUID	use the funny uid's present on Cory and CC
ROPTION	The local machine mail program has the magic -r option

HPASSWD	The local machine has the hashed password stuff

SPACCT	under certain circumstances, allow remote login without acct

VAX	compile v7 code
CORY	compile v6 code, generate OLDTTY code, etc.
CC	compile v6 code, etc.


At Berkeley, the conditonal flags are first defined
in "whoami.h" on the local machine..
They are VAX, CORY, A, C, D, E, SRC.
These set up these correspondences:
Flags				Implies
VAX				V7, ROPTION
CORY				PASSWDF, FUID, OLDTTY,HPASSWD,ROPTION
A,C,D,E				CC, CCTTY, PASSWDF, FUID, SPACCT
SRC				CC, OLDTTY, PASSWDF, FUID, SPACCT
VANILLA				OLDTTY

For "normal" version 6 machines, there is a dummy machine
definition for "VANILLA" which indicates the v6 UNIX options.

Here let's try to account for the machine differences:

1) Cory has:
	old 1-char tty format
	/etc/passwdf
	a mail command which takes the -r option
	a different crypt
2) CC-A,CC-C,CC-D,CC-E have:
	CC tty format
	/etc/passwdf
	an unimproved mail program
	a different crypt
	allow certain accounts to be accessed w/o passwd
3) SRC is like CC but:
	has old 1-char tty format
	/etc/passwdf ?
	doesn't allow rlpr's w/o an account
	uses the CC crypt
4) VAX:
	the time system call is different
	uid and gid are diff
	a different crypt

*** Adding a new machine

To add another machine to the network, change these programs:
The machine tables are all in config.h.
1. Change the path names in "Paths.h" and "nsh.c", and the makefile to suit.
2. Change "defs.h" to suit.
3. add in LOCALx section of config.h
   the usual information about the machine interconnections
4. add the name of the machine to the machine
   name table and its type to the machine type table
5. compile the network specifying the code type (CC, VAX, Cory, VANILLA)
   and the machine type

*** Other files ***
interact.c, listen.c -	manually send packets
speeds.c, speedr.c -	send various length packets, use "time" to evaluate
store.c, receive.c -	send a file (use for backup)
nettest.c -		run daemons locally, using pipes instead of tty lines
setmode.c -		set the mode on the tty line driver to "cat" things thru