Imported from conserver-GNAC-6.09.tar.gz

This commit is contained in:
Bryan Stansell 1999-01-26 17:49:19 -08:00
parent 913545efcd
commit a17f7f7941
34 changed files with 455 additions and 597 deletions

View File

@ -1,6 +1,10 @@
CHANGES CHANGES
======= =======
version 6.09:
- Added more documentation (look for README and INSTALL files).
- Fixed up man pages so they are more accurate.
version 6.08: version 6.08:
- Added support for Linux 2.X and IRIX 6.X - Added support for Linux 2.X and IRIX 6.X
- Fixed "suspend" code in client - it shouldn't have worked - Fixed "suspend" code in client - it shouldn't have worked
@ -25,5 +29,5 @@ before version 6.05:
and enhancements of various types were applied. and enhancements of various types were applied.
# #
# $Id: CHANGES,v 1.4 1999-01-15 15:36:21-08 bryan Exp $ # $Id: CHANGES,v 1.5 1999-01-25 15:37:38-08 bryan Exp $
# #

75
INSTALL Normal file
View File

@ -0,0 +1,75 @@
INSTALL
=======
Quickie Instructions
- Edit 'conserver/cons.h' (if necessary)
- Run 'make config'
- Run 'make'
- If all is well, run 'make install install.man'
- Now set up config files, etc. (see below)
Things will install in /usr/local. If you'd like to use a different
prefix, use 'make PREFIX=/your/path install'.
Detailed Instructions
- First thing to do is set up a custom conserver/cons.h file. If you
like all the defaults provided in conserver/port.h, your set.
Just use the default cons.h cons.h file. Here are some of the
more important #define's to look for:
PORT or SERVICE - Socket used to communicate
HOST - Hostname of console server
CONFIG - Config file path
PASSWD_FILE - Password file path
MAXMEMB - Number of consoles per child process
MAXGRP - Number of child processes
- Now it's time to run 'make config'. If you're platform is supported
you'll get a nice message about "Configuring for ...". Otherwise,
you'll have to port the software - follow the instructions you
received.
- Now run 'make'. If you run into problems (like needing a different
compiler or something), check out the .settings file ('make config'
symlinks it to port/<ostype>).
- If things built fine, you can run 'make install install.man'.
This will put things into the /usr/local tree. If you'd like
things deposited elsewhere, you can use 'make PREFIX=/your/path
install install.man'. We like to use something like 'make
PREFIX=/tools/conserver install install.man'.
- Now that the binaries are in place, we need to set up the
configuration files and such.
If you used a blank cons.h file or defined a service name (SERVICE
token above), you'll need to enter a definition in your services
file (directly, via NIS, or whatever). Here's what we use:
console 782/tcp conserver # console server
If you defined PORT, you shouldn't have to worry about this step.
Next, make sure conserver runs during boot. The init script
we use under Solaris is installed in <PREFIX>/etc/conserver.rc.
Use that or some form of it for your own /etc/init.d script or an
entry in startup files (/etc/rc, /etc/rc.local, or whatever).
Now for the fun stuff. You need to create a conserver.cf and
conserver.passwd file. Those are defined with the CONFIG and
PASSWD_FILE settings. If you ever need to know what values
were compiled into conserver, run 'conserver -V'. See the
conserver.cf/INSTALL file for instructions on setup of these files.
- That's it! Just start up the console server and enjoy!
#
# $Id: INSTALL,v 1.4 1999-01-25 18:30:03-08 bryan Exp $
#

View File

@ -1,11 +1,11 @@
# $Id: Makefile,v 1.4 1999-01-15 15:36:06-08 bryan Exp $ # $Id: Makefile,v 1.5 1999-01-25 15:10:05-08 bryan Exp $
# #
# Master Makefile # Master Makefile
# #
SUBDIRS=conserver console SUBDIRS=conserver console conserver.cf
all clean install: FRC all clean install install.man: FRC
@if [ -f .settings ]; then \ @if [ -f .settings ]; then \
s=`cat .settings | grep -v '^#'`; \ s=`cat .settings | grep -v '^#'`; \
settings=`echo $$s`; \ settings=`echo $$s`; \

17
README
View File

@ -30,21 +30,6 @@ Downloading
The latest version can be found at ftp://ftp.gnac.com/pub/conserver/. The latest version can be found at ftp://ftp.gnac.com/pub/conserver/.
Installation
Quickie instructions:
Edit 'conserver/cons.h'
Run 'make config'
Run 'make'
If all is well, run 'make install'
Things will install in /usr/local. If you'd like to use a different
prefix, use 'make PREFIX=/your/path install'.
# #
# $Id: README,v 1.3 1999-01-14 14:04:37-08 bryan Exp $ # $Id: README,v 1.4 1999-01-21 23:06:17-08 bryan Exp $
# #

View File

@ -1,13 +1,16 @@
# $Id: README,v 1.3 93/04/21 16:13:37 ksb Exp $
This program can be used to put a root shell on the console at boot time. I have not touched the autologin directory. See the README.old and
See the manual page. INSTALL.old files if you interested in the program. I cannot guarantee
it will compile, install, or run. It is definately not integrated with
../Makefile or any of the porting support. If you have patches that
make it work, please send them to me and I'll be more than happy to
incorporate them.
ksb No one I've ever talked to found a need for something like autologin.
Good luck.
Ports to: HOST OS CDEFS Bryan Stansell
SUN3 4.1.1 -DSUNOS
SUN4 4.1.2 -DSUNOS #
V386 ? -DSRM # $Id: README,v 1.1 1999-01-21 22:59:40-08 bryan Exp $
EPIX ? -DEPIX -systype posix -I/usr/include (+ extra .o files) #
IBMR2 -DIBMR2

13
autologin/README.old Normal file
View File

@ -0,0 +1,13 @@
# $Id: README,v 1.3 93/04/21 16:13:37 ksb Exp $
This program can be used to put a root shell on the console at boot time.
See the manual page.
ksb
Ports to: HOST OS CDEFS
SUN3 4.1.1 -DSUNOS
SUN4 4.1.2 -DSUNOS
V386 ? -DSRM
EPIX ? -DEPIX -systype posix -I/usr/include (+ extra .o files)
IBMR2 -DIBMR2

View File

@ -1,26 +1,19 @@
# $Id: INSTALL,v 4.1 91/06/19 14:20:54 ksb Exp $ The two files you need to set up are the conserver.cf and conserver.passwd
files. See the sample conserver.cf and conserver.passwd files
for examples. You can start with those and then modify extensively.
The man page for conserver.cf should explain that file with enough detail
to get you going.
Prep: As for the conserver.passwd file, here are some instructions. The file
contains three fields seperated by colons: <username>:<passwd>:<hosts>.
The <passwd> field should either be an encrypted password or the special
string '*passwd*', which will cause the console server to do a getpwnam()
call. The <hosts> field can be a comma seperated list of console names
(from conserver.cf) or the special string 'all'. Access for the user
is only granted to the hosts listed here (or all if 'all' is used).
Start in the conserver directory. That's about it. Good luck.
Now read conserver.cf.5l (if you have mk(1L) installed just mk it). #
Run: # $Id: INSTALL,v 1.1 1999-01-25 15:36:52-08 bryan Exp $
$ tbl conserver.cf.5l |nroff -man |${PAGER-more} #
Now edit dummy.cf and follow the instructions there.
[If you are just shopping stop here.]
Now edit conserver.cf and put your real hosts in there.
Edit the Makefile and change LIB.
Compile:
None.
Install:
Make install.

26
conserver.cf/INSTALL.old Normal file
View File

@ -0,0 +1,26 @@
# $Id: INSTALL,v 4.1 91/06/19 14:20:54 ksb Exp $
Prep:
Start in the conserver directory.
Now read conserver.cf.5l (if you have mk(1L) installed just mk it).
Run:
$ tbl conserver.cf.5l |nroff -man |${PAGER-more}
Now edit dummy.cf and follow the instructions there.
[If you are just shopping stop here.]
Now edit conserver.cf and put your real hosts in there.
Edit the Makefile and change LIB.
Compile:
None.
Install:
Make install.

View File

@ -1,59 +1,30 @@
# $Id: Make.host,v 4.3 92/07/10 15:57:32 dru Exp $ # $Id: Makefile,v 1.5 1999-01-25 15:38:20-08 bryan Exp $
# #
# Makefile for conserver data base # Makefile for conserver.cf
# #
# if you edit LIB below you have to change cons.hs default config define. PREFIX=/usr/local
PROG= conserver.cf BIN=${PREFIX}/bin
LIB= ${DESTDIR}/usr/local/lib ETC=${PREFIX}/etc
DOC= ${DESTDIR}/usr/man MAN=${PREFIX}/man
MANSECT=8
SRCs= conserver.cf all:
MAN= conserver.cf.5l
OTHER= README
SOURCE= Makefile ${OTHER} ${MAN} ${SRCl} ${SRCs}
all: ${SRCl} ${PROG}
${PROG}: ${SRCs}
clean: FRC clean: FRC
rm -f Makefile.bak a.out core errs lint.out tags rm -f Makefile.bak *.tbl core errs lint.out tags
deinstall: ${MAN} ${DOC} FRC depend:
install -R ${LIB}/${PROG}
mkcat -r${DOC} -D ${MAN}
depend: FRC dirs:
dirs: ${LIB} ${DOC} install:
install: all dirs FRC ${MAN}/man${MANSECT}:
install -c ${PROG} ${LIB}/${PROG} ${INSTALL} -d $@
lint: FRC install.man: ${MAN}/man${MANSECT}
tbl conserver.cf.man > conserver.cf.tbl
mkcat: ${MAN} ${DOC} FRC ${INSTALL} -c conserver.cf.tbl ${MAN}/man${MANSECT}/conserver.cf.${MANSECT}
mkcat -r${DOC} ${MAN}
print: source FRC
lpr -J"${PROG} source" ${SOURCE}
source: ${SOURCE}
spotless: clean
rcsclean ${SOURCE}
tags: FRC
/ ${LIB} ${LIB}:
install -dr $@
${SOURCE}:
co -q $@
FRC: FRC:
# DO NOT DELETE THIS LINE - make depend DEPENDS ON IT
# *** Do not add anything here - It will go away. ***

View File

@ -1,76 +1,26 @@
# conserver config file
# #
# $Id: conserver.cf,v 4.20 94/05/22 11:17:26 ksb Exp $ # $Id: conserver.cf,v 1.3 1999-01-25 14:38:19-08 bryan Exp $
#
# The character '&' in logfile names are substituted with the console
# name. Any logfile name that doesn't begin with a '/' has LOGDIR
# prepended to it. So, most consoles will just have a '&' as the logfile
# name which causes /var/consoles/<consolename> to be used.
#
LOGDIR=/var/consoles
# #
# list of consoles we serve # list of consoles we serve
# name : tty[@host] : baud[parity] : device : group # name : tty[@host] : baud[parity] : logfile : mark-interval[m|h|d]
# our local console # name : !host : port : logfile : mark-interval[m|h|d]
console:|@console.cc.purdue.edu:9600p:/usr/adm/consoles/console:0 # name : |command : : logfile : mark-interval[m|h|d]
nextwatch:|@console.cc.purdue.edu:9600p:/usr/adm/consoles/nextwatch:0 #
# real machine tweety:!ts1:2002:&:
speedy:/dev/ttyC12@console.cc.purdue.edu:9600s:/usr/adm/consoles/speedy:1 bambam:!ts1:2003:&:
nis35:/dev/ttyC13@console.cc.purdue.edu:9600s:/usr/adm/consoles/nis35:1 shell:|::/dev/null:
sun3watch:/dev/ttyC40@console.cc.purdue.edu:9600p:/usr/adm/consoles/sun3watch:1 telnet:|telnet host::/dev/null:
keep:/dev/ttyC29@console.cc.purdue.edu:9600s:/usr/adm/consoles/keep:1 ttya:/dev/ttya:9600p:&:
dart:/dev/ttyC32@console.cc.purdue.edu:9600s:/usr/adm/consoles/dart:1
lively:/dev/ttyC10@console.cc.purdue.edu:9600s:/usr/adm/consoles/lively:2
sentinel:/dev/ttyC11@console.cc.purdue.edu:9600s:/usr/adm/consoles/sentinel:2
ipscgate:/dev/ttyC26@console.cc.purdue.edu:9600e:/usr/adm/consoles/ipscgate:2
snap.stat:/dev/ttyC27@console.cc.purdue.edu:9600s:/usr/adm/consoles/snap.stat:2
b.stat:/dev/ttyC33@console.cc.purdue.edu:9600s:/usr/adm/consoles/b.stat:2
expert:/dev/ttyC14@console.cc.purdue.edu:9600e:/usr/adm/consoles/expert:3
quick:/dev/ttyC15@console.cc.purdue.edu:9600s:/usr/adm/consoles/quick:3
helios:/dev/ttyC31@console.cc.purdue.edu:9600s:/usr/adm/consoles/helios:3
probe:/dev/ttyC34@console.cc.purdue.edu:9600s:/usr/adm/consoles/probe:3
mace:/dev/ttyC8@console.cc.purdue.edu:4800s:/usr/adm/consoles/mace:4
sage:/dev/ttyC9@console.cc.purdue.edu:9600e:/usr/adm/consoles/sage:4
flash:/dev/ttyC24@console.cc.purdue.edu:9600s:/usr/adm/consoles/flash:4
labwatch:/dev/ttyC25@console.cc.purdue.edu:9600s:/usr/adm/consoles/labwatch:4
dash:/dev/ttyC35@console.cc.purdue.edu:9600s:/usr/adm/consoles/dash:4
icd92:/dev/ttyC4@console.cc.purdue.edu:9600s:/usr/adm/consoles/icd92:5
pop.stat:/dev/ttyC5@console.cc.purdue.edu:9600s:/usr/adm/consoles/pop.stat:5
icd94:/dev/ttyC20@console.cc.purdue.edu:9600s:/usr/adm/consoles/icd94:5
oasis:/dev/ttyC21@console.cc.purdue.edu:9600s:/usr/adm/consoles/oasis:5
deft:/dev/ttyC36@console.cc.purdue.edu:9600s:/usr/adm/consoles/deft:5
mentor:/dev/ttyC2@console.cc.purdue.edu:9600e:/usr/adm/consoles/mentor:6
icd84:/dev/ttyC3@console.cc.purdue.edu:9600s:/usr/adm/consoles/icd84:6
franklin:/dev/ttyC18@console.cc.purdue.edu:9600s:/usr/adm/consoles/franklin:6
icd82:/dev/ttyC19@console.cc.purdue.edu:9600s:/usr/adm/consoles/icd82:6
prism:/dev/ttyC38@console.cc.purdue.edu:9600s:/usr/adm/consoles/prism:6
rapid:/dev/ttyC6@console.cc.purdue.edu:9600s:/usr/adm/consoles/rapid:7
tyro:/dev/ttyC7@console.cc.purdue.edu:9600e:/usr/adm/consoles/tyro:7
staff:/dev/ttyC22@console.cc.purdue.edu:9600s:/usr/adm/consoles/staff:7
swift:/dev/ttyC23@console.cc.purdue.edu:9600s:/usr/adm/consoles/swift:7
quest:/dev/ttyC37@console.cc.purdue.edu:9600s:/usr/adm/consoles/quest:7
icd96:/dev/ttyC0@console.cc.purdue.edu:9600s:/usr/adm/consoles/icd96:8
fleet:/dev/ttyC1@console.cc.purdue.edu:9600s:/usr/adm/consoles/fleet:8
feserve:/dev/ttyC16@console.cc.purdue.edu:9600s:/usr/adm/consoles/feserve:8
curator:/dev/ttyC17@console.cc.purdue.edu:9600s:/usr/adm/consoles/curator:8
soltest:/dev/ttyC39@console.cc.purdue.edu:9600s:/usr/adm/consoles/soltest:8
mozo:/dev/ttyC41@console.cc.purdue.edu:9600s:/usr/adm/consoles/mozo:9
notus:/dev/ttyC42@console.cc.purdue.edu:9600s:/usr/adm/consoles/notus:
eurus:/dev/ttyC43@console.cc.purdue.edu:9600s:/usr/adm/consoles/eurus:
boreas:/dev/ttyC44@console.cc.purdue.edu:9600s:/usr/adm/consoles/boreas:
zephyrus:/dev/ttyC45@console.cc.purdue.edu:9600s:/usr/adm/consoles/zephyrus:
fegrader:/dev/ttyC46@console.cc.purdue.edu:9600s:/usr/adm/consoles/fegrader:
galaxy:/dev/ttyC47@console.cc.purdue.edu:9600s:/usr/adm/consoles/galaxy:
# ups monitor connection (ksb -- testing)
ups:/dev/ttyb@console.cc.purdue.edu:9600e:/usr/adm/consoles/ups:10
# VM Group consoles
tag:/dev/ttyC30@console.cc.purdue.edu:9600s:/usr/adm/consoles/tag:11:R85ONdmDqSwQ6
# All remote consoles
# on staff.cc.purdue.edu
extra:/dev/ttyb@staff.cc.purdue.edu:9600s:/usr/adm/extra.log:0
vet:/dev/tty0d@staff.cc.purdue.edu:9600s:/usr/adm/vet.log:1:5m6N/RqJcay6I
bull:/dev/tty0e@staff.cc.purdue.edu:9600s:/usr/adm/bull.log:
serval:/dev/tty0f@staff.cc.purdue.edu:9600s:/usr/adm/serval.log:
# virtual consoles on remote hosts
tbtape:|su - informix@oasis.cc.purdue.edu:9600p:/usr/adm/tbtape.log:0
# so we can write on mace.cc
wmace:|/bin/csh -i@mace.cc.purdue.edu:9600p:/usr/adm/mace.log:0
%% %%
#
# list of clients we allow # list of clients we allow
# type machines # {trusted|allowed|rejected} : machines
trusted: console.cc.purdue.edu #
allowed: cc.purdue.edu stat.purdue.edu allowed: 127.0.0.1 gnac.com
allowed: 128.210.10.8 128.210.33.1 128.210.7.49 127.0.0.1

View File

@ -1,96 +0,0 @@
.\" $Id: conserver.cf.5l,v 1.4 93/02/11 13:06:32 ksb Exp $
.\" @(#)constab.5 01/06/91 OSU CIS; Thomas A. Fine
.TH CONSERVER.CF 5L "15 February 1991" "OSU/CIS"
.SH NAME
conserver.cf \- table of server console terminals used by conserver(8L)
.SH SYNOPSIS
.B /usr/local/lib/conserver.cf
.br
\fIaccess hosts\fP
.br
\fB%%\fP
.br
\fIserver\fP:\fIdevice\fP:\fIbaud\fP:\fIlogfile\fP:\fIgroup\fP
.SH DESCRIPTION
.B Conserver.cf
is the configuration file for
.IR conserver (8L).
All lines starting with the pound sign `#' are considered comment lines.
Blank lines are ignored.
.PP
The first section of the file has lines that are separated into
six colon-separated fields:
.PP
\fIServer\fP name - this doesn't have to be the name of the server;
it is used to refer to the server when using the console program.
.PP
\fIDevice\fP file name - the full path name of the device for this server.
This may contain a remote host name as \fItty\fP@\fIhost\fP in which case
the conserver will send connections for this server to \fIhost\fP.
.PP
\fIBaud\fP is the speed and parity for this console.
Speed may be given as an integer,
parity only requires the first letter of any of: even, odd, mark, space.
.PP
\fILog\fP file name - the full path name of file where all output from
this server is logged.
.PP
\fIGroup\fP number - defines which group of servers this server is with. There
will be one process running for each group of servers in this file.
If this field is empty the conserver program will fill groups automatically.
.PP
\fIPassword\fP encrypted password - allows access to any member console in
this group. That is to say only one console in any group should set a
password. If none set a password the superuser password is taken.
.PP
This section is terminated with a `%%' token on a line by itself.
.PP
The next section of the file contains a list of hosts and addresses
which are allowed to connect to the console server.
Three levels of access all allowed, ``trust'', ``allow'',
and ``refuse''.
The access modifier is followed by a colon and a list of addresses or
host names.
Any complete suffix of a host name my be used to allow access for all hosts
in that subdomain.
For example `cc.purdue.edu' will allow `mentor.cc.purdue.edu'
and `mace.cc.purdue.edu', but not `pucc.purdue.edu' or `hack.purdue.edu'.
.SH LIMITS
.PP
Groups should be numbered from 0, all members of a group should be contiguous
in the file.
The current hard limits are 20 groups, with 10 members per group.
.SH EXAMPLE
# server:/dev/file:baud:/usr/adm/logfile:group_num
.br
tree:/dev/ttyj0:9600e:/tmp/treelog:0
.br
fish:/dev/ttyj1:4800e:/tmp/fishlog:1
.br
bird:/dev/ttyj2:4800m:/tmp/birdlog:1
.br
solar:/dev/ttyj3:9600e:/tmp/solarlog:2
.br
stellar:/dev/ttyj4:9600e:/tmp/stellarlog:
.br
shell:/dev/ttyj5:1200e:/tmp/shelllog:3:NLKyxm2KjHrzE
.br
tribe:/dev/ttyj6:1200e:/tmp/tribelog:4
.br
reptile:/dev/ttyj7:1200e:/tmp/reptilelog:
.br
flower:/dev/ttyj8:1200e:/tmp/flowerlog:
.br
mentor:/dev/ttyh0@extra.cc.purdue.edu:2400e:/tmp/mentor.log:
%%
.br
# access restrictions
.br
trusted: console.cc.purdue.edu 128.210.7.90
.br
allow: cc.purdue.edu stat.cc.purdue.edu
.sp
Notice that the console `shell' has a special password, all the others
use the superuser's password.
.SH "SEE ALSO"
console(1L), conserver(8L)

View File

@ -0,0 +1,129 @@
.\" $Id: conserver.cf.man,v 1.3 1999-01-25 15:05:17-08 bryan Exp $
.\" @(#)constab.5 01/06/91 OSU CIS; Thomas A. Fine
.TH CONSERVER.CF 5L "Local"
.SH NAME
conserver.cf \- table of server console terminals used by conserver(8L)
.SH SYNOPSIS
.br
LOGDIR=\fIlogdirectory\fP
.br
\fIserver\fP:\fIdevice\fP[@\fIconserver\fP]:\fIbaud\fP:\fIlogfile\fP:\fImark-interval\fP[\fIm|h|d\fP]
.br
\fIserver\fP:!\fIhost\fP[@\fIconserver\fP]:\fIport\fP:\fIlogfile\fP:\fImark-interval\fP[\fIm|h|d\fP]
.br
\fIserver\fP:|\fIcommand\fP[@\fIconserver\fP]::\fIlogfile\fP:\fImark-interval\fP[\fIm|h|d\fP]
.br
\fB%%\fP
.br
\fIaccess hosts\fP
.SH DESCRIPTION
.B Conserver.cf
is the configuration file for
.IR conserver (8L).
All lines starting with the pound sign `#' are considered comment lines.
Blank lines are ignored.
.PP
The first section of the file has lines that are separated into
six colon-separated fields:
.PP
\fIserver\fP name - this doesn't have to be the name of the server;
it is used to refer to the server when using the console program.
.PP
\fIdevice\fP file name - the full path name of the device for this server.
The \fIbaud\fP rate is the speed and parity for this console.
Speed may be given as an integer,
parity only requires the first letter of any of: even, odd, mark, space.
the conserver will send connections for this server to \fIconserver\fP.
.PP
!\fIhost\fP - the hostname of the server to connect to.
A socket connection will be made to port \fIport\fP (an integer).
.PP
|\fIcommand\fP - the command to invoke on the console server.
.PP
\fIdevice\fP, !\fIhost\fP, and |\fIcommand\fP may contain a remote
console server name (ex. \fIhost\fP@\fIconserver\fP) in which case
the conserver will send connections for this server to \fIconserver\fP.
.PP
\fIlogfile\fP - the full path name of file where all output from
this server is logged. Any occurance of `&' will be replaced with
the \fIserver\fP name. Any path that doesn't begin with a `/' will
have \fIlogdirectory\fP (value of LOGDIR) prepended to it.
.PP
\fImark-interval\fP[\fIm|h|d\fP] - specifies the time between
timestamps applied to the console log file. The timestamps look like
`[-- MARK -- Mon Jan 25 14:46:56 PST 1999]'.
.PP
This section is terminated with a `%%' token on a line by itself.
.PP
The next section of the file contains a list of hosts and addresses
which are allowed to connect to the console server. Three levels
of access all allowed, ``trust'', ``allow'',
and ``refuse''.
The access modifier is followed by a colon and a list of addresses or
host names.
Any complete suffix of a host name my be used to allow access for all hosts
in that subdomain.
For example `cc.purdue.edu' will allow `mentor.cc.purdue.edu'
and `mace.cc.purdue.edu', but not `pucc.purdue.edu' or `hack.purdue.edu'.
.SH EXAMPLE
# server:path:baud:/usr/adm/logfile:mark
.br
LOGDIR=/tmp
.br
#
.br
# This logs to /tmp/treelog...
.br
tree:/dev/ttyj0:9600e:&log:
.br
#
.br
# This logs to /tmp/fishlog...
.br
fish:/dev/ttyj1:4800e:fishlog:
.br
#
.br
# Now we're defaulting to /var/tmp for logfiles...
.br
LOGDIR=/var/tmp
.br
#
.br
# So, this is /var/tmp/birdlog
.br
bird:/dev/ttyj2:4800m:&log:
.br
#
.br
# And this is /var/tmp/solarlog...
.br
solar:|telnet solar::solarlog:
.br
#
.br
# Now things are all in /var/consoles/<console name>
.br
LOGDIR=/var/consoles
.br
shell:|::&:
.br
#
.br
# This opens a connection to port 2003 of ts1...
.br
tribe:!ts1:2003:&:
.br
reptile:!ts1:2004:&:
.br
mentor:/dev/ttyh0@extra.cc.purdue.edu:2400e:&:
.br
%%
.br
# access restrictions
.br
trusted: console.cc.purdue.edu 128.210.7.90
.br
allow: cc.purdue.edu stat.cc.purdue.edu
.SH "SEE ALSO"
console(1L), conserver(8L)

View File

@ -0,0 +1,3 @@
bryan:td1AgneGE3RsU:any
djs:*passwd*:any
todd:*passwd*:server1

View File

@ -1,22 +0,0 @@
# dummy conserver config file
#
# $Id: dummy.cf,v 4.3 92/07/27 12:23:59 ksb Exp $
#
# 1. change the `/dev/ttya' to any tty device you can put a serial device on
# that you could talk to with kermit/cu. Put in the baud rate and parity.
#
# 2. change the `cc.purdue.edu' to your local domain.
#
# 3. !! do not leave this up, as it can give local users a root shell (login)
# !! for extended testing change the `|' to `|su - tst' where tst is a
# !! vanilla test acount, or comment out the `login' console.
#
# list of consoles we serve
# name : tty[@host] : baud[parity] : device : group
dumb:/dev/ttya:9600p:/tmp/dummy.log:1
login:|:9600p:/tmp/login.log:1
%%
# list of clients we allow
# type machines
trusted: 127.0.0.1
allowed: cc.purdue.edu

View File

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.9 1999-01-14 13:30:29-08 bryan Exp $ # $Id: Makefile,v 1.10 1999-01-21 23:32:43-08 bryan Exp $
# #
# Makefile for console server # Makefile for console server
# #
@ -19,7 +19,7 @@ SRC= access.c client.c consent.c group.c main.c master.c \
readcfg.c fallback.c readcfg.c fallback.c
OBJ= access.o client.o consent.o group.o main.o master.o \ OBJ= access.o client.o consent.o group.o main.o master.o \
readcfg.o fallback.o readcfg.o fallback.o
INIT= init.script INIT= conserver.rc
all: ${PROG} all: ${PROG}

29
conserver/cons-default.h Normal file
View File

@ -0,0 +1,29 @@
/*
* $Id: cons-default.h,v 1.1 1999-01-25 18:24:30-08 bryan Exp $
*
* GNAC, Inc., 1998
*
* Maintainer/Enhancer: Bryan Stansell (bryan@gnac.com)
*/
/*
--- Socket used to communicate
#define PORT 782
or
#define SERVICE "conserver"
--- Hostname of console server
#define HOST "console"
--- Config file path
#define CONFIG "/etc/conserver.cf"
--- Password file path
#define PASSWD_FILE "/etc/conserver.passwd"
--- Number of consoles per child process
#define MAXMEMB 8
--- Number of child processes
#define MAXGRP 32
*/

View File

@ -1 +1 @@
cons-test.h cons-default.h

View File

@ -1,78 +0,0 @@
.\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine
.\" $Id: conserver.8l,v 2.3 93/02/09 11:51:56 ldv Exp $
.TH CONSERVER 8L "LOCAL"
.SH NAME
conserver \- console server daemon
.SH SYNOPSIS
.B conserver [\-\fBnv\fP] [\-\fBC\fP \fIconfig\fP]
.br
.B conserver [\-\fBhV\fP]
.SH DESCRIPTION
.B Conserver
is the daemon for the
.IR console (1L)
program.
It provides remote access to the server consoles,
and logs all console data.
Slave hosts which have no current connection might produce important
error messages, these unloved errors are labeled with a machine name
and output on stdout.
.PP
When started, it forks a child for each group in /usr/local/etc/conserver.cf,
and assigns each process a port number to listen on.
The \fIconsole\fP client program knows how to request port numbers and
forwards to find the various slave hosts.
.PP
.B Conserver
completely controls any connection to a controlled host.
All handling of escape sequenes is done by the server,
except the suspend sequence which is
sent as an out-of-band command to the client.
.PP
The
.B conserver
parent process will automatically respawn any child process that dies.
If the parent process receives a SIGTERM, it will propogate the signal
to its children.
.SH OPTIONS
.TP
.BI \-C config
With this option the invoker may specify an alternate confguration.
The default \fIconfig\fP is /usr/local/lib/conserver.cf.
.TP
.B \-h
Output a brief help message.
.TP
.B \-n
The \fIconserver\fP will \fBnot\fP output unloved console output to
stdout.
.TP
.B \-v
Echo the configuration as it is being read (be verbose).
.TP
.B \-V
Output the version of the console server (only) and exit.
.SH EXAMPLES
conserver: expert: login ksb
.br
tyro: panic: my brain hurts
.br
conserver: ksb shifts from expert to tyro
.br
conserver: tyro: logout ksb
.br
\...
.SH FILES
.TS
l l.
/usr/local/lib/conserver.cf description of console terminal lines
/usr/adm/\fIhost\fP.console log files for \fIhost\fP's console
/dev/tty?? terminal line device files
\fIstdout\fP summary of unloved console errors
.TE
.SH AUTHORS
Thomas A. Fine, Ohio State Computer Science
.br
Kevin S Braunsdorf, Purdue University Computing Center
.SH "SEE ALSO"
console(1L), conserver.cf(5L)

View File

@ -1,10 +1,10 @@
.\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine .\" @(#)conserver.8 01/06/91 OSU CIS; Thomas A. Fine
.\" $Id: conserver.man,v 2.3 93/02/09 11:51:56 ldv Exp $ .\" $Id: conserver.man,v 1.3 1999-01-25 15:05:07-08 bryan Exp $
.TH CONSERVER 8L "LOCAL" .TH CONSERVER 8L "LOCAL"
.SH NAME .SH NAME
conserver \- console server daemon conserver \- console server daemon
.SH SYNOPSIS .SH SYNOPSIS
.B conserver [\-\fBnv\fP] [\-\fBC\fP \fIconfig\fP] .B conserver [\-\fBdnv\fP] [\-\fBC\fP \fIconfig\fP]
.br .br
.B conserver [\-\fBhV\fP] .B conserver [\-\fBhV\fP]
.SH DESCRIPTION .SH DESCRIPTION
@ -18,7 +18,7 @@ Slave hosts which have no current connection might produce important
error messages, these unloved errors are labeled with a machine name error messages, these unloved errors are labeled with a machine name
and output on stdout. and output on stdout.
.PP .PP
When started, it forks a child for each group in /usr/local/etc/conserver.cf, When started, it forks a child for each group in /etc/conserver.cf,
and assigns each process a port number to listen on. and assigns each process a port number to listen on.
The \fIconsole\fP client program knows how to request port numbers and The \fIconsole\fP client program knows how to request port numbers and
forwards to find the various slave hosts. forwards to find the various slave hosts.
@ -40,6 +40,9 @@ to its children.
With this option the invoker may specify an alternate confguration. With this option the invoker may specify an alternate confguration.
The default \fIconfig\fP is /usr/local/lib/conserver.cf. The default \fIconfig\fP is /usr/local/lib/conserver.cf.
.TP .TP
.B \-d
Become a daemon.
.TP
.B \-h .B \-h
Output a brief help message. Output a brief help message.
.TP .TP
@ -52,27 +55,18 @@ Echo the configuration as it is being read (be verbose).
.TP .TP
.B \-V .B \-V
Output the version of the console server (only) and exit. Output the version of the console server (only) and exit.
.SH EXAMPLES
conserver: expert: login ksb
.br
tyro: panic: my brain hurts
.br
conserver: ksb shifts from expert to tyro
.br
conserver: tyro: logout ksb
.br
\...
.SH FILES .SH FILES
.TS .TS
l l. l l.
/usr/local/lib/conserver.cf description of console terminal lines /etc/conserver.cf description of console terminal lines
/usr/adm/\fIhost\fP.console log files for \fIhost\fP's console /etc/conserver.passwd users allowed to access consoles
/dev/tty?? terminal line device files
\fIstdout\fP summary of unloved console errors \fIstdout\fP summary of unloved console errors
.TE .TE
.SH AUTHORS .SH AUTHORS
Thomas A. Fine, Ohio State Computer Science Thomas A. Fine, Ohio State Computer Science
.br .br
Kevin S Braunsdorf, Purdue University Computing Center Kevin S Braunsdorf, Purdue University Computing Center
.br
Bryan Stansell, Global Networking and Computing, Inc.
.SH "SEE ALSO" .SH "SEE ALSO"
console(1L), conserver.cf(5L) console(1L), conserver.cf(5L)

View File

@ -1,5 +1,5 @@
/* /*
* $Id: main.c,v 5.29 1999-01-13 11:48:11-08 bryan Exp $ * $Id: main.c,v 5.30 1999-01-22 00:02:35-08 bryan Exp $
* *
* GNAC, Inc., 1998 * GNAC, Inc., 1998
* *
@ -58,7 +58,7 @@
#endif #endif
char rcsid[] = char rcsid[] =
"$Id: main.c,v 5.29 1999-01-13 11:48:11-08 bryan Exp $"; "$Id: main.c,v 5.30 1999-01-22 00:02:35-08 bryan Exp $";
char *progname = char *progname =
rcsid; rcsid;
int fAll = 1, fVerbose = 0, fSoftcar = 0; int fAll = 1, fVerbose = 0, fSoftcar = 0;
@ -287,11 +287,13 @@ char **argv;
} }
} }
#if HAVE_SHADOW
/* Why force root??? Cause of getsp*() calls... */ /* Why force root??? Cause of getsp*() calls... */
if (0 != geteuid()) { if (0 != geteuid()) {
fprintf(stderr, "%s: must be the superuser\n", progname); fprintf(stderr, "%s: must be the superuser\n", progname);
exit(1); exit(1);
} }
#endif
/* read the config file /* read the config file
*/ */

View File

@ -1,9 +1,9 @@
/* /*
* $Id: version.h,v 1.9 1999-01-15 16:02:17-08 bryan Exp $ * $Id: version.h,v 1.9 1999-01-15 16:02:17-08 bryan Exp bryan $
* *
* GNAC, Inc., 1998 * GNAC, Inc., 1998
* *
* Maintainer/Enhancer: Bryan Stansell (bryan@gnac.com) * Maintainer/Enhancer: Bryan Stansell (bryan@gnac.com)
*/ */
#define GNAC_VERSION "GNAC version 6.08" #define GNAC_VERSION "GNAC version 6.09"

View File

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.9 1999-01-14 13:05:58-08 bryan Exp $ # $Id: Makefile,v 1.11 1999-01-25 15:38:39-08 bryan Exp $
# #
# Makefile for console client progran # Makefile for console client progran
# #
@ -25,7 +25,7 @@ ${PROG}: ${OBJ}
${CC} -o $@ ${CFLAGS} ${OBJ} ${LIBS} ${CC} -o $@ ${CFLAGS} ${OBJ} ${LIBS}
clean: FRC clean: FRC
rm -f Makefile.bak ${PROG} a.out *.o core errs lint.out tags rm -f Makefile.bak ${PROG} *.tbl a.out *.o core errs lint.out tags
depend: ${HDR} ${SRC} FRC depend: ${HDR} ${SRC} FRC
makedepend ${CDEFS} ${LINCLUDE} ${SRC} makedepend ${CDEFS} ${LINCLUDE} ${SRC}
@ -39,7 +39,8 @@ ${MAN}/man${MANSECT}:
${INSTALL} -d $@ ${INSTALL} -d $@
install.man: ${MAN}/man${MANSECT} install.man: ${MAN}/man${MANSECT}
${INSTALL} -c console.man ${MAN}/man${MANSECT}/console.${MANSECT} tbl console.man > console.tbl
${INSTALL} -c console.tbl ${MAN}/man${MANSECT}/console.${MANSECT}
lint: ${HDR} ${SRC} FRC lint: ${HDR} ${SRC} FRC
lint -h ${CDEFS} ${LINCLUDE} ${SRC} lint -h ${CDEFS} ${LINCLUDE} ${SRC}

View File

@ -1,185 +0,0 @@
.\" $Id: console.8l,v 5.0 92/01/13 14:44:36 ksb Exp $
.TH CONSOLE 8L "Local"
.SH NAME
console \- console server client program
.SH SYNOPSIS
\fBconsole\fP [\-\fBrv\fP] [\-\fBAFSafs\fP] [\-\fBe\fP \fIesc\fP] [\-\fBM\fP \fIserver\fP] \fIhost\fP
.br
\fBconsole\fP [\-\fBdDqQ\fP] [\-\fBv\fP] [\-\fBM\fP \fIserver\fP] \fIhost\fP
.br
\fBconsole\fP [\-\fBv\fP] [\-\fBhuVwx\fP]
.SH DESCRIPTION
.B Console
is used to manipulate console terminals remotely or poll running
\fIconserver\fP(8L) daemons for status information.
.PP
.B Console
queries the user for the root passwd before
granting interactive access to a console (on a non-trusted system)
since such a session may provide single-user access.
.PP
In the non-interactive mode
.B console
outputs only the requested information.
.SH OPTIONS
.TP
.B \-a
Access a console with a two-way connection (this is the default).
.TP
.B \-d
Display daemon versions. The \fIconsole\fP client connects to each
server to request its version information. The uppercase varient of
this option only requests the primary server's version.
.TP
.BI \-e esc
Set the initial two character escape sequence to
those represented by \fIesc\fP.
Any of the forms output by \fIcat\fP(1)'s \-\fBv\fP option
are accepted. The default value is ``^Ec''.
.TP
.B \-f
Same as
.I \-a
except it will force any existing connection into spy mode.
.TP
.B \-h
Display a brief help message.
.TP
.BI \-M server
The \fIconsole\fP client program polls \fIserver\fP as the primary server,
rather than the hard coded default (``console.cc.purdue.edu'').
.TP
.B \-q
The \fIconsole\fP client requests the server daemon quit (shutdown).
A password is sent in the protocol stream, if none is required for
the local host to shutdown the server just press return. The uppercase
varient of this command just acts on the primary server.
.TP
.B \-r
Request a raw connection to the group control virtual console,
this is only useful for learning the protocol used by the
interactive sequence.
.TP
.B \-s
Requests a read-only (spy mode) connection.
If this mode all the escape sequences (below) work, or report errors,
but all other keyboard input is discarded.
.TP
.B \-V
Output the version of the console client program.
.TP
.B \-v
Be more verbose during when building the connection(s).
Use this option in combination with any of `show' options (below)
for added benefit.
.TP
.B \-u
Show a list of consoles and the users on each.
.TP
.B \-w
Show a list of all connections to all consoles.
.TP
.B \-x
Show a list of consoles and devices.
.PP
The \-\fBA\fP, \-\fBF\fP, or \-\fBS\fP options have the same effect as
their lower case variants.
In addition they each request the last 20 lines of the console output after
making the connection.
.PP
Any default (\-\fBa\fP) connection is dropped to spy mode if
someone else is attached read-write.
.SH "ESCAPE SEQUENCES"
The connection can be controlled by a two character escape sequence, followed
by a command. The default escape sequence is ``control-E c''
(octal 005 143). Commands are:
.sp
.TS
c l.
a switch to attach mode
c toggle flow control (don't do this)
d down the current console
e change the escape sequence to the next two characters
f force a switch to attach mode
l1 send a 3 second serial line break (might halt a Sun)
o reopen the line to clear errors (silo overflows)
r replay the last 20 lines of output
s switch to spy mode
u show other users on this port
v show the version of the group server
w who is using this console
x examine this group's devices and modes.
z suspend this connection
? display list of commands
^I toggle tab expansion
^J continue, ignore the escape sequence
^R replay the last line only
\. disconnect
; provide a new login or shift to a new console
+(-) be more (less) free with newlines
.TE
.sp
.PP
If any other character is hit after the escape sequence, all three characters
will be discarded.
Note that a line break or a down command
can only be sent from a full two-way attachment.
To send the escape sequence through the connection one must redefine
the outer escape sequence.
.PP
In the \-u output, the login \fB<none>\fP indicates no one is
viewing that console, the login \fB<spies>\fP indicates that
no one has a full two-way attachment. When no one is attached to
a console its output is cloned to the stdout of the server process.
.SH EXAMPLES
.TP
console \-u
Outputs something like:
.sp
.RS
.TS
l18 l l.
dumb up <none>
expert up ksb@mentor
tyro up <spies>
mentor up <none>
sage up fine@cis
.TE
.RE
.sp
The \fB<none>\fP indicates no one is viewing \fIdumb\fP or \fImentor\fP,
the \fB<spies>\fP indicates only read-only connections exist for \fItyro\fP,
other \fIlogin\fP@\fIhost\fP entries are the currently attached
\fIsage\fP and \fIexpert\fP.
.TP
console \-w
Outputs something like:
.sp
.RS
.TS
l l l.
ksb@extra on expert Fri Feb 15 16:40:36 1991
file@cis on sage Thu Feb 14 1:04:10 1991
dmr@alice spy tyro Thu Feb 7 10:09:59 1991
.TE
.RE
.sp
.TP
console \-e \*(lq^[1\*(rq lv426
Requests a connection to the host ``lv426'' with the escape characters
set to ``escape one''.
.SH BUGS
Connections suspended under Dynix sometimes break the kernel when
resumed. Suspended connections are a poor idea in general, just
disconnect instead.
.PP
It is possible to create a loop of console connections, with ugly results.
Never run \fIconsole\fP from within a console connection.
.PP
The \-\fBr\fP option doesn't help to explain how connections get built.
.SH AUTHORS
Thomas A. Fine, Ohio State Computer Science.
.br
Kevin Braunsdorf, Purdue University Computing Center
.SH "SEE ALSO"
conserver.cf(5L), conserver(8L)

View File

@ -1,5 +1,5 @@
/* /*
* $Id: console.c,v 5.23 1999-01-15 15:35:19-08 bryan Exp $ * $Id: console.c,v 5.24 1999-01-25 15:10:14-08 bryan Exp $
* *
* GNAC, Inc., 1998 * GNAC, Inc., 1998
* *
@ -77,7 +77,7 @@ extern char *sys_errlist[];
#endif #endif
static char rcsid[] = static char rcsid[] =
"$Id: console.c,v 5.23 1999-01-15 15:35:19-08 bryan Exp $"; "$Id: console.c,v 5.24 1999-01-25 15:10:14-08 bryan Exp $";
static char *progname = static char *progname =
rcsid; rcsid;
int fVerbose = 0, fReplay = 0, fRaw = 0; int fVerbose = 0, fReplay = 0, fRaw = 0;
@ -1273,9 +1273,9 @@ char **argv;
break; break;
case 'h': case 'h':
printf("%s: usage [-aAfFsS] [-v] [-e esc] [-M mach] [-l username] machine\n", progname); printf("%s: usage [-aAfFsS] [-rv] [-e esc] [-M mach] [-l username] machine\n", progname);
printf("%s: usage [-hpuVw]\n", progname); printf("%s: usage [-v] [-hdDuVwx]\n", progname);
printf("%s: usage [-qQ] [-v] [-M mach]\n", progname); printf("%s: usage [-qQ] [-M mach]\n", progname);
Usage(stdout, apcLong); Usage(stdout, apcLong);
exit(0); exit(0);
/*NOTREACHED*/ /*NOTREACHED*/

View File

@ -1,20 +1,20 @@
.\" $Id: console.man,v 5.0 92/01/13 14:44:36 ksb Exp $ .\" $Id: console.man,v 1.2 1999-01-25 14:01:56-08 bryan Exp $
.TH CONSOLE 8L "Local" .TH CONSOLE 8L "Local"
.SH NAME .SH NAME
console \- console server client program console \- console server client program
.SH SYNOPSIS .SH SYNOPSIS
\fBconsole\fP [\-\fBrv\fP] [\-\fBAFSafs\fP] [\-\fBe\fP \fIesc\fP] [\-\fBM\fP \fIserver\fP] \fIhost\fP \fBconsole\fP [\-\fBaAfFsS\fP] [\-\fBrv\fP] [\-\fBe\fP \fIesc\fP] [\-\fBM\fP \fIserver\fP] \fIhost\fP
.br .br
\fBconsole\fP [\-\fBdDqQ\fP] [\-\fBv\fP] [\-\fBM\fP \fIserver\fP] \fIhost\fP \fBconsole\fP [\-\fBv\fP] [\-\fBhdDuVwx\fP]
.br .br
\fBconsole\fP [\-\fBv\fP] [\-\fBhuVwx\fP] \fBconsole\fP [\-\fBqQ\fP] [\-\fBM\fP \fIserver\fP]
.SH DESCRIPTION .SH DESCRIPTION
.B Console .B Console
is used to manipulate console terminals remotely or poll running is used to manipulate console terminals remotely or poll running
\fIconserver\fP(8L) daemons for status information. \fIconserver\fP(8L) daemons for status information.
.PP .PP
.B Console .B Console
queries the user for the root passwd before queries the user for the their passwd before
granting interactive access to a console (on a non-trusted system) granting interactive access to a console (on a non-trusted system)
since such a session may provide single-user access. since such a session may provide single-user access.
.PP .PP
@ -47,7 +47,7 @@ Display a brief help message.
.TP .TP
.BI \-M server .BI \-M server
The \fIconsole\fP client program polls \fIserver\fP as the primary server, The \fIconsole\fP client program polls \fIserver\fP as the primary server,
rather than the hard coded default (``console.cc.purdue.edu''). rather than the hard coded default (``console'').
.TP .TP
.B \-q .B \-q
The \fIconsole\fP client requests the server daemon quit (shutdown). The \fIconsole\fP client requests the server daemon quit (shutdown).
@ -65,6 +65,9 @@ Requests a read-only (spy mode) connection.
If this mode all the escape sequences (below) work, or report errors, If this mode all the escape sequences (below) work, or report errors,
but all other keyboard input is discarded. but all other keyboard input is discarded.
.TP .TP
.B \-u
Show a list of consoles and the users on each.
.TP
.B \-V .B \-V
Output the version of the console client program. Output the version of the console client program.
.TP .TP
@ -73,9 +76,6 @@ Be more verbose during when building the connection(s).
Use this option in combination with any of `show' options (below) Use this option in combination with any of `show' options (below)
for added benefit. for added benefit.
.TP .TP
.B \-u
Show a list of consoles and the users on each.
.TP
.B \-w .B \-w
Show a list of all connections to all consoles. Show a list of all connections to all consoles.
.TP .TP
@ -101,8 +101,11 @@ c toggle flow control (don't do this)
d down the current console d down the current console
e change the escape sequence to the next two characters e change the escape sequence to the next two characters
f force a switch to attach mode f force a switch to attach mode
g group info
L toggle logging on/off
l1 send a 3 second serial line break (might halt a Sun) l1 send a 3 second serial line break (might halt a Sun)
o reopen the line to clear errors (silo overflows) o reopen the line to clear errors (silo overflows)
p replay the last 60 lines of output
r replay the last 20 lines of output r replay the last 20 lines of output
s switch to spy mode s switch to spy mode
u show other users on this port u show other users on this port
@ -115,8 +118,6 @@ z suspend this connection
^J continue, ignore the escape sequence ^J continue, ignore the escape sequence
^R replay the last line only ^R replay the last line only
\. disconnect \. disconnect
; provide a new login or shift to a new console
+(-) be more (less) free with newlines
.TE .TE
.sp .sp
.PP .PP
@ -157,13 +158,15 @@ Outputs something like:
.sp .sp
.RS .RS
.TS .TS
l l l. l18 l l.
ksb@extra on expert Fri Feb 15 16:40:36 1991 ksb@extra attach 2days expert
file@cis on sage Thu Feb 14 1:04:10 1991 file@cis attach 21:46 sage
dmr@alice spy tyro Thu Feb 7 10:09:59 1991 dmr@alice spy 0:04 tyro
.TE .TE
.RE .RE
.sp .sp
The third column is the idle time of the user. Either hours:minutes or number
of days is displayed.
.TP .TP
console \-e \*(lq^[1\*(rq lv426 console \-e \*(lq^[1\*(rq lv426
Requests a connection to the host ``lv426'' with the escape characters Requests a connection to the host ``lv426'' with the escape characters
@ -181,5 +184,7 @@ The \-\fBr\fP option doesn't help to explain how connections get built.
Thomas A. Fine, Ohio State Computer Science. Thomas A. Fine, Ohio State Computer Science.
.br .br
Kevin Braunsdorf, Purdue University Computing Center Kevin Braunsdorf, Purdue University Computing Center
.br
Bryan Stansell, Global Networking and Computing, Inc.
.SH "SEE ALSO" .SH "SEE ALSO"
conserver.cf(5L), conserver(8L) conserver.cf(5L), conserver(8L)

8
port/IRIX6 Normal file
View File

@ -0,0 +1,8 @@
# $Id: IRIX6,v 1.1 1999-01-15 15:28:51-08 bryan Exp $
#
'CC=cc'
'INSTALL=/sbin/install'
'INCLUDE='
'DEBUG=-O'
'CDEFS=-DIRIX6'
'LIBS='

48
port/README Normal file
View File

@ -0,0 +1,48 @@
Porting
=======
Well, porting should be a fairly simple process. There are three things
that need to be set up to get things to work. First, you need to modify
the 'system' script so that it can properly detect your system and
associate it with a name. Next, create a file in this directory of the
same name with the proper makefile definitions. You should be able to
just copy the SunOS5 file to the name you created and modify the values
defined. One of the important things to do is create a token name to be
used during compilation (see the CDEFS lines - Solaris 5.X uses SUN5, for
example). This token will then be used in the ../conserver/port.h file.
So, as an example, say you're porting to the "Unix OS" version 6.4.
You'd add a line like the following to the system script:
UnixOS-6.*) p="UnixOS6" ;;
Then you'd create a UnixOS6 file in this directory with the contents of:
# Sample UnixOS6 file
#
'CC=gcc'
'INSTALL=/usr/ucb/install'
'INCLUDE='
'DEBUG=-O'
'CDEFS=-DUNIXOS6'
'LIBS='
Again, the key is the -DUNIXOS6 line...the others should be whatever is
required to get things to build.
Now you need to go define UNIXOS6 in ../conserver/port.h and have
it define the appropriate things. You'll need to add UNIXOS6 to the
line above '#error "Platform needs to be defined. See port.h"' and
then work through the file inserting UNIXOS6 at the appropriate spots.
Hopefully that's all you'll need to get the software to build. If, for
some reason, a porting issue is not dealt with properly in the source
files, you may need to adjust other .c and .h files. But, hopefully not.
Most of the tricky stuff can be adjusted via the port.h file.
That's about all the instructions I have. If I've missed anything
important, I'll be more than happy to supplement these instructions.
Just let me know. Just let me know.
#
# $Id: README,v 1.1 1999-01-22 13:24:21-08 bryan Exp $
#