~dannf/ubuntu/saucy/screen/lp1213278-from-debian

« back to all changes in this revision

Viewing changes to patchlevel.h

  • Committer: Bazaar Package Importer
  • Author(s): Nathaniel McCallum
  • Date: 2004-09-03 15:15:33 UTC
  • Revision ID: james.westby@ubuntu.com-20040903151533-px02yqlrchs4fv2t
Tags: upstream-4.0.2
ImportĀ upstreamĀ versionĀ 4.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (c) 1993-2002
 
2
 *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
 
3
 *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
 
4
 * Copyright (c) 1987 Oliver Laumann
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or modify
 
7
 * it under the terms of the GNU General Public License as published by
 
8
 * the Free Software Foundation; either version 2, or (at your option)
 
9
 * any later version.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
 * GNU General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU General Public License
 
17
 * along with this program (see the file COPYING); if not, write to the
 
18
 * Free Software Foundation, Inc.,
 
19
 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
 
20
 *
 
21
 ****************************************************************
 
22
 * $Id: patchlevel.h,v 1.17 1994/05/31 12:32:35 mlschroe Exp $ FAU
 
23
 */
 
24
 
 
25
/****************************************************************
 
26
 *
 
27
 * patchlevel.h: Our life story.
 
28
 *
 
29
 * 08.07.91 -- 3.00.01 -wipe and a 'setenv TERM dumb' bugfix.
 
30
 * 17.07.91 -- 3.00.02 another patchlevel by Wayne Davison
 
31
 * 31.07.91 -- 3.00.03 E0, S0, C0 for flexible semi-graphics, nonblocking 
 
32
 *                     window title input and 'C-a :' command input.
 
33
 * 10.08.91 -- 3.00.04 scrollback, markkeys and some bugfixes.
 
34
 * 13.08.91 -- 3.00.05 mark routine improved, ansi prototypes added.
 
35
 * 20.08.91 -- 3.00.06 screen -h, faster GotoPos in overlay, termcap %.
 
36
 *                     instead of %c
 
37
 * 28.08.91 -- 3.00.07 environment variable support. security. terminfo.
 
38
 *                     pyramid and ultrix support.
 
39
 * 07.09.91 -- 3.00.99 secopen(), MIPS support, SVR4 support.
 
40
 * 09.09.91 -- 3.01.00 backspace bug fixed.
 
41
 * 03.10.91 -- 3.01.01 ansi.c: null-ptr fixed, CLS now saves to scrollback.
 
42
 *                     Using setresuid on hpux. Memory leak fixed.
 
43
 *                     Better GotoPos(). Support for IC. Another resize bug.
 
44
 *                     Detach() w/o fore crashed. -T and -A(dapt) option.
 
45
 *                     GNU copyleft.
 
46
 * 19.12.91 -- 3.01.02 flow now really automatic (autoflow killed).
 
47
 *                     7 bit restriction removed from WriteString().
 
48
 * 09.01.92 -- 3.01.03 flow reattach bug fixed. VDISCARD bug fixed.
 
49
 * 13.01.92 -- 3.01.04 new flow concept: ^Af toggles now three states
 
50
 * 21.01.92 -- 3.01.05 '^A:screen 11' bug fixed. aflag in DoScreen().
 
51
 *                     Some code cleanup. attach_tty and display_tty[]
 
52
 *                     added.
 
53
 * 26.01.92 -- 3.01.06 apollo support, "hardcopy_append on", "bufferfile", 
 
54
 *                     SECURITY PROBLEM cleared..
 
55
 * 28.01.92 -- 3.01.07 screen after su allowed. Pid became part of 
 
56
 *                     SockName. sysvish 14 character restriction considered.
 
57
 * 31.01.92 -- 3.02.00 Ultrix port, Irix 3.3 SGI port, shadow pw support,
 
58
 *                     data loss on stdin overflow fixed. "refresh off".
 
59
 * 12.02.92 -- 3.02.02 stripdev() moved, -S introduced, bufferfile improved,
 
60
 *                     ShellProg coredump cleared. SVR4 bugfixes.
 
61
 *                     I/O code speedup added.
 
62
 * 24.04.92 -- 3.02.03 perfectly stackable overlays. One scrollback per window,
 
63
 *                     not per display.
 
64
 * 05.05.92 -- 3.02.04 very nasty initialisation bug fixed.
 
65
 * 09.05.92 -- 3.02.05 parsing for $:cl: termcap strings and \012 octal notation
 
66
 *                     in screenrc file. More structuring. Detached startup
 
67
 *                     with 'screen -d -m -S...' bugfixed.
 
68
 * 11.05.92 -- 3.02.06 setreuid() bugs cleared, C-a : setenv added.
 
69
 *                     "xn" capability in TERMCAP needed since "am" is there.
 
70
 * 25.06.92 -- 3.02.07 The multi display test version. Have merci.
 
71
 * 15.07.92 -- 3.02.08 :B8: supports automatic charset switching for 8-bit
 
72
 * 26.09.92 -- 3.02.09 Ported to linux. Ignoring bad files in $SCREENDIR
 
73
 * 22.10.92 -- 3.02.10 screen.c/ansi.c splitted in several pieces.
 
74
 *                     Better ISearch. Cleanup of loadav.c
 
75
 * 29.10.92 -- 3.02.11 Key mechanism rewritten. New command names.
 
76
 *                     New iscreenrc syntax. 
 
77
 * 02.11.92 -- 3.02.12 'bind g copy_reg' and 'bind x ins_reg' as suggested by
 
78
 *                     stillson@tsfsrv.mitre.org (Ken Stillson).
 
79
 * 03.11.92 -- 3.02.13 Ported to SunOs 4.1.2. Gulp. Some NULL ptrs fixed and
 
80
 *                     misc. braindamage fixed.
 
81
 * 03.11.92 -- 3.02.14 Argument number checking, AKA fixed.
 
82
 * 05.11.92 -- 3.02.15 Memory leaks in Detach() and KillWindow() fixed.
 
83
 *                     Lockprg powerdetaches on SIGHUP.
 
84
 * 12.11.92 -- 3.02.16 Introduced two new termcaps: "CS" and "CE".
 
85
 *                     (Switch cursorkeys in application mode)
 
86
 *                     Tim's async output patch.
 
87
 *                     Fixed an ugly bug in WriteString().
 
88
 *                     New command: 'process'
 
89
 * 16.11.92 -- 3.02.17 Nuking unsent tty output is now optional, (toxic 
 
90
 *                     ESC radiation). 
 
91
 * 30.11.92 -- 3.02.18 Lots of multi display bugs fixed. New layer
 
92
 *                     function 'Restore'. MULTIUSER code cleanup.
 
93
 *                     Rudimental acls added for multiuser.
 
94
 *                     No more error output, when output gives write errors.
 
95
 * 02.12.92 -- 3.02.19 BROKEN_PIPE and SOCK_NOT_IN_FS defines added for 
 
96
 *                     braindead systems. Bug in recover socket code fixed.
 
97
 *                     Can create windows again from shell.
 
98
 * 22.12.92 -- 3.02.20 Made a superb configure script. STY and break fixed.
 
99
 * 01.02.93 -- 3.02.21 Coredump bug fixed: 8-bit output in background windows.
 
100
 *                     Console grabbing somewhat more useable.
 
101
 * 23.02.93 -- 3.02.22 Added ^:exec command, but not tested at all.
 
102
 * 23.02.93 -- 3.02.23 Added 'hardcopydir' and 'logdir' commands.
 
103
 * 11.03.93 -- 3.02.24 Prefixed display and window structure elements.
 
104
 *                     Screen now handles autowrapped lines correctly
 
105
 *                     in the redisplay and mark function.
 
106
 * 19.03.93 -- 3.03.00 Patched for BSD386. pseudos work.
 
107
 * 31.03.93 -- 3.03.01 Don't allocate so much empty attr and font lines.
 
108
 * 04.04.93 -- 3.03.02 fixed :exec !..| less and :|less, patched BELL_DONE & 
 
109
 *                     ^B/^F. Fixed auto_nuke attribute resetting. Better linux 
 
110
 *                     configure. ^AW shows '&' when window has other attacher.
 
111
 *                     MAXWIN > 10 patch. KEEP_UNDEF in config.h.in, shellaka 
 
112
 *                     bug fixed. dec alpha port. Solaris port. 
 
113
 * 02.05.93 -- 3.03.03 Configure tweaked for sgi. Update environment with 
 
114
 *                     setenv command. Silence on|off, silencewait <sec>, 
 
115
 *                     defautonuke commands added. Manual page updated.
 
116
 * 13.05.93 -- 3.03.04 exit in newsyntax script, finished _CX_UX port.
 
117
 *                     Texinfo page added by Jason Merrill. Much longish debug 
 
118
 *                     output removed. Select window by title (or number).
 
119
 * 16.06.93 -- 3.04.00 Replaced ^A- by ^A^H to be complementary to ^A SPACE.
 
120
 *                     Moved into CVS. Yacc.
 
121
 * 28.06.93 -- 3.04.01 Fixed selecting windows with numeric title. Silence 
 
122
 *                     now works without nethackoption set.
 
123
 * 01.07.93 -- 3.04.02 Implementing real acls.
 
124
 * 22.07.93 -- 3.05.00 Fixed SVR4, some multiuser bugs, -- DISTRIBUTED
 
125
 * 05.08.93 -- 3.05.01 ${srcdir} feature added. Shellprog bug fixed.
 
126
 *                     Motorola reattach bug fixed. Writelock bug fixed.
 
127
 *                     Copybuffer moved into struct acluser. Configure.in
 
128
 *                     uglified for Autoconf1.5. Paste may now have an
 
129
 *                     argument. Interactive setenv. Right margin bug
 
130
 *                     fixed. IRIX 5 patches. -- DISTRIBUTED
 
131
 * 13.08.93 -- 3.05.02 ultrix support added. expand_vars removed from
 
132
 *                     register function. Paste bug fixed.
 
133
 *                     sysmacros.h now included in pty.c on sgis
 
134
 *                     Strange hpux hack added for TTYCMP. 
 
135
 *                     Zombie feature improved.
 
136
 * 08.09.93 -- 3.05.03 Makefile and OSF1 fine tuning. Eased attach to
 
137
 *                     multi sessions. Writelock now obeys acl write
 
138
 *                     permissions. UserDel() now preserves defaults.
 
139
 *                     acladd/aclchg syntax improved. Updated
 
140
 *                     documentation. Bug in at command fixed.
 
141
 *                     MakeWindow() now obeys perm defaults.
 
142
 * 03.10.93 -- 3.05.90 Multiple displays can now share the same window. 
 
143
 *                     Layers now belong to Windows. "Select -" yields a blank
 
144
 *                     page. Debug output can be switched on/off at runtime.
 
145
 *                     Number command changes window number and utmp-slot.
 
146
 * 14.10.93 -- 3.05.91 Mechanism to find the "best" window added. Much 
 
147
 *                     debugging done and still needed. Slowpaste setting now 
 
148
 *                     per window. Preserving fore AND other window when 
 
149
 *                     detached. Per user settings for `monitor' and `silence'.
 
150
 *                     New command `su'. BlankWindow performs now ColonInput.
 
151
 *                     History command fixed, it depended on paste code that
 
152
 *                     was previously changed to allow concatenation of buffers.
 
153
 *                     Fixing umask problem with WriteFile() reported by Jamie 
 
154
 *                     Mason.
 
155
 * 30.11.93 -- 3.05.04 Kanji support added. New keymap feature:
 
156
 *                     bindkey and various map commands. GR and C1
 
157
 *                     flags now define the character processing.
 
158
 * 30.11.93 -- 3.05.92 Kanji support added. New keymap feature:
 
159
 *                     bindkey and various map commands. GR and C1
 
160
 *                     flags now define the character processing.
 
161
 * 17.12.93 -- 3.05.93 Tcon authentification mechanism. AddChar macro broken up 
 
162
 *                     into 2 functions. Acl.c, network.c, misc.c, termcap.c 
 
163
 *                     and tty.c are now display free! 
 
164
 * 27.12.93 -- 3.05.94 Telnet login works, can export one window per mux.
 
165
 *                     Acl-groups added. Export rights is an acl.
 
166
 *                     connect works, can create shadow window thus import 
 
167
 *                     command channel and switch windows. Can detach sessions
 
168
 *                     from each other. Can renumber imported and exported
 
169
 *                     windows. DL_LOOP prevents now SEGV, sessions have names
 
170
 *                     and can be connected to very flexible.
 
171
 * 03.01.94 -- 3.05.95 Import and export of any number of channels works,
 
172
 *                     except a small bug with margin handling when exporting.
 
173
 *                     Window titles are forwarded, break is forwarded and
 
174
 *                     tcon learned the mux protocoll. A few more bugs in 
 
175
 *                     network.c fixed. Tcon has Mux arrays, Protocoll is '\0'
 
176
 *                     free.
 
177
 * 08.01.94 -- 3.05.96 More tcon work. Solaris debugging.
 
178
 *
 
179
 * 14.01.94 -- 3.05.05 New FindSocket() code. Nicer socket handling.
 
180
 * 20.01.94 -- 3.05.06 New attribute handling code. NeXT fixes.
 
181
 * 04.02.94 -- 3.05.07 Ugly bug in ScrollH fixed. Keymap defaults.
 
182
 * 10.03.94 -- 3.05.97 'defsilence' by Lloyd Zusman. Zombie resurrekt key. 
 
183
 *                     -b, -p options. Fixed Compilekeys(), gulp. config.h 
 
184
 *                     allows choice of VMIN/VTIME/NDELAY for ttys.
 
185
 * 13.04.94 -- 3.05.08 Kanji bug fixed. POSIX sigaction support.
 
186
 *                     os.h cleanup. UTNOKEEP splitted into
 
187
 *                     UT_CLOSE and UT_UNSORTED. linux no longer
 
188
 *                     implies UT_CLOSE. "struct display" name
 
189
 *                     convention change: _d_ to d_ and d_ to D_.
 
190
 * 20.04.94 -- 3.05.09 configure.in ptyrange bug fixed. Upgraded
 
191
 *                     to autoconf-1.8
 
192
 * 27.04.94 -- 3.05.10 97801 obscure code support. Linux long
 
193
 *                     password workaround.
 
194
 * 09.05.94 -- 3.05.11 seteuid() support added. Security fixes.
 
195
 *                     _IBMR2 kludge makes call to sleep obsolete.
 
196
 *                     Small fixes in uname() code. djm suggests replace of
 
197
 *                     BSDI by __bsdi__. 
 
198
 * 27.07.94 -- 3.05.12 seteuid attacher bug fixed. ks/ke changed
 
199
 *                     in termcap/info and termcap.c
 
200
 * 01.09.94 -- 3.05.58 (There are a few more patches to come, subtracted 40) 
 
201
 *                     breaktype command to select how we cause breaks.
 
202
 *                     Testing logfile.c. Manual and texinfo documentation
 
203
 *                     updated to explain all new commands except keymapping.
 
204
 *                     Added modem lines to info of plain ttys. Using 
 
205
 *                     cfset{i,o}speed() for POSIX is better, much better. 
 
206
 * 07.09.94 -- 3.05.59 Flushing logfiles every 5 seconds. Testing new
 
207
 *                     resize linewrap code. Resize with care.
 
208
 *                     Resurrect now displays its command string.
 
209
 * 11.09.94 -- 3.05.60 Lines are now correctly wrapped, when window size
 
210
 *                     changes; this prevents loss of text.
 
211
 * 15.09.94 -- 3.05.61 umask renamed to aclumask, bell renamed to bell_msg.
 
212
 *                     *_msg commands show message when called w/o parameter.
 
213
 *                     Many changes in the manual, thanks to Sven Guckes.
 
214
 *                     -O removed.
 
215
 * 27.09.94 -- 3.05.13 defwlock stupidity fixed. MakeTermcap ks/ke
 
216
 *                     ':' removed. Termcap entry improved.
 
217
 *                     copy_reg and ins_reg obsoleted by better paste command:
 
218
 *                     paste        =>  paste .
 
219
 *                     copy_reg r   =>  paste . r 
 
220
 *                     ins_reg r    =>  paste r
 
221
 *                     ins_reg      =>  paste
 
222
 * 18.10.94 -- 3.05.62 breaktype changed. -L option added to enable logging
 
223
 *                     from both command line and screenrc. SIGXFSZ ignored.
 
224
 * 28.11.94 -- 3.05.63 ACL's sharpened. No user has any rights, unless 
 
225
 *                     explicitly given. Only two exceptions: 1) "acladd user"
 
226
 *                     without further parameters. 2) Evry user has a default
 
227
 *                     umask that gives himself all permissions on the windows
 
228
 *                     he creates. Bug with colon input on shared windows fixed.
 
229
 *                     The commad is now executed by the user typing the final
 
230
 *                     Enter-Key rather by a random user.
 
231
 * 30.11.94 -- 3.05.64 On demand grabbing of pending auto writelocks.
 
232
 *                     Solaris troubles us with kill(pid, 0) ... not fixed...
 
233
 *                     defbreaktype added. (breaktype is also global, still...)
 
234
 *                     SIGARGHACK cleared, to pamper poor little Ultrix4.4 cfe.
 
235
 *                     defescape added.
 
236
 *                     w_status changed to w_hstatus, it's a #define in 
 
237
 *                     Domain/OS reported by ejackson@iastate.edu.
 
238
 * 05.12.94 -- 3.05.17 SVR4 pty bug fixed, don't update window status
 
239
 *                     line if not changed, onyx support. Manual
 
240
 *                     pages updated.
 
241
 * 14.12.94 -- 3.05.18 w_status changed to w_hstatus, it's a #define in 
 
242
 *                     Domain/OS reported by ejackson@iastate.edu.
 
243
 *                     Screen manpage patches by larry.
 
244
 *                     Ugly seteuid bug in ForkWindow() fixed.
 
245
 * 20.12.94 -- 3.06.00 Solaris has broken seteuid().
 
246
 *                     osf loadav patches.  -- DISTRIBUTED
 
247
 * 08.01.95 -- 3.05.65 Bug with LOGOUTOK and -ln fixed. redundant secfopen()
 
248
 *                     avoided, when logfflush() looks at delayed nfs updates.
 
249
 *                     Option parser now allowes condensed options. -A fixed.
 
250
 *                     New commands 'preselect' and 'defpreselect'. New option
 
251
 *                     -WdmS starts a detached screen session with watchdog.
 
252
 * 16.01.95 -- 3.06.01 KANJI patch. doc/Makefile.in fixed.
 
253
 *                     Install now calls doc/Makefile install.
 
254
 *                     Don't use 'ds' too often, breaks MSkermit.
 
255
 *                     undef'd LOGOUTOK logs in now.
 
256
 *                     Ultrix is broken, too (seteuid).
 
257
 *                     Use \r (not \n) to join lines in pastebuf.
 
258
 *                     bindkey can now remove sequences.
 
259
 *                     InitTTY fixed for PLAIN. -- DISTRIBUTED
 
260
 * 06.02.95 -- 3.05.66 DisplayLine() does now clipping to reduce coredump-
 
261
 *                     frequency. Window size is adapted to the display that
 
262
 *                     types input, to reduce multi-user confusion. Scrollback
 
263
 *                     mode still may get the wrong size.
 
264
 * 07.02.95 -- 3.05.67 WinRewrite() also needs to clip. Users without unix
 
265
 *                     account, but with screen password allowed. Chacl
 
266
 *                     allows password change, su prompts for user name too.
 
267
 * 01.03.95 -- 3.05.68 Leaving a window may now cause a resize to match a 
 
268
 *                     remaining display. Simple ESC-CR fix in the vt100
 
269
 *                     state machine.
 
270
 * 26.03.95 -- 3.05.69 Markroutine() needs to resize the window to avoid 
 
271
 *                     coredumps, just like WinProcess() already does.
 
272
 *                     More NEED_ flags added in comm.c to avoid coredumps.
 
273
 * 04.04.95 -- 3.06.02 Simple ESC-CR fix in the vt100 state machine.
 
274
 *                     Now compiles again with all extras disabled.
 
275
 *                     Zombie resurrect added. defc1, defgr, defkanji
 
276
 *                     added. Screen now replies to a secondary DA
 
277
 *                     query. Some missing NEED_XXX added in comm.c.
 
278
 *                     Better default tty permissions/group test.
 
279
 *                     More AUX support, now compiles with POSIX.
 
280
 *                     Function keycodes xtermified (F11, F12).
 
281
 *                     Paste bug fixed (only worked with KANJI).
 
282
 *                     Check bcopy before memcpy/memmove.
 
283
 *                     FindSocket code much fixed & improved.
 
284
 * 10.04.95 -- 3.05.70 Display_displays() now shows the users permissions on 
 
285
 *                     the currently displayed window, this is easier than a 
 
286
 *                     full featured lsacl, but also helps. chacl can now copy
 
287
 *                     users, but we need to copy windows.
 
288
 * 26.04.95 -- 3.05.71 Multi digit screen numbers in utmp. MakeWindow() now
 
289
 *                     echoes what it does, just like RemakeWindow() when
 
290
 *                     'verbose on' (default off).
 
291
 *                     `screen -ls myname/' will find own(!) non-multi sessions.
 
292
 *                     Command line option -q improved and documented.
 
293
 *                     'debug off' also shuts attacher debugging off now.
 
294
 * 03.05.95 -- 3.05.72 'connect' command bugfixed. colon prompt improved.
 
295
 *                     open(O_NONBLOCK) does not work on 4.1.3, using O_NDELAY.
 
296
 *                     There are writes to exp_wid2chan[-1], XXX I just added 
 
297
 *                     fillers to the mux structure, please debug this ASAP! 
 
298
 *                     WindowByName() prefers exact matches now. Esc forwarding
 
299
 *                     from Frontend to Backend suppressed unless specified.
 
300
 * 26.06.95 -- 3.05.73 Improving the combination of dflag and rflag: If both
 
301
 *                     are set, a screen session is reattached, regardless
 
302
 *                     if it was previously detached or attached elseewhere.
 
303
 *                     "screen -D -RR" is thus most powerful: Give me my screen
 
304
 *                     session here and now. No matter, if this means creating
 
305
 *                     a new session (due to the second R without warning 
 
306
 *                     message), detching the session first (and due to the
 
307
 *                     capitalised D logging out), or simply attaching to it.
 
308
 * 13.07.95 -- 3.05.74 Markroutine learned new join mode: comma seperated.
 
309
 *                     Can disable the detach feature from config.h.
 
310
 *                     Configure.in now calls etc/toolcheck. Password is no
 
311
 *                     longer a static array.
 
312
 * 30.07.95 -- 3.05.75 Karl Heuer wants to install with a relative symlink.
 
313
 *                     Command line option -k removed (try -t).
 
314
 * 31.08.95 -- 3.06.03 Color support, digraph command, code
 
315
 *                     cleanup (struct mchar/mline added).
 
316
 * 03.09.95 -- 3.06.04 SetRendition display check. Solaris unblock
 
317
 *                     SIGHUP. w_curchar->w_rend, lintified.
 
318
 *                     Shadow-password code moved and rewritten
 
319
 *                     (includes sun C2).
 
320
 * 06.09.95 -- 3.05.76 Added support for braille displays (by Hadi Bargi Rangin
 
321
 *                     and Bill Barry, {bargy,barryb}@dots.physics.orst.edu
 
322
 *                     Added baud, cs8, istrip, ixon, ixoff  options for plain 
 
323
 *                     tty windows. Untested.
 
324
 * 09.09.95 -- 3.07.99 Merged 3.7.76 back into the main distribution but
 
325
 *                     without network, blankwindow and dlist support.
 
326
 *                     Global variable Password removed.
 
327
 *                     Resize code completely rewritten.
 
328
 *                     New commands: sorendition, (def)charset.
 
329
 *                     strftime-like message generation.
 
330
 * 26.09.95 -- 3.06.05 resize code completely rewritten.
 
331
 *                     Very visible cursor added. vbell sequence
 
332
 *                     \Eb added. _delay for terminfo libs added
 
333
 *                     to make the padding work for the first time.
 
334
 *                     New ProcessInput() makes "command command"
 
335
 *                     work. '[def]escape ""' clears escape chars.
 
336
 *                     Changed logdir command to logfile. It now uses
 
337
 *                     MakeWinMsg() to create the filename.
 
338
 *                     Updated the manuals.
 
339
 * 03.10.95 -- 3.08.00 Merged 3.07.99 back into my 3.06.05.
 
340
 *                     pause removed. NONROOT now in config.h.
 
341
 *                     sysV68 configure test. Socket protocol got
 
342
 *                     revision number. New command termcapinfo.
 
343
 *                     Screenrcs, docs & configure.in updated
 
344
 * 18.10.95 -- 3.08.01 Info shows parser state.
 
345
 *                     Very visible cursor added. vbell sequence
 
346
 *                     \Eb added. _delay for terminfo libs added
 
347
 *                     to make the padding work for the first time.
 
348
 *                     Braille code almost completely reworked.
 
349
 *                     New ProcessInput() makes "command command"
 
350
 *                     work. '[def]escape ""' clears escape chars.
 
351
 *                     Command logdir -> logfile and uses MakeWinMsg.
 
352
 *                     Updated the manuals. New mark command 'x'.
 
353
 *                     stuff has new "-k" parameter.
 
354
 * 28.10.95 -- 3.06.06 Added new 'XC' capability to provide
 
355
 *                     a method for character translation.
 
356
 * 17.11.95 -- 3.07.00 Added CheckEscape() function.
 
357
 *                     acl -> acls because of hpux10 nameclash
 
358
 *                     /stand/vmunix added to kernel list (hpux10)
 
359
 *                     stripdev changed to translate 
 
360
 *                     /dev/pts<n> to /dev/pts/<n> (unixware)
 
361
 *                     -lgen added to GETUTENT configure test.
 
362
 * 20.11.95 -- 3.07.01 corrected vbell null ptr reference.
 
363
 *                     -- DISTRIBUTED
 
364
 * 27.11.95 -- 3.08.02 Added CheckEscape() function.
 
365
 *                     acl -> acls because of hpux10 nameclash
 
366
 *                     /stand/vmunix added to kernel list (hpux10)
 
367
 *                     stripdev changed to translate 
 
368
 *                     /dev/pts<n> to /dev/pts/<n> (unixware)
 
369
 *                     -lgen added to GETUTENT configure test.
 
370
 *                     corrected vbell null ptr reference
 
371
 *          -- 3.08.03 etc/toolcheck is now shouting louder.
 
372
 *                     Solaris 2.5 has /kernel/genunix.
 
373
 *                     Touching socket when detach/attach.
 
374
 *                     FindWindow corrected. AIX4 patch
 
375
 *                     from robert@mayday.cix.co.uk.
 
376
 *  1.09.96 -- 3.07.02 added #ifdef MAPKEYS for CheckEscape.
 
377
 *                     etc/toolcheck is now shouting louder.
 
378
 *                     Touching socket when detach/attach.
 
379
 *                     Linux tcflush hack. Linux md5 password suport.
 
380
 *                     USE_SGR support for dumb (wyse) terminals.
 
381
 *                     "at" and "reset" commands improved.
 
382
 *                     Now sensitive to broken AIX4 TIOCPKT.
 
383
 *                     tek patch unapplied.
 
384
 *                     linux utmp patch: set slot to DEAD_PROCESS.
 
385
 *                     include signal.h for killpg if hpux10.10.
 
386
 *                     linux: elf, but no SVR4, check for utmpx.
 
387
 *                     hpux10.10 libcurses breaks select()!
 
388
 *                     -- DISTRIBUTED
 
389
 * 27.09.96 -- 3.07.03 ncurses tgetflag returns -1 if cap not valid.
 
390
 *                     autonuke fix: reset application mode. An init
 
391
 *                     string may have cleared it.
 
392
 *                     Small UTMPOK patch from Douglas B. Jones.
 
393
 * 23.06.97 -- 3.07.04 Some bugfixes. Kanji fixed.
 
394
 *                     Code update from 3.8.6: Colon line editing added.
 
395
 *                     Digraph made line-editing resistant.
 
396
 *                     DEC ALPHA ut_user[0] = 0;
 
397
 *                     Added error messages to exit_with_usage.
 
398
 *                     FindSocket code improved (the MULTIUSER part).
 
399
 *                     Use utimes() if available. Power-detached start.
 
400
 *                     vsnprintf() support. exit -> _exit in window.c.
 
401
 *                     AddXChars now tolerates NULL string.
 
402
 *                     -- DISTRIBUTED
 
403
 * 10.11.98 -- 3.07.05 Wayne's resize.c patch to keep the cursor
 
404
 *                     onscreen. FindWindow corrected. AIX4 patch
 
405
 *                     from robert@mayday.cix.co.uk.
 
406
 *                     Fixed kanji am & markcursor bugs.
 
407
 *                     SCO support (Gert Doering).
 
408
 *                     Wayne's statusline extra space. New flag nospc
 
409
 *                     for MakeWinMsg. New TF capability: add missing
 
410
 *                     termcap/info caps. screen-exchange security
 
411
 *                     fix. Use kstat for Solaris' loadavg.
 
412
 *                     Check for mode 775 if screen runs setgid.
 
413
 *                     Fixed typo in silence command.
 
414
 *                     Allow detach with no tty. HPUX10.20 ltchars
 
415
 *                     hack. Use @1/@7 as replacement for kh/kH.
 
416
 *                     Use seteuid before calling tgetent.
 
417
 *                     Check for displays in Msg().
 
418
 *                     Linux ncurses hack: redefine _nc_timed_wait.
 
419
 *                     Configure check for ncurses (sigh).
 
420
 *                     ITOH Yasufumi: kanji fixes, osf support,
 
421
 *                     bug fixes. More secure Rewrite().
 
422
 *                     Increased line buffer size to 2048 bytes.
 
423
 *                     SCO-5 Fixes (Brian L. Gentry).
 
424
 * 25.11.98 -- 3.07.06 resize code now handles tabs correctly.
 
425
 *                     -- DISTRIBUTED
 
426
 *          -- 3.09.00 loads'o'bugs fixed, 3.8 merged with 3.7.
 
427
 *                     new region clip code.
 
428
 *                     Many new features (see NEWS file).
 
429
 *  3.08.99 -- 3.09.02 -- DISTRIBUTED
 
430
 * 11.08.99 -- 3.09.04 small utmp fix, BSD chflags fix, tty mode fix
 
431
 *                     -- DISTRIBUTED
 
432
 *  1.09.99 -- 3.09.05 linux SVR4_PTYS fixes, better ShowWindos(),
 
433
 *                     Panic() displays bug fixed, strerror fixed,
 
434
 *                     missing $srcdir & bad prefix in Makefiles.
 
435
 *                     console grabbing with SRIOCSREDIR.
 
436
 *                     linux utmp workaround added. Some KANJI bugs
 
437
 *                     fixed. Stupid StuffKey() bug fixed.
 
438
 *                     -- DISTRIBUTED
 
439
 * 24.07.00 -- 3.09.06 kanji fixes. lock escape char fix.
 
440
 *                     removed delayed message hack.
 
441
 *                     resize command & focus subcomands by joze.
 
442
 *                     fix for solaris' utmp_helper bug.
 
443
 *                     linux tty handling fix.
 
444
 *                     mousetracking, rxvt osc sequences.
 
445
 *                     background color erase support.
 
446
 *                     don't log user in after hangup.
 
447
 *                     hstatus escape update bug fixed.
 
448
 *  1.09.00 -- 3.09.08 -- DISTRIBUTED
 
449
 * 25.05.01 -- 3.09.09 use $DESTDIR in Makefiles.
 
450
 *                     renamed struct user to acluser to fix hpux
 
451
 *                     problem for good. utf8 support. 16 color
 
452
 *                     support. New -X option and escape sequence
 
453
 *                     to send screen commands.
 
454
 *                     New commands: attrcolor, defutf8, dinfo, utf8.
 
455
 *                     Extended commands: width, height, readbuf,
 
456
 *                     writebuf. Better nlist64 detection.
 
457
 *                     New config.h option SOCKDIR_IS_LOCAL_TO_HOST.
 
458
 *                     Don't call tputs with an empty string.
 
459
 *                     New string escape %{ for attr/color changes.
 
460
 *                     LRefreshAll bug fixed (0 instead of -1 as bce).
 
461
 *                     New quote handling in Parse(). Workaround for
 
462
 *                     some bad termcap/info entries added. Set BE
 
463
 *                     for all xtermish emulators. Added '0x' and
 
464
 *                     'U+' prefix in digraph command. LOADAV_TYPE
 
465
 *                     detection fixed.
 
466
 *                     -- DISTRIBUTED
 
467
 *  4.09.01 -- 3.09.10 '-R' security fix. Fixed array in MScrollV().
 
468
 *                     -- DISTRIBUTED
 
469
 *                     Reset charset after 'me'.
 
470
 * 14.02.02 -- 3.09.11 Support for other encodings. Double width
 
471
 *                     utf-8 chars. 'L' modifier for %D, %M, %w
 
472
 *                     and %W. New %= (hfill), %H (hostname),
 
473
 *                     %f (flags), %F (focus) escapes. New commands
 
474
 *                     source, windowlist, deflog. Command key classes.
 
475
 *                     New login state: always. Time format
 
476
 *                     changeable. 256 color support.
 
477
 *                     Updated digraph table. Ignorecase.
 
478
 *                     Windowlist resizeable on blank window.
 
479
 *                     Added encoding to paste buffers.
 
480
 *                     Hpux loadtype detection fixed.
 
481
 *                     Disabled im/ic warning. Fixed a bug that
 
482
 *                     could cause window lockups in rare
 
483
 *                     circumstances. Made hangup signal to the
 
484
 *                     backend process detach all displays.
 
485
 *                     New escapes %< %>, + and - flag for %w.
 
486
 *                     Added eval command, added -h option to detach.
 
487
 *                     Also set flayer when processing -X commands.
 
488
 *                     use getpt() on linux systems. doc patches from
 
489
 *                     Adam Lazur. tty flow/intr cleanup.
 
490
 *                     -- DISTRIBUTED
 
491
 * 29.08.2002  3.09.12 Port to POSIX 1003.1-2001 hosts (Paul Eggert).
 
492
 *                     Fixed encoding for reattach password test.
 
493
 *                     Fixed NUL characters when encodings are active.
 
494
 *                     Fixed silly encodings bugs. Fixed bogus
 
495
 *                     oldflayer when a window gets freed.
 
496
 *                     Altscreen support by Gurusamy Sarathy.
 
497
 *                     Reuse old password in builtin_screenlock.
 
498
 *                     -- DISTRIBUTED
 
499
 * 05.09.2002  3.09.13 added missing break statement that broke
 
500
 *                     the eval command.
 
501
 *                     -- DISTRIBUTED
 
502
 * 13.03.2003  3.09.15 Console workaround for linux. Scrolling-region
 
503
 *                     reset fix. GBK encoding added.
 
504
 *                     support for unicode combining characters added.
 
505
 *                     openpty() support added (thomas@xs4all.nl).
 
506
 *                     preselect of blank window ('-') or window
 
507
 *                     list ('=') added. Added %` string escape
 
508
 *                     and backtick command.
 
509
 *                     -- DISTRIBUTED
 
510
 * 08.09.2003  4.00.00 rewrote nonblock command, added defnonblock.
 
511
 *                     added zmodem support (catch & passthrough).
 
512
 *                     added screenblanker.
 
513
 *                     fixed a couple of GBK bugs.
 
514
 *                     rewrote command parsing.
 
515
 *                     added -m option to windowlist (Felix Rosencrantz)
 
516
 *                     -- DISTRIBUTED
 
517
 * 18.09.2003  4.00.01 fixed two small bugs in the new parser.
 
518
 *                     -- DISTRIBUTED
 
519
 * 05.12.2003  4.00.02 fixed a bug in the ansi parser. fixed execs
 
520
 *                     on ttys. fixed hardstatus line on blanked screen.
 
521
 *                     -- DISTRIBUTED
 
522
 */
 
523
 
 
524
#define ORIGIN "FAU"
 
525
#define REV 4
 
526
#define VERS 0
 
527
#define PATCHLEVEL 2
 
528
#define DATE "5-Dec-03"
 
529
#define STATE ""