This repository was archived by the owner on Aug 14, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Arquivotheca/getty_ps
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Getty Kit, Version 2.0
Copyright (c) 1989,1990, Paul Sutcliffe Jr.
-------------------------------------------------------------------------------
Permission is hereby granted to copy, reproduce, redistribute,
or otherwise use this software as long as: there is no monetary
profit gained specifically from the use or reproduction or this
software, it is not sold, rented, traded or otherwise marketed,
and this copyright notice is included prominently in any copy
made.
The author make no claims as to the fitness or correctness of
this software for any use whatsoever, and it is provided as is.
Any use of this software is at the user's own risk.
-------------------------------------------------------------------------------
WHY THIS GETTY:
As most people have seen, the stock getty provided on Unix/Xenix
systems lacks many features that can be useful. The getty included in
this distribution adds several features that I needed on my own system,
plus includes several "Wouldn't it be nice if ..." features I've heard
mentioned around UseNet.
Getty 2.0 trys to emulate a "standard" System V getty in every way it
can. For instance, it uses the SysV /etc/gettydefs file (although you
may give it a different name). It also uses an /etc/issue file, if one
is present.
Added features include:
+ Can be used as a normal getty, or as "uugetty" to allow
bi-directional usage of modem lines.
+ Reads a "defaults" file at runtime, so that a single binary
can be configured differently on individual lines. This also
allows you to change getty's behavior without recompiling.
+ Let's you specify default erase and kill characters, instead
of the ancient '#' and '@' convention still used in some
"modern" gettys.
+ Extensive debugging (to a log file) can be enabled at compile-
time. The command line argument to envoke debugging is an
octal number -- the bit pattern determines which aspects of
getty's behavior are logged.
+ Let's you specify a program other than "login" to be executed
after the user name is entered.
+ (and the best for last:) The line can be "initialized"
before sending the login banner (/etc/issue) and prompt with
the use of an expect/send sequence not unlike that used by the
UUCP L.sys (or Systems) file.
+ (and new in version 2.0:) The CONNECT message from the modem
can be used to set the line speed; no more having to toggle
the speed by sending <break>'s or CR's.
REQUIREMENTS:
Getty 2.0 should drop right in to any AT&T (System III or V) Unix
or derivitive. It has already been successfully installed on:
Tandy 6000 Tandy Xenix 3.2 (Microsoft Xenix 3.0)
NCR Tower 32/400 Unix SVR[23]
80386 clone SCO Xenix V/386 2.2
Everex STEP 386is ESIX SVR3.2 Rev C
INSTALLATION:
Please read all the directions below before you proceed any further, and
then follow them carefully. Failure to do so may void your warranty. :-)
After you have unpacked your kit(s), you should have all the files listed
in MANIFEST.
1) Run Configure. This will figure out various things about your system.
Some things Configure will figure out for itself, other things it will
ask you about. It will then proceed to make config.h, config.sh, and
Makefile.
You might possibly have to trim # comments from the front of Configure
if your sh doesn't handle them, but all other # comments will be taken
care of.
2) Glance through config.h to make sure system dependencies are correct.
Most of them should have been taken care of by running the Configure
script.
If you have any additional changes to make to the C definitions, they
can be done in the Makefile, or in config.h. Bear in mind that they
will get undone next time you run Configure.
3) Copy the sample file tune.H to tune.h and edit tune.h to reflect the
special needs of your system and your desired features. Use the
following as a guide:
boolean If your compiler supports a (boolean) type, you may
remove this definition.
DEF_CFL Define this to the <termio.h> parameters that will
identify your system's normal word length and parity.
Possible values are:
(CS8) /* 8-bit, no parity */
(CS7|PARENB) /* 7-bit, even parity */
(CS7|PARENB|PARODD) /* 7-bit, odd parity */
Be sure to use only symbols defined in <termio.h> on
your system.
DEF_CONNECT Define this to the default CONNECT string for your
modem(s).
DEBUG Define this if you want the runtime debugging code
included in the executables. See the section on
DEBUGGING in this readme for instructions in usage.
LOGUTMP Define this if your utmp file (/etc/utmp) records
getty processes as a LOGIN_PROCESS. This is true
for all SYS V sites that I'm aware of.
MY_CANON Define this if you want to define your own ERASE and
KILL characters. You may wish to do this if you are a
SYS V site whose defaults are the ancient '#' and '@'
characters. See MY_ERASE and MY_KILL below.
RCSID Define this if you want RCS version strings compiled
into the executables. These can later be found with
the what (SCCS) or ident (RCS) commands.
SETTERM Define this if you want getty to export the TERM
environment variable before calling login. This will
only be done if getty knows what kind of terminal is
attached to the line it's running on.
TELEBIT Define this if you will be using the autobauding
feature with Telebit modems.
TRYMAIL Define this if you want getty to send email if it has
and error and cannot access the CONSOLE device.
WARNCASE Define this to allow getty to warn a user if he/she has
used only upper-case letters in their login id. If the
user re-enters his/her id a second time in upper-case,
that value is accepted and process accordingly.
MY_ERASE If you've defined MY_CANON, use these to define the values
MY_KILL you want for erase and kill characters.
TB_FAST During autobauding, a Telebit will say CONNECT FAST
if a 9600 or 19200 PEP connection is made. Define
this to the speed (either 9600 or 19200) you want
getty to set when it sees FAST.
NOTIFY If you've defined TRYMAIL, use this to define the account
to which the email will be sent.
CONSOLE Define this to the name of the console device.
DEFAULTS Define this to the name of the defaults file. The %s is
necessary, and will be replaced (via an sprintf()) by the
name of the executable--either getty or uugetty.
ISSUE Define this to the name of your issue file. If this
is undefined, no issue file will be displayed during
getty's startup.
LOGIN Define this to the name of the login program to be called.
TRS16 Define this only if you're compiling getty on a Tandy 6000.
This define handles the different command line required due
to the V7 based /etc/init and also the dain-bramaged
/etc/inittab used on Tandy Xenix-68000 3.2
You may also wish to modify the values of {I,O,C,L}SANE in table.c,
as my idea of "Sane conditions" may differ from yours.
4) make depend
This will look for all the includes and modify Makefile accordingly.
Configure will offer to do this for you.
5) make lint
This step is optional, but highly recommended.
6) make
This will attempt to make getty and uugetty in the current directory.
It will also go to the man sub-directory and use m4 to create
nroff-able man pages. It will then run nroff on the m4 output.
7) make install
This will put getty/uugetty into a public directory (normally /etc).
It will also make sure the man pages have been created. It will not
install them. You may need to be root to do this. If you are not
root, you must own the directories in question and you should ignore
any messages about chown not working.
Also, if you don't already have an /etc/gettydefs file, you'll need
to create one. This goes for the /etc/default files (if you are
using them) and the /etc/issue file. There are examples of these
in the `sample.files' file.
8) Read the manual entries before running getty/uugetty.
9) IMPORTANT! Help save the world! Communicate any problems and suggested
patches to me, paul at devon.lns.pa.us (Paul Sutcliffe Jr.), so we can
keep the world in sync. If you have a problem, there's someone else
out there who either has had or will have the same problem.
If possible, send in patches such that the patch program will apply them.
Context diffs are the best, then normal diffs. Don't send ed scripts--
I've probably changed my copy since the version you have.
Watch for getty patches in comp.sources.bugs. Patches will generally be
in a form usable by the patch program. If you are just now bringing up
getty and aren't sure how many patches there are, write to me and I'll
send any you don't have. Your current patch level is shown in patchlevel.h.
DEBUGGING:
To use debugging, you must define DEBUG (in config.h) before compiling.
To envoke debugging, use the "-D onum" command line argument. Onum is
an octal number. To turn on all levels of debugging, use "-D 0377".
To pick specific areas to be watched, look at the defines in the "debug
levels" section of getty.h. The value for onum will be the result of
OR-ing the values you want. For instance, to debug the defaults file
and gettytab file processing, use "-D 022".
Have fun.
- paul
INTERNET: paul at devon.LNS.PA.US | How many whales do you have to
UUCP: ...!rutgers!devon!paul | save to get a toaster?
About
Paul Sutcliffe Jr's enhanced SYSV getty/uugetty
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published