This repository has been 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
/
Copy pathREADME
249 lines (175 loc) · 9.41 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
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?