home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sources / misc / 3929 < prev    next >
Encoding:
Text File  |  1992-09-11  |  57.2 KB  |  1,391 lines

  1. Newsgroups: comp.sources.misc
  2. Path: sparky!kent
  3. From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  4. Subject:  v32i037:  ecu - ECU Asynchronous Communications v3.20, Part02/40
  5. Message-ID: <1992Sep11.191456.4991@sparky.imd.sterling.com>
  6. Followup-To: comp.sources.d
  7. X-Md4-Signature: 3aecc09cb929a281980593a0efa44358
  8. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  9. Organization: Sterling Software
  10. References: <csm-v32i036=ecu.141245@sparky.IMD.Sterling.COM>
  11. Date: Fri, 11 Sep 1992 19:14:56 GMT
  12. Approved: kent@sparky.imd.sterling.com
  13. Lines: 1379
  14.  
  15. Submitted-by: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  16. Posting-number: Volume 32, Issue 37
  17. Archive-name: ecu/part02
  18. Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
  19. Supersedes: ecu: Volume 21, Issue 53-89
  20.  
  21. ---- Cut Here and feed the following to sh ----
  22. #!/bin/sh
  23. # this is ecu320.02 (part 2 of ecu320)
  24. # do not concatenate these parts, unpack them in order with /bin/sh
  25. # file README.Q-and-A continued
  26. #
  27. if test ! -r _shar_seq_.tmp; then
  28.     echo 'Please unpack part 1 first!'
  29.     exit 1
  30. fi
  31. (read Scheck
  32.  if test "$Scheck" != 2; then
  33.     echo Please unpack part "$Scheck" next!
  34.     exit 1
  35.  else
  36.     exit 0
  37.  fi
  38. ) < _shar_seq_.tmp || exit 1
  39. if test ! -f _shar_wnt_.tmp; then
  40.     echo 'x - still skipping README.Q-and-A'
  41. else
  42. echo 'x - continuing file README.Q-and-A'
  43. sed 's/^X//' << 'SHAR_EOF' >> 'README.Q-and-A' &&
  44. X> with kbdtest3 for each, but I can't get them to intersect enough to have
  45. X> them be one common entry.  (I haven't fiddled with the .Xdefaults.)  I
  46. X> would like to be able to store the keymaps in funckeymap as "xterm-sunc"
  47. X> and "xterm-dec" and have either a command-line switch or environment
  48. X> variable such as ECUKEYS select which one I want, since the TERM
  49. X> variable just isn't sufficient to choose in this case.
  50. X> 
  51. X> $TERM is marvelously adequate for doing all the curses stuff.  Nothing
  52. X> need be changed there.
  53. X> -- 
  54. X> Clayton Haapala    (clayh@network.com)    
  55. X> Network Systems Corp.            "...and the alligators are on FIRE."
  56. X> 7625 Boone Ave N MS10                -- S.E.K.
  57. X> Minneapolis, MN 55428-1099
  58. X
  59. XThe answer within the current framework is to use xmodmap and/or
  60. Xoverride translations to make the keys generate the same
  61. Xsequences on both systems.
  62. X
  63. XThe ultimate answer is, as you suggest, to do something "better."
  64. XI just haven't come up with anything yet.
  65. X
  66. XIf you are networked so that ~/.ecu becomes the same directory
  67. Xeven on two different machines/xterm implementations, my pitiful
  68. Xattempts break down.  I have always suggested forcing xterms to
  69. Xhave a consistent keyboard, but this is not always possible.
  70. XIt is what I do for a SunOS MIT server and a SCO UNIX Roell X386
  71. X1.1b.  If I got really motivated, I'd change the Roell code
  72. Xto match the Sun server.  But then, I wouldn't be able to
  73. Xmake accurate code and recommendations for other Roell users.
  74. X
  75. XThis is, in fact, partly a specification deficit and partly a
  76. Xproblem of incomplete porting.  Anyone who has ever ported X
  77. Xwould be very happy when they get down to these small matters
  78. Xand if they never use the Home or Shift Tab, they'll never know.
  79. X
  80. XLemme think on this one.
  81. SHAR_EOF
  82. echo 'File README.Q-and-A is complete' &&
  83. chmod 0644 README.Q-and-A ||
  84. echo 'restore of README.Q-and-A failed'
  85. Wc_c="`wc -c < 'README.Q-and-A'`"
  86. test 2046 -eq "$Wc_c" ||
  87.     echo 'README.Q-and-A: original size 2046, current size' "$Wc_c"
  88. rm -f _shar_wnt_.tmp
  89. fi
  90. # ============= README.RTSCTS ==============
  91. if test -f 'README.RTSCTS' -a X"$1" != X"-c"; then
  92.     echo 'x - skipping README.RTSCTS (File already exists)'
  93.     rm -f _shar_wnt_.tmp
  94. else
  95. > _shar_wnt_.tmp
  96. echo 'x - extracting README.RTSCTS (Text)'
  97. sed 's/^X//' << 'SHAR_EOF' > 'README.RTSCTS' &&
  98. XFull duplex hardware flow control is correctly handled by only
  99. Xone UNIX entity I know of: the FAS public domain async driver for
  100. Xvarious 386 unixes.
  101. X
  102. XI have not seen what SVR4 has to offer.
  103. X
  104. XSunOs has partial support.
  105. X
  106. XSCO UNIX and XENIX has a completely useless method based on the
  107. Xclassical synchronous modem model: the DTE raises RTS when it
  108. Xwishes to send and waits for CTS from the modem.  Modems at slave
  109. Xlocations on master-slave multidrop lines leave their carrier off
  110. Xexcept when the DTE is transmitting.  The DTE says "RTS", the
  111. Xmodem turns on its carrier and raises its CTS line after the
  112. Xmodem carrier is stable enough to support data transmission.
  113. X
  114. XPerhaps, some modems are smart enough to detect another modem
  115. X"using" the path.  In such cases, the modem remains quiet and
  116. Xdeny RTS to the DTE until the path is quiet.
  117. X
  118. XThis is great for synchronous applications, but asynchronous
  119. Xcommunications requires (greatly benefits from) bidirectional
  120. Xflow control where the RTS line becomes, in fact, a "DTE CTS".
  121. XRTS is true when the DCE may transmit to the DCE and false
  122. Xwhen it may not.
  123. X
  124. XThis de facto reassignment has never become a standard and
  125. Xfew UNIX vendors support it.  The Telebits and other
  126. Xfast modems do support this mechanism.
  127. X
  128. XSigh, one day, maybe UNIX will generally embrace such use.
  129. X
  130. XUpdate!  Thanks Ronald:
  131. X
  132. XFrom n4hgf!kd4nc!emory!wupost!usc!sdd.hp.com!nigel.msen.com!hela.iti.org!widener!eff!ibmpcug!pipex!demon!gate.demon.co.uk!ronald Wed Jul 22 21:09:23 1992
  133. XPath: n4hgf!kd4nc!emory!wupost!usc!sdd.hp.com!nigel.msen.com!hela.iti.org!widener!eff!ibmpcug!pipex!demon!gate.demon.co.uk!ronald
  134. XFrom: ronald@gate.demon.co.uk (Ronald Khoo)
  135. XNewsgroups: comp.unix.sysv386
  136. XSubject: Re: SCO Unix 3.2v4, RTSFLOW, CTSFLOW and CRTSFL
  137. XMessage-ID: <9207192054.aa26742@gate.demon.co.uk>
  138. XDate: 19 Jul 92 19:55:04 GMT
  139. XReferences: <JOCHEN.92Jul12064058@busybit.mrz.lm.sub.org> <2A6326A2.6C61@tct.com>
  140. XSender: usenet@gate.demon.co.uk
  141. XOrganization: Demon Internet Services.
  142. XLines: 48
  143. XX-Mailer: Mail User's Shell (7.2.4 2/2/92)
  144. X
  145. Xchip@tct.com (Chip Salzenberg) wrote:
  146. X
  147. X> Does anyone out there understand:
  148. X> 
  149. X>    1.  What RTSFLOW and CTSFLOW do, singly and in combination,
  150. X>          under (A) 3.2v2 and (B) 3.2v4?
  151. X
  152. XSupposedly no change.  They are intended for true half-duplex modem-style
  153. Xline-control, i.e. the REAL meaning of RTS/CTS.  I think it's possible
  154. Xto use CTSFLOW only for printer flow control, but don't hold me to that :-)
  155. X
  156. XSome vendors, e.g. Specialix, specifically interpret the flags as being
  157. Xfor full duplex flow control, not line control, since that's essentially
  158. Xuseless for the kind of applications which their markets want, and
  159. XCRTSFL was not available prior to 3.2v4
  160. X
  161. X>    2.  What CRTSFL does, compared to 1(A) and 1(B)?
  162. X
  163. XCRTSFL is new with 3.2v4 and does mean full duplex flow control,
  164. Xwhat EIA-232 calls RFR/CTS flow control.  RFR "Ready for receive" is
  165. Xactually a different circuit number according to the spec, but is
  166. Xthe same pin on a V.24 25-way D connector.
  167. X
  168. XConfused ?  You will be.
  169. X
  170. XThe problem is that if you use a current Specialix card on a 3.2v4 system,
  171. Xand want RFR/CTS flow control, you still have to use the wrong flags,
  172. Xie CTSFLOW|RTSFLOW  rather than CRTSFL because the drivers were written
  173. Xfor 3.2v2.  Hence I had to ask Morning Star Technologies who supply
  174. XPPP for this site to give me two different option flags so that
  175. Xif the line is the standard /dev/tty1A I use CRTSFL to get the flow control
  176. XI want, but if I'm in via the Specialix multiport then I use CTSFLOW|RTSFLOW.
  177. X
  178. XIf you want full duplex flow control on /dev/tty1A, you have to either
  179. Xupgrade to 3.2v4 or else install FAS (which uses minor numbers rather
  180. Xthan termio flags to indicate flow control).
  181. X
  182. XUnravelling this has taken a lot of effort, but at the end of the day
  183. Xwe have a service running with flow control working correctly on a rackfull
  184. Xof modems on different ports.   case "`tty`" in foo) ;; bar) ;; esac
  185. Xrules OK :-(
  186. X
  187. XUgh.  You are in a twisty maze of termio flags, all different.
  188. X
  189. X
  190. X-- 
  191. XRonald Khoo <ronald@demon.co.uk> <ronald@ibmpcug.co.uk> <ronald@robobar.co.uk>
  192. XBTNet: +44 71 229 7741                    | Brambles are the order of the day.
  193. X
  194. SHAR_EOF
  195. chmod 0644 README.RTSCTS ||
  196. echo 'restore of README.RTSCTS failed'
  197. Wc_c="`wc -c < 'README.RTSCTS'`"
  198. test 4167 -eq "$Wc_c" ||
  199.     echo 'README.RTSCTS: original size 4167, current size' "$Wc_c"
  200. rm -f _shar_wnt_.tmp
  201. fi
  202. # ============= README.SCOTTY ==============
  203. if test -f 'README.SCOTTY' -a X"$1" != X"-c"; then
  204.     echo 'x - skipping README.SCOTTY (File already exists)'
  205.     rm -f _shar_wnt_.tmp
  206. else
  207. > _shar_wnt_.tmp
  208. echo 'x - extracting README.SCOTTY (Text)'
  209. sed 's/^X//' << 'SHAR_EOF' > 'README.SCOTTY' &&
  210. X
  211. XOn SCO, TTY devices must be named in the style of:
  212. X
  213. X     /dev/tty#N
  214. X             ^^
  215. X             ||
  216. X             |`------ uppercase letter for modem control
  217. X             |        lowercase for non-modem control
  218. X             `--------digit (1-4)
  219. X
  220. X
  221. XIf you are using FAS or other third-party driver, you may use ecu
  222. Xwith ports not normally named in the /dev/tty#N style in one of two
  223. Xways under UNIX and one way under XENIX:
  224. X
  225. X     1.  Under XENIX or UNIX, create a link to the port
  226. X         with a compatible name:
  227. X
  228. X               ln /dev/ttyF00 /dev/tty1a
  229. X               ln /dev/ttyFM00 /dev/tty1A
  230. X
  231. X     2.  Under UNIX, add additional lines to the
  232. X         /etc/conf/node.d file and rebuild the kernel
  233. X         environment (this is the recommended approach
  234. X         for UNIX, as documented in FAS 2.08 and 2.09):
  235. X
  236. X     fas ttyF00  c   48
  237. X     fas tty1a   c   48
  238. X     fas ttyF01  c   49
  239. X     fas tty1b   c   49
  240. X     fas ttyFM00 c   208
  241. X     fas tty1A   c   208
  242. X     fas ttyFM01 c   209
  243. X     fas tty1B   c   209
  244. X
  245. SHAR_EOF
  246. chmod 0644 README.SCOTTY ||
  247. echo 'restore of README.SCOTTY failed'
  248. Wc_c="`wc -c < 'README.SCOTTY'`"
  249. test 1010 -eq "$Wc_c" ||
  250.     echo 'README.SCOTTY: original size 1010, current size' "$Wc_c"
  251. rm -f _shar_wnt_.tmp
  252. fi
  253. # ============= README.SEAlink ==============
  254. if test -f 'README.SEAlink' -a X"$1" != X"-c"; then
  255.     echo 'x - skipping README.SEAlink (File already exists)'
  256.     rm -f _shar_wnt_.tmp
  257. else
  258. > _shar_wnt_.tmp
  259. echo 'x - extracting README.SEAlink (Text)'
  260. sed 's/^X//' << 'SHAR_EOF' > 'README.SEAlink' &&
  261. X
  262. XECU implements the SEAlink protocol (by System Enhancement Associates)
  263. Xby means of a modified source provided by SEA.  I got the original source 
  264. Xfrom an early distribution of the fine XBBS by alphacm!sandy.
  265. X
  266. XNOTE: SEAlink is provided as-is. I haven't used it since I
  267. Xtested it in 1989.  It is still reported to work.
  268. X
  269. SHAR_EOF
  270. chmod 0644 README.SEAlink ||
  271. echo 'restore of README.SEAlink failed'
  272. Wc_c="`wc -c < 'README.SEAlink'`"
  273. test 320 -eq "$Wc_c" ||
  274.     echo 'README.SEAlink: original size 320, current size' "$Wc_c"
  275. rm -f _shar_wnt_.tmp
  276. fi
  277. # ============= README.WY60 ==============
  278. if test -f 'README.WY60' -a X"$1" != X"-c"; then
  279.     echo 'x - skipping README.WY60 (File already exists)'
  280.     rm -f _shar_wnt_.tmp
  281. else
  282. > _shar_wnt_.tmp
  283. echo 'x - extracting README.WY60 (Text)'
  284. sed 's/^X//' << 'SHAR_EOF' > 'README.WY60' &&
  285. X
  286. XThis is a hurriedly composed note to let you know what I know
  287. Xabout Wyse 60 support (not much :-)).  I really cannot help
  288. Xwith Wyse 60s any more than this.  Please ask me no questtions,
  289. Xbut please, if you can and wish, provide me a robust explanation
  290. Xof where I am wrong and I'll put in into the mill with profuse
  291. Xthanks and credit.
  292. X
  293. X1. The Wyse 60 comes in several flavors of keytops and who knows
  294. Xwhat quantity of ROM versions.  The one I have is an early "Native"
  295. Xor "Non-PC-Keytop" version.
  296. X
  297. X2. The choice of keycodes (emitted character sequences) for the cursor
  298. Xkeys are quite, quite stupid, though they seem to have had SOME form of
  299. Xthinking behind them.  The arrow down key is a NEWLINE!  The cursor
  300. Xleft is a BACKSPACE.
  301. X
  302. X3. You can redefine the keycodes emitted by keys.  I lost my Wyse
  303. X60 manual several years ago, but with luck, you still have yours
  304. Xand can follow in my feeble steps to finish the job I have started
  305. Xand try to explain below.
  306. X
  307. X4. There are IS entries in the models/funckeymap file entry for the
  308. Xwyse60.  They are undocumented anywhere else.  These entries are
  309. Xused by ECU only to spit initialization strings at the terminal in
  310. Xthe order they appear in the file.
  311. X
  312. XIf you really don't want this stuff to happen, comment out or remove
  313. Xthe IS strings, comment the ANSI-fied definitions and uncomment
  314. Xthe un-ANSI-fied ones.  I omitted the braindead CUL and CUD entries, but
  315. Xif you want them:
  316. X
  317. X#   CUL:CUL:        bs            # not useful (for reference only)
  318. X#   CU5:CU5:                      # nyet
  319. X    CUR:CUR:        ff
  320. X    CUD:CUD:        nl # use only if you NEVER need to send a line feed
  321. X
  322. X5.  The strings I emit with the supplied IS strings are the same as
  323. Xthe SCO 'wyse60ak' termcap entry 'ti' string.
  324. X
  325. X6.  You should really use the wyse60ak termcap entry, not the wyse60.
  326. X
  327. X7.  If you are not on SCO you probably don't have 'wyse60ak'.  I
  328. Xhope the time-honored tradition of sharing termcap entries amongst
  329. Xthe UNIX brethren will not bring writs and suits and "suits" against
  330. Xme.  Here it is:
  331. X
  332. X#    Wyse 60
  333. X#    Clearing of arrow keys useful in 'is' in case this entry is
  334. X#    used after wy60ak entry was used.
  335. X#
  336. Xw7|wy60|wyse60|Wyse WY-60 with 80 column/24 line screen in wy60 mode:\
  337. X    :is=\E`\072\Ee(\EO\Ee6\Ec41\E~4\Ec21\Ed/\EZ1+\177\EZ1,\177\EZ1-\177\EZ1.\177\EZ1\\\177\EZ1q\177\Ec72:\
  338. X    :if=/usr/lib/tabset/std:pt:\
  339. X    :CF=\E`0:CO=\E`1:\
  340. X    :G1=3:G2=2:G3=1:G4=5:\
  341. X    :GC=8:GD=0:GE=\EH^C:GF=7:GG#0:GH=\072:\
  342. X    :GU==:GV=6:GR=4:GS=\EH^B:GL=9:\
  343. X    :PU=\EJ:PD=\EK:mb=\EG2:me=\EG0:\
  344. X    :al=4\EE:am:bs:bt=\EI:cd=100\EY:ce=\ET:cl=100\E+:\
  345. X    :cm=\Ea%i%dR%dC:co#80:dc=11\EW:dl=5\ER:ei=\Er:im=\Eq:k0=^AI\r:\
  346. X    :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\
  347. X    :k8=^AG\r:k9=^AH\r:kd=^J:kh=^~:kl=^H:kr=^L:ku=^K:\
  348. X    :li#24:mi:nd=^L:se=\EG0:so=\EG4:ug#0:ue=\EG0:ul:up=^K:us=\EG8:\
  349. X    :PN=\Ed#:PS=^T:hs:ts=\Ez(:fs=^M:
  350. X#
  351. X# Wy60ak:
  352. X# Arrow keys are programmed to emit ANSI standard sequences.  Allows 
  353. X# applications to distinguish between destructive Back Space and
  354. X# non-destructive Left Arrow Key.  END and INS keys also emit
  355. X# ANSI standard sequences.
  356. X# Held out `te' string so that `is' will remain in effect
  357. X# throughout login session.
  358. X# On the Enhanced PC Keyboard, only the Cursor Keypad between the Main
  359. X# Keypad and the Numeric Keypad is programmable.  These arrow keys
  360. X# and special cursor motion keys will function as labeled when using
  361. X# wy60ak with applications supporting the wy60ak entry. The Numeric
  362. X# Keypad cursor motion keys will continue to emit their default values.
  363. X#
  364. XWA|wy60ak|wyse60ak|Wyse 60 in wy60 mode with ANSI arrow keys +:\
  365. X    :is=\E`\072\Ee(\EO\Ee6\Ec41\E~4\Ec21\Ed/\EZ1+\E[A\177\EZ1,\E[B\177\EZ1-\E[D\177\EZ1.\E[C\177\EZ1\\\E[F\177\EZ1q\E[L\177\Ec72:\
  366. X    :ti=\EZ1+\E[A\177\EZ1,\E[B\177\EZ1-\E[D\177\EZ1.\E[C\177\EZ1\\\E[F\177\EZ1q\E[L\177:\
  367. X    :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:\
  368. X    :EN=\E[F:\
  369. X    :tc=wy60:
  370. X
  371. X8.  The ECU interactive command "kbdtest" may be of some assistance
  372. Xin analyzing and debugging this type of problem.
  373. SHAR_EOF
  374. chmod 0644 README.WY60 ||
  375. echo 'restore of README.WY60 failed'
  376. Wc_c="`wc -c < 'README.WY60'`"
  377. test 3965 -eq "$Wc_c" ||
  378.     echo 'README.WY60: original size 3965, current size' "$Wc_c"
  379. rm -f _shar_wnt_.tmp
  380. fi
  381. # ============= HISTORY ==============
  382. if test -f 'HISTORY' -a X"$1" != X"-c"; then
  383.     echo 'x - skipping HISTORY (File already exists)'
  384.     rm -f _shar_wnt_.tmp
  385. else
  386. > _shar_wnt_.tmp
  387. echo 'x - extracting HISTORY (Text)'
  388. sed 's/^X//' << 'SHAR_EOF' > 'HISTORY' &&
  389. X============= Changes for ECU 3.20 =======================================
  390. Xlast revised Sat Aug 22 15:29:11 EDT 1992
  391. X
  392. X"But in our enthusiasm, we could not resist a radical overhaul of
  393. Xthe system, in which all of its major weaknesses have been
  394. Xexposed, analyzed, and replaced with new weaknesses."  -- Bruce
  395. XLeverett 'Register Allocation in Optimizing Compilers'
  396. X
  397. X1. new commands (procedure and interactive)
  398. X   a.  autorz
  399. X   b.  dcdwatch
  400. X
  401. X2. dial command reworked
  402. X   a. new sub menu for entry add/edit
  403. X   b. phone number size increased from 25 to 40 characters
  404. X      (some modems limit input string size to 40 characters total
  405. X      excluding AT and trailing CR)
  406. X   c. Trailing dollar sign '$' appends ~/.ecu/.credit to dialled number:
  407. X      .credit has:
  408. X          ,,,167167002
  409. X      Home dial 1234 sends to modem
  410. X          1234,,,167167002
  411. X
  412. X3. help cmd improved: you can stay in a category and ask
  413. X   for help with multiple commands and use F1 to return to
  414. X   category menu.
  415. X
  416. X4. Major rework inside to reduce but not eliminate the likelihood
  417. Xthe chances ecu will abnormally terminate when the dial command
  418. Xneeds to change to a new line and the new line is not available.
  419. XIf the new line is busy (in use by another dialout or login),
  420. Xthe request to change is rejected and the old line is retained,
  421. Xthe program survives.  If the new line is unavailable because
  422. Xof other reasons (read/write denied [chmod] for instance), ecu still
  423. Xdies. hopefuly this will all be handled by the time of release.
  424. X
  425. X5. jhpb@sarto.budd-lake.nj.us added preliminary support for ESIX SVR4
  426. Xand I added the necessary switches to config.c.  Now, -DISCSVR4
  427. Xis used for ISCSVR4, -DESIXSVR4 for ESIX and -DSVR4 for "any" SVR4.
  428. X
  429. X6. The "kbdtest" interactive command has been cleaned up enough
  430. Xfor general use.  I hacked it in for debugging early on.
  431. XNow it is documented well enough for general use in funckeymap debugging.
  432. X
  433. X7. -P command line switch added for selecting a phone directory other
  434. Xthan the default ~/.ecu/phone.  Use -P fullpath.
  435. X
  436. X8. Any usage error (bad command args) resulted in the death of ecu's
  437. Xprocess group.  This provided great incentive to invoke the program
  438. Xproperly, but in this modern day, you are not allowed to discipline
  439. Xthe students :-).
  440. X
  441. X9. An experimental feature has been added to ecuungetty.
  442. XIf it is compiled with -DECUUNGETTY_CHOWN, it will perform
  443. Xchown and chmod operations on the line.
  444. X
  445. XWhen the line is acquired, its ownership is set to the real uid
  446. Xof the ecu user, its group id to the group id of the process, and
  447. Xits mode to 622.  This is what happens to xterm ptys.
  448. X
  449. XWhen the line is released, its ownership is set to uucp
  450. Xof the ecu user, its group id to uucp, and its mode to 640.
  451. XThis is what SCO uugetty does when it starts on a line.
  452. X
  453. XYou can experiment with this feature by 
  454. X    a. placing the line
  455. X       LOCAL_CFLAGS = -DECUUNGETTY_CHOWN
  456. X       in the file `config.local' in the distribution base directory.
  457. X    b. Configure or ./config
  458. X    c. remake and reinstall
  459. X
  460. X*You* must decide if this is appropriate for you.  The tradeoff
  461. Xis between having 666 ttys and having a program which a diligent
  462. Xhacker could use to change any file in the system to his
  463. Xownership. You really should look at bamboozle.c and judge
  464. Xwhat level of protection you want to use.  If you are on
  465. Xa sensitive installation (like you .gov or .mil guys),
  466. Xyou might not want to do it.  Any suggestions for improvement
  467. Xor additional security.  I thought about pathname checking,
  468. Xst_dev and st_rdev checking and the like, but nothing simple
  469. Xand portable has come to mind.
  470. X
  471. X10. From 31840 patch 5,
  472. XBy the time ECU actually attempts an line open, enough previous
  473. Xcontext has been lost that the program cannot recover if the open
  474. Xfails.  I have always made several checks to try and eliminate
  475. Xsuch occurrences.  Now, at least for SCO lines in utmp, the
  476. Xchances of failure are virtually eliminated.
  477. X
  478. XThis patch goes with patch 4 to extend the benefits of ecuungetty
  479. Xchown.  If ecuungetty chown is enabled and this patch is
  480. Xinstalled, we get reduced likelihood of ecu terminating
  481. Xabnormally when switching comm lines or when selecting the first
  482. Xline of the session.
  483. X
  484. X   Line access is checked if it is not found in utmp to see if
  485. X   an open would fail.
  486. X
  487. X   SCO uugetty does not always put anything in the ut_line field
  488. X   of its utmp entry.  However, a de facto convention exists for
  489. X   making an inittab id field with the last two characters
  490. X   matching the last two characters (the only unique characters)
  491. X   of SCO-style comm line names.  This patch causes such a check
  492. X   to be made, increasing the likelihood of getting a utmp match
  493. X
  494. XTwo new files have been added to this distribution:
  495. X   dutmp.c   cc -o dutmp dutmp.c    dumps the utmp; a cheap who -a
  496. X   README.3.2v4         a brief blurb related to EAFS file names
  497. X
  498. Xecu 3.19.00 patch 1 - notes 11-15
  499. X
  500. X11. The maximum screen geometry is now 85x80 instead of 43x80.
  501. XColumns must be 80.  Lines must be > 20.  Lines
  502. Xin excess of 85 will be accepted, but ECU will be unable to
  503. Xmaintain a correct screen display if any scrolling occurs.
  504. X
  505. X12. A Nap() bug (used by the procedure nap command as well as
  506. Xinternal functions) could cause the program to hang if napping
  507. Xwas to occur when a receiver or child process terminated.  This
  508. Xonly occurred on systems with -DWORKING_SELECT: SunOS, the SVR4s,
  509. XISC 2.2, for instance.
  510. X
  511. X13.  Remaining program identifiers containing the string "nonansi.*key"
  512. Xwere renamed to use "funckeymap".
  513. X
  514. X14.  On systems with reliable predefines in their native compiler,
  515. X(SCO -DM_SYSV, SunOS -Dsun),  Configure guesses at a default answer
  516. Xfor the first question.
  517. X
  518. X15. The End key may now be used to finish adding or editing
  519. Xa dialing directory entry.
  520. X
  521. Xecu 3.19.00 patch 2 - notes 16 - 18
  522. X
  523. X16. Yet more work on the ecuungetty scheme.  ungetty acquisition
  524. Xnot attempted early enough for "enabled but idle" lines
  525. X
  526. X17. A few patches back, I forgot to note %conn will now return
  527. X-1 if no line is open.  Previously it returned 0 in this case.
  528. XNow -1 means no line open, 0 means line open but no connection,
  529. X>0 is the line file descriptor for the line in an active
  530. Xconnection.
  531. X
  532. X18. The Nap() fixes of the last patch prevented ecurz/ecusz/ecusea
  533. Xfrom compiling.  Sorry.
  534. X
  535. XFrom full release 3.19.05
  536. X
  537. X19.  A preliminary T3000 dialer has been added to the gendial
  538. Xpackage.  This modem's future is plastic and the dialer, like
  539. Xall gendial programs, is just a starting point.  Gendial is
  540. Xprovided and I don't have a lot of time to support the zillions
  541. Xof conflicting idiosyncratic options folks want.  With that
  542. Xspew spewed, most of them work fairly well.  Documentation :-) ?
  543. X
  544. X20.  A side effect of getting the T3000 was that *I* got to play
  545. Xwith ECU on a Sun.  This is quite fortunate, since ECU was purportedly
  546. Xported many CPU cycles ago.  The Nap() problem has finally been
  547. Xput to bed... (he said).
  548. X
  549. XFrom 3.19.05 patch 1 (making 3.19.06) notes 21-24
  550. X
  551. X21. The lCLOCAL() code and its users form the chassis upon
  552. Xwhich the DCD watcher is based.  It appeared to work on the
  553. XSCO box, but caused problems on SunOS that were difficult to
  554. Xfind.  Thanks to Mark Ashton, n4hgf!ifsbd!cma, this problem
  555. Xis history.  Many mysterious "hangs" came from a trap
  556. Xyou could fall into on *any* implimentation other than SCO UNIX.
  557. XCLOCAL doesn't appear to work the same on SCO 3.2.? as XENIX
  558. Xand SunOS.  I think tbetz@upaya.panix.com will be happy
  559. Xwith this news.
  560. X
  561. X22. cma also discovered that if you have multiple Devices entries
  562. Xfor a line to pick up specific Dialers scripts or dialer programs,
  563. Xsay:
  564. X
  565. XACU ttya - 2400 t3000-2400
  566. XACU ttya - 9600 t3000-v32
  567. X
  568. XECU would always pick the first one (disregarding baud rate).
  569. XThis is fixed now.
  570. X
  571. XNow, if you dial with a directory entry using a /Devices-type or
  572. X=devices-type specification for tty, then *that specific* Devices
  573. Xentry is used to choose the dialer program or Dialers script.  If
  574. Xno directory entry is involved or the directory entry specifies
  575. X"Any" or a specific line, then Devices is searched for the first
  576. Xentry matching both the current line and the current baud rate.
  577. X
  578. XA note aside: SCO Devices entries appear to me to have a syntax
  579. Xextension not found in all HDB systems.  The baud rate
  580. Xfield allows a range of baud rates, like:
  581. X
  582. XACU tty1A - 110-2400 /usr/lib/uucp/dialgHA24
  583. X
  584. XECU supports this syntax, but your uucico may not.
  585. X
  586. X23. models/funckeymap updated with my dual-purpose Sun/SCO
  587. Xfunckeymap/.Xdefaults configuration.
  588. X
  589. X24. cmostime4 has been included for SCO users (and many hackers)
  590. X
  591. XFrom 3.19.05 patch 2 (making 3.19.07) notes 25
  592. X25.  Dialing directory subform data entry formerly had two
  593. Xinput schemes: on input, you were cajoled into going through
  594. Xfields one at a time until you reached the end of the form, whereupon
  595. XECU would take away the input form.  On the other hand, when editing
  596. Xan entry, you were free to cycle through the fields "a la modulo"
  597. Xin either direction.
  598. X
  599. XNow, both input modes allow liberal cycling.  Pressing the END key
  600. Xsignals your acceptance of the entry.  Pressing ESCape in input
  601. Xmode aborts the new entry process.  Pressing ESCape in edit mode
  602. Xbehaves exactly like the END key except that any edits made since
  603. Xthe cursor entered the current field are discarded..
  604. X
  605. XFrom 3.19.10 - notes 26-27
  606. X
  607. X26. more internal cleanup
  608. X
  609. X27. robertle@sco.com (Robert Lewis) noted that putting the phone number
  610. Xon log files and screen dumps is a security risk.  Why protect
  611. X~/.ecu when the phone numbers are plastered everywhere.  No
  612. Xmore banners.
  613. X
  614. XFrom 3.19.11 - whoops didn't keep track
  615. X
  616. X28. ecuungetty chown fixes and miscellaneous cleanup
  617. X
  618. XFrom 3.19.12 - notes 29
  619. X
  620. X29. Added use of ECUFUNCKEY environment variable to override TERM
  621. Xwhen loading funckeymap.
  622. X
  623. X3.19.13 internal rev (just superstitious :->)
  624. X
  625. X3.19.14 - notes 30
  626. X
  627. X30. Made changes for SCO 3.2v4/ODT 2.0:
  628. X    a. pids are now shorts
  629. X    b. getty sets "DIALOUT" on its own
  630. X
  631. X3.19.15 - notes 31
  632. X
  633. X31. ECUUNGETTY_CHOWN now a semi-permanent feature.  It can
  634. Xstill be turned off by editing config.c or Makefiles.  It
  635. Xis just too good not to have it in.
  636. X
  637. X3.19.16 - notes 32-37
  638. X
  639. X32. cmostime4 backed out of distribution; if you want it, ask me
  640. X
  641. X33. Direct phone numbers longer than 10 characters got doubled in
  642. Xone instance. Thanks to felton!rll for pointing this out.
  643. X
  644. X34.  Good news!  -DWORKING_SELECT can be and is now used for
  645. X3.2v4; as a side effect, the Nap() wrapper/surrogate is now in
  646. Xnap.c and all the several Nap() functions in ecusea.c, zcommon.c
  647. Xand gendial.c have been removed.
  648. X
  649. XAlso, if -DWORKING_SELECT is used, Nap() uses ftime() instead of
  650. Xgettimeofday().  Adding -DUSE_GETTIMEOFDAY will return to the
  651. Xold usage.  This latter note is for porters, since all currently
  652. Xsupported systems have ftime() and several lack gettimeofday().
  653. X
  654. X35. More work has been done on SCO utmp/Devices automatic tty selection
  655. Xhas been done.  I apologize for the long chain of half-fixes.  Once
  656. Xagain, I think it is fixed.  This time I REALLY believe it :-).
  657. XFor sure, you should no longer find your /dev/tty chown()'d to uucp.
  658. X
  659. X36.  SCO multiscreen color escape sequences from the remote were
  660. Xbeing filtered as if ECU were running on a non-multiscreen.  Now,
  661. Xif you use ECU on an SCO multiscreen, the full set of ECU escape
  662. Xsequences, including color, again work as specified in the
  663. Xmanual.  Thanks to tps@jptcs.com for pointing this out.  This bug
  664. Xcrept in when I reorganized keyboard management
  665. X(nonansikeys->funckeymap).
  666. X
  667. X37. The ecuungetty chown feature is on permanently.  I added
  668. Xquite a few security/safety checks to make sure some bug or
  669. Xanother will not make the privileged ecuungetty go wild.
  670. X
  671. X3.19.17 - notes 38
  672. X
  673. X38.  The hz/hzmsec needed by nap.c was not being provided,
  674. Xcalculated by ecusea.c, ecu[rs]z.c and gendial.c.
  675. X
  676. X3.19.18 - notes 39
  677. X
  678. X39.  I had started using <sys/time.h> if 3.2v4.  3.2v4 only has
  679. X<sys/time.h> if the TCPRT package is installed .  Basic 3.2v4 does
  680. Xnot have it at all.  So, we'll use <time.h> and <sys/select.h> just
  681. Xlike before.  Thanks for the report go to robertle@sco.com.
  682. X
  683. X3.19.19 - notes 40-44
  684. X
  685. X40.  Added support for 3.2v4 CRTSFL.
  686. XNow for SCO, rtscts command arguments:
  687. X
  688. Xusage: rtscts [ off | on | no | yes | 0..7 ]
  689. X
  690. Xargument | RTSFLOW | CTSFLOW   argument | RTSFLOW | CTSFLOW | CRTSFL
  691. X---------+---------+---------  ---------+---------+---------+--------
  692. X  off    |   0     |   0         0      |   0     |   0     |
  693. X  on     |   0     |   1         1      |   0     |   1     |
  694. X  no     |   0     |   0         2      |   1     |   0     |
  695. X  yes    |   0     |   1         3      |   1     |   1     |
  696. X                                 4      |   0     |   0     |   1
  697. X
  698. XChoice 4 only works on SCO 3.2v4 and ODT 2.0.
  699. XAs you can see, numeric values are masks.
  700. XIf the 4 bit is present in the numeric value, it
  701. Xoverrides the lower-order bits:  Specifying 7 as an argument
  702. Xspecifies CRTSFL is to be used if it is supported, otherwise
  703. XRTSFLOW and CTSFLOW.
  704. X
  705. XThe interactive help and iteractive and procedure command
  706. Xdocumentation has been updated.  I added to README.RTSCTS 
  707. Xsome illuminating comments by chip@tct.com (Chip Salzenberg).
  708. XIt was seeing this article that brought CRTSFL off the todo
  709. Xlist and into the code.
  710. X
  711. X41.  Warnings about not using ^\Z in Kermit transfers (^Z suspend)
  712. Xwere added to the 'sk' and 'rk' interactive and procedure commands.
  713. X
  714. X42.  This fix went into 3.19.16 but I forgot to note it: color
  715. Xsequences sent to ECU on a multiscreen console were not being
  716. Xpassed to the driver.  Now they are..  I only know of color
  717. Xworking on SCO.
  718. X
  719. X43.  Changes to make_dirs() was needed to handle making
  720. Xdirectories with pathname components which are symbolic links
  721. X(possibly on a read-only file system).
  722. X
  723. X44.  The DCD watcher did not work if you use SCO sio.  I have
  724. Xbeen using FAS and forgot a a fact about SCO sio: to toggle
  725. XCLOCAL meaningfully, you must open the modem (e.g.  tty2B) rather
  726. Xthan the direct (tty2b) file.  On SCO systems, if the tty filename
  727. Xhas a digit+letter as the last two characters,  ECU will
  728. Xforce the lower case (direct) version to be used.  3.19.19 opens
  729. Xthe upper case (modem) device, but continues to store
  730. Xand display tty names in their lower case version.
  731. X
  732. X3.19.20 - notes 45-46
  733. X
  734. X45. Somewhere in the lifetime of .19, I sent a copy to a guy.
  735. XThis revision bump is just to keep from having different
  736. Xversions called .19 out the door.
  737. X
  738. X46.  On 3.19.17/18, there were various reports of hangs on line 
  739. Xclose, hang up, or HOME prompt when using 3.2v2.  I cannot
  740. Xreproduce any of these errors.  Please get and send me this 
  741. Xinformation for me the next time it happens to you:
  742. X
  743. XInstall ecu, but execute the ecu built in the distribution directory.
  744. X
  745. X  a. Is the receiver process active (two ecu processes active)?
  746. X
  747. X  b. The ecu transmitter process will either be the only ecu
  748. X     process or the oldest.  Kill -4 the transmitter process and move
  749. X     the core file to the distribution directory if you 'cd'ed in ecu.
  750. X
  751. X     You may have to type ^Jstty sane^J on the console it failed on
  752. X     (expect no echo) to restore the console to something usable.  This
  753. X     may not reinstate your choice of character delete, line kill, etc.
  754. X
  755. X  c. do  'sdb ecu |& tee sdb.log'
  756. X
  757. X  d. do  't', then 'q'
  758. X
  759. X  e. repeat the failing scenario if you found the receiver process
  760. X     alive in step a.  If so, repeat a-d above, but this time kill
  761. X     the receiver process and do  'sdb ecu |& tee -a sdb.log'
  762. X
  763. X  f. Guess.  (mail me the sdb.log) with a description of
  764. X     1) the OS
  765. X     2) any non-vendor serial driver
  766. X     3) what was going on when it failed (in 100 words or more :-> )
  767. X
  768. X3.19.21 - notes 47-49
  769. X
  770. X47.  The UNIX sio driver may generate a SIGTTOU upon execution of
  771. Xcertain ioctl() functions, namely, XCSETA, XCSETAF, XCSETAW,
  772. XTIOCSPGRP, TCSBRK, TCFLSH, and TCXONC.  My ignorance caused the
  773. Xlast few revisions to hang for many upon closing a line or upon
  774. Xperforming miscellaneous operations like sending a break.  All
  775. Xecu executables now set job control signals to SIG_IGN.  I hope
  776. Xthis fixes the problem.  (Job control is not supported at this
  777. Xtime.)  
  778. X
  779. X48. config.c has been returned to normal compilation (no -g).
  780. XI shipped an alternate config.c "out of turn" after 3.19.20.
  781. XSome may have installed it, some not. Therefore, unsharing
  782. Xthis patch replaces any config.c you may have in place.
  783. X
  784. X49. The -F switch was added to the command line arguments:
  785. X
  786. XThe new manual section titled "-F path":
  787. X
  788. X    Normally, the $TERM environment variable is used to
  789. X    determine the funckeymap entry (keyboard configuration)
  790. X    to be used.  Sometimes, the $TERM variable is not
  791. X    adequate for identifying your keyboard arrangement.
  792. X    The -F switch, like the $ECUFUNCKEY environment
  793. X    variable, allows you to use override the funckeymap
  794. X    entry used.  For more information, see the section
  795. X    titled "Function Key Mapping (Recognition)".
  796. X
  797. X3.19.22 - notes 50-52
  798. X
  799. X50.  This note is only of interest to SCO users.
  800. XPrevious revisions of SCO were lenient on the user in the choice
  801. Xof the direct or modem tty device.  You could specify either
  802. Xtype and ecu would force the one it thought appropriate.
  803. XUsers of ecu under other operating systems have always had to
  804. Xspecify the correct name.
  805. X
  806. XIf you have time, I'd love feedback on what part of the manuals
  807. XI have missed updating with the new paradigm.
  808. X
  809. XSince there are several types of async drivers and we want
  810. Xto support them, ecu can no longer make a choice for you.
  811. XI did radical surgery on the "SCO tty naming" logic.  As it
  812. Xstands nowu, on SCO, the tty you specify in a dialing entry is the exact
  813. Xtty name opened.  The convention of using a lower-case lock name
  814. Xis still observed.  Also, both senses are searched for in utmp
  815. Xfor conflict determination.  ecuungetty chown()/chmod() both
  816. Xdevice file names.
  817. X
  818. XHowever, your choice of which line type (line placed in tty field
  819. Xof a directory entry or the tty field of the setup form) depends
  820. Xupon the driver you are using:
  821. X
  822. Xsio  modem   /dev/tty1A
  823. Xfas  direct  /dev/tty1a
  824. X
  825. XI don't know about others.  Tell me.
  826. X
  827. XNotes:
  828. Xa. An sio direct line ignores setting of CLOCAL (no DCD watcher)
  829. X   and lacks support for hardware flow control.
  830. Xb. Opening the fas modem line causes various forms of conflict
  831. X   resulting in EBUSY being returned by fas for an ecu open or
  832. X   a dialer program open.
  833. X
  834. XFor now, this is meaningful only on SCO.  In the future, perhaps,
  835. Xwe'll manage an installation-dependent table of what line names
  836. Xrefer to the same device and which are modem, direct, etc.
  837. X
  838. Xe.g.,
  839. X#line_to_use:modem:direct:others:comment
  840. Xtty1A:tty1A:tty1a::sio
  841. Xtty1a:tty1A:tty1a::fas
  842. Xacu0:acu0:ttya,ttyd0:SunOs
  843. X
  844. XThis would re-automate SCO tty line type choices and add it anew
  845. Xfor others.  Then, ecu could for the first time on non-SCO (and
  846. XSCO naming to boot) search for all possible lock files and utmp
  847. Xentries.  What do you think?  Yes, one more damn configuration file
  848. Xto hack on.
  849. X
  850. X51.  ecusz, ecurz and ecusea are now placed in the ecu library directory
  851. X(usually /usr/locsal/lib/ecu).  This is a more appropriate place
  852. Xsince it is meaningful only for ecu to execute them.  Kermit or ckermit
  853. Xis still searched for through $PATH.  Remove any old ecurz, ecusz
  854. Xand ecusea executables from your locsl bin directory.
  855. X
  856. X52.  I'm sorry the preformatted manuals you have been getting
  857. Xwere malformed.  The new Makefile in doc failed to supply -mm !
  858. X
  859. XBETA 3.20.01 notes 53-58
  860. X
  861. X53. There is still one installation where /dev/tty is getting
  862. Xincorrectly chown/chmoded.  There are now three brute-force
  863. Xtests for an attempt at this (up from two).  The bug
  864. Xhasn't been fixed, but we ought to know how it happens
  865. Xthis time around.
  866. X
  867. X54. The procedure and interactive command fkmap has been added:
  868. X
  869. XUsage: fkmap                           display current mapping
  870. X       fkmap <keyname>                 display single key mapping
  871. X       fkmap <keyname> <keylist>       modify a key's mapping
  872. X       fkmap -r                        reset to original mapping
  873. X       fkmap -s <file>                 append current to file
  874. X
  875. XThis command manages the mechanism ECU uses to recognize function
  876. Xkeys when they are entered at the console.  If supplied, the
  877. Xfirst argument to the command must be the recognized name of a
  878. Xfunction key from the list:
  879. X
  880. XF1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 
  881. XHome End PgUp PgDn CUP CUL CU5 CUR CUD
  882. X
  883. XIf only one argument is supplied, the mapping for the specified
  884. Xkey is displayed.  If more than one argument is supplied, the
  885. Xkeyboard mapping is changed.  Arguments 2-n are character code
  886. Xspecifiers in the format used to define a funckeymap entry.
  887. X
  888. XWARNING: If found to be syntactically correct, a mapping change
  889. Xis installed immediately.  If incorrect mapping of the HOME key
  890. Xis requested, you may lose control of ECU.
  891. X
  892. XExamples:
  893. X
  894. X    fkmap f10       display F10 mapping
  895. X    fkmap Home ^Z   map Home to ^Z
  896. X                    after this command, type ^Z for Home
  897. X
  898. X55.  Non-SCO color appears broken and it is beyond me to fix it.
  899. XIf you want to diddle with it, look at the top of ecutty.c at the
  900. Xlist of conditionals regarding USE_COLOR.  I'd appreciate
  901. Xpatches.  BTW, in the past, I have attempted fixes for ISC
  902. Xcharacter attributes like underlining and standout, but I've
  903. Xnever heard back.  Are there attribute problems on ISC (3.2 or
  904. Xother)?
  905. X
  906. X56.  The procedure command exec was added:
  907. X
  908. Xusage: exec <string>
  909. X
  910. XThis function executes a string as a procedure statement.
  911. XArgument <string> must contain an ecu statement exactly as
  912. Xmight appear on a procedure line, with a few exceptions.
  913. X
  914. X1. There may be no label: the first command may 
  915. X   start in column one.
  916. X2. You should not execute a goto, gosub or return.
  917. X3. You should not code if, while or compound statement
  918. X   brackets.
  919. X
  920. XYou are on your honor with regard to items 2 and 3 above.
  921. XIf you stretch it, it will break.
  922. X
  923. XExample:
  924. X
  925. X    $s20 = 'Home';   $s30 = '^H' 
  926. X    $s21 = 'End';    $s31 = '^E'
  927. X    $s22 = 'F1';     $s32 = '^A'
  928. X    $s23 = 'F2';     $s33 = '^B'
  929. X    $i10 = 0
  930. X    whilei $i0 < 4
  931. X    {
  932. X        $s0 = 'fkmap '+$s[20+$i10]+' '+$s[30+$i10]
  933. X        exec $s0
  934. X        $i10 = $i10 + 1
  935. X    }
  936. X
  937. X57.  ECU has been made successfully with gcc 2.2.2.  There is a
  938. Xbug in the configure procedure in the 2.2.2 I received.  In
  939. Xattempting to configure for 3.2v4, the tm.h header file got
  940. Xlinked to the wrong file.  Make sure tm.h is linked to
  941. Xconfig/i386_sco4.h and not config/i386_sco.h.  Starting with
  942. X2.2.2, those nice M_ identifiers are predefined by gcc.  I wish
  943. Xeverybody's compiler had a predefine that would identify the
  944. Xenvironment.
  945. X
  946. XThe Configure procedure is unchanged.  Answer yes to the question
  947. Xabout version 1.40 or later.
  948. X
  949. X58.  John Dashner, wa4cyb!jmd, proofread the main manual (THANKS).  His
  950. Xchanges are in the manual.
  951. X
  952. XFINAL 3.20 notes 59-65
  953. X
  954. X59. Expect/respond \M and \m implimented for SVR4.  The old \m
  955. Xmillisecond delay is now ~n[##].  See the procedure manual in the
  956. Xdescription of the expresp command.
  957. X
  958. X60. Further bugs with managing line chown/chmod fixed.
  959. XA directly specified line not managed by getty was not getting
  960. Xchowned back to uucp when the line was closed.
  961. X
  962. X61. Better syntax checking is done when reading Devices lines.
  963. X
  964. X62.  A bug in ecusz caused data transfer rate calculations to be
  965. Xwrong after any receiver ZRPOS ("nak") after the first one at
  966. Xtransfer startup.
  967. X
  968. X63.  A "Resume interrupted transfer" choice has been added
  969. Xto the interactive sz menu.  An equivalent -r switch was added
  970. Xto the sz procedure command.  Previously, you had to "just know"
  971. Xyou can sneak switches to the file transfer protocols by
  972. Xprefixing them to the file list.
  973. X
  974. XThere is still no clean way for the sz procedure command to set
  975. Xthe ZMODEM window size on sends other than the aforementioned
  976. Xtrick.  The thing to do here is
  977. X
  978. X    sz '-w 65536 file1 file2'
  979. X
  980. XThere is no foreseeable reason this hack will cease to work.
  981. XHowever, if I get 1.0001 requests, and I'll come up with something
  982. Xbetter.
  983. X
  984. X64.  The receiver process was being started too soon after a
  985. Xconnect resulting for a directory entry dial.  As a result,
  986. Xif ther remote began transmitting very soon after connect
  987. Xor if there was remaining modem dialog remaining bufferred
  988. Xin the tty driver, the CONNECT or [interactive mode] messsages
  989. Xcould have been intermixed with data from the line.
  990. XThis longstanding nuisance bug has finally been fixed.
  991. X
  992. X65.  The rtscts procedure command would take only on/off/yes/no
  993. Xalphabetic arguments.  Now it will accept numeric arguments
  994. Xlike its interactive equivalent.
  995. X
  996. X==========================================================================
  997. Xprior to x3.19
  998. X1992-04-19-thanks to jhpb@sarto.budd-lake.nj.us, 3.18.37 has ESIX SVR4 
  999. X1992-04-19-if TERM=ansi with WINDOWID, assume scoterm 
  1000. X1992-04-17-default tty, baud and parity moved to config.c 
  1001. X1992-04-17-fkey command has -r reset switch 
  1002. X1992-04-17-ecu.c-"default" keyset read if present 
  1003. X1992-04-17-ecufkey.c-initialize keyset to SCO "ANSI" send strings 
  1004. X1992-04-12-eculine.c-was not canceling alarm on lopen error 
  1005. X1992-04-09-ecugrabbag.c-cleanup new "bn" argument parsing 
  1006. X1992-04-05-ecuutil.c-no more use of memmove in any environment 
  1007. X1992-03-30-gendial/tbit.sync.h-add lbreak before wakeup 
  1008. X1992-03-30-gendial/gendial.c-add lbreak 
  1009. X1992-03-29-proc_error.c-build_err-creation from ecuerror.h 
  1010. X1992-03-29-eculine.c-put three second timer on lopen 
  1011. X1992-03-27-*.h-include protection for all .h files 
  1012. X1992-03-20-esd.h-max size of esd now 16384 
  1013. X1992-03-20-esdutil.c-esdstrcat will grow an esd 
  1014. X1992-03-20-config.c-correct XENIX tcap/tlib test thanks to tbetz 
  1015. X1992-03-17-eculine.c-optimize parameter 1 to select() 
  1016. X1992-03-10-ecutcap.c-quick sanity check on ttype features 
  1017. X1992-03-01-config.c-add -Wswitch to gcc compiles 
  1018. X1992-03-01-feval.c-come up to modern times ... enum for FI/FS  
  1019. X1992-03-01-ecucmd.h-come up to modern times ... enum for CT 
  1020. X1992-02-24-ecutcap.c-getenv COLUMNS not COLS 
  1021. X1992-02-22-ecuutil.c-build arg/str array now handles zero tokens 
  1022. X1992-02-22-kbdtest3.c-thank markd@phoenix.pub.uu.oz.au for typo fix 
  1023. X1992-02-16-ecu.c-add -P phonedir switch for rll@sco 
  1024. X1992-02-16-ecusighdl.c-turn off xterm_title + add _terminate.ep 
  1025. X1992-02-16-ecugrabbag.c-turn off xterm_title 
  1026. X1992-02-16-ecuDCE.c-turn off xterm_title 
  1027. X1992-02-16-ecu.c-turn off xterm_title 
  1028. X1992-02-14-feval.c-add uname 
  1029. X1992-02-13-ecu.h-when port to many time() can be int/long/time_t 
  1030. X1992-02-10-gendial/dceT2500.c-made it 1.5 years not setting S131 - then drat 
  1031. X1992-02-10-gendial/dceTBPlus.c-improved sync_Telebit 
  1032. X1992-02-10-gendial/dceT2500.c-improved sync_Telebit 
  1033. X1992-02-09-z/zcurses.c-ruling characters only on  SCO (tcap curses) 
  1034. X1992-02-07-ecuicmaux.c-fix incorrect log append/write notification 
  1035. X1992-02-06-config.c-depressing ... SCO keeps chging their minds 
  1036. X1992-02-04-ecuDCE.c-fix bug in kill_rcvr_process logic 
  1037. X1992-02-02-gendial/template.c-proper ordering of DCE_result entries 
  1038. X1992-01-29-ecu_types.h-creation 
  1039. X1992-01-29-ecu_stat.h-creation 
  1040. X1992-01-29-ecu_pwd.h-creation 
  1041. X1992-01-27-z/ecurz.c-more efficient fopen processing 
  1042. X1992-01-26-gendial-gendial 1.2 for ecu 3.20- better hangup 
  1043. X1992-01-21-afterlint.c-better handling of commented items with UNNAMED 
  1044. X1992-01-20-z/ecurz.c-ZMAPND works now 
  1045. X1992-01-18-hdbintf.c-use proctrace value for expresp_verbosity 
  1046. X1992-01-17-ecuDCE.c-.credit open to public 
  1047. X1992-01-12-pcmd.c-add autorz command 
  1048. X1992-01-11-ecuicmhelp.c-bug in help + F1 reverts to cat menu 
  1049. X1992-01-06-kbdtest3.c-much more error checking 
  1050. X1992-01-06-kbdtest3.c-eliminate sun stty - causes problems 
  1051. X1992-01-05-z/zcurses.c-properly display progress for resumed transfers 
  1052. X1991-12-24-fasi/digi-pc8.h-creation 
  1053. X1991-12-16-expresp.c-allow for backslash in expect and respond 
  1054. X1991-12-16-z/ecurz.c-support ZCRESUM 
  1055. X1991-12-15-ecushm.h-autorz and zmodem_asterisk_count added 
  1056. X1991-12-15-ecushm.c-autorz initialized 
  1057. X1991-12-13-ecuicmd.c-formalize bell notify 
  1058. X1991-12-13-ecugrabbag.c-add parse_bell_notify_argument 
  1059. X1991-12-13-ecugrabbag.c-add bell_notify_text 
  1060. X1991-12-13-ecushm.c-move bell_notify_state to shm 
  1061. X1991-12-12-pcmd.c-proctrace of intvar shows char value if 0-255 
  1062. X1991-12-12-eculine.c-lgetc_timeout can now return a null character 
  1063. X1991-12-02-ecupde.c-breakout into separate module 
  1064. X1991-12-01-dvent.h-new typedef for striuct dvent 
  1065. X1991-11-30-smap.c-smap conditional compilation reorg 
  1066. X1991-11-30-ecuicmd.c-smap conditional compilation reorg 
  1067. X1991-11-30-ecu.h-smap conditional compilation reorg 
  1068. X1991-11-28-ecupde.h-add dcdwatch 
  1069. X1991-11-28-ecuphdir.c-add dcdwatch option 
  1070. X1991-11-26-ecu.h-add shm->Ldcdwatch values 
  1071. X1991-11-26-eculine.c-add ldcdwatch_str 
  1072. X1991-11-26-ecu.h-add STR_CLASSIFY 
  1073. X1991-11-26-ecuutil.c-add str_classify and yes_or_no uses it 
  1074. X1991-11-20-ecuphdir.c-improve "Any" line handling on add or edit 
  1075. X1991-11-16-ecunumrev.c-better development "x" rev numbering 
  1076. X1991-11-16-proc.c-add pcmd_upon stub 
  1077. X1991-11-16-proc.c-add proc_dcdloss_handler 
  1078. X1991-11-16-ecucmd.h-add upon + rearrance pcmd_... decls 
  1079. X1991-11-16-proc.c-calloc pcb instead of malloc 
  1080. X1991-11-16-proc.h-add upon_dcdloss 
  1081. X1991-11-15-hdbintf.c-SCO tty naming now observed in getdvline 
  1082. X1991-11-13-ecu.h-use if __STDC__ instead of defined(__STDC__) 
  1083. X1991-11-12-ecushm.c-remove obsolete shmx_rc_report 
  1084. X1991-11-11-ecu.h-redefinition of Ltermio's place in life 
  1085. X1991-11-11-eculine.c-ldcdwatch and lCLOCAL code 
  1086. X1991-11-11-ecushm.h-add Ldcdwatch and Ltiobuf 
  1087. X1991-11-11-ecushm.c-shmr_notify_xmtr_of_DCD_loss 
  1088. X1991-11-11-pcmd.c-add pcmd_dcdwatch code 
  1089. X1991-11-11-eculine.c-lzero_length_read code 
  1090. X1991-11-11-ecucmd.h-add dcdwatch 
  1091. X1991-11-11-ecurcvr.c-lzero_length_read code 
  1092. X1991-11-11-ecurcvr.c-add LIMIT_BELL code 
  1093. X1991-11-08-utmpstat.c-bug in strcmpi made for erratic return value 
  1094. X1991-11-07-ecuDCE.c-tmcsys!lothar-alternate OK string for built-in dialer 
  1095. X1991-10-24-ecumon/xecumon.c-SEND_KEYS separated from AITEST 
  1096. X1991-10-17-config.c-add can_pipe code 
  1097. X1991-10-09-pcmd.c-add -p and -v switch to send 
  1098. X1991-10-09-pcmd.c-proctrace code for send 
  1099. X1991-10-09-expresp.c-bad llookfor echo argument 
  1100. X1991-10-04-ecuicmd.c-reset proc_interrupt before interactive pcmd 
  1101. X1991-09-25-ecuchdir.c-fix seg viol in popd w/o argument on Sun 
  1102. X1991-09-25-ecufork.c-find_executable flunks directories now 
  1103. X1991-09-25-ecuxfer.c-flexible C-Kermit filename 
  1104. X1991-09-17-ecuxfer.c-restore console termio after xfer prog runs 
  1105. X1991-09-06-ecufork.c-expand_wildcard_list minor bug 
  1106. X1991-09-03-ecuxkey.h-alt-[a-z] starts w/0xE1: crisp compatibility 
  1107. X1991-09-03-timetest/naptest2.c-make part of suite 
  1108. X1991-09-03-timetest/naptest3.c-creation 
  1109. X1991-09-03-timetest/seltest.c-creation 
  1110. X1991-09-03-ecugrabbag.c-sigint rearrangement in send_get_response 
  1111. X1991-09-03-config.c-iron out sun gcc options 
  1112. X1991-09-02-z/zcurses.c-show sun driver information 
  1113. X1991-09-01-pcmd.c-baud cmd can set rate even if no line open 
  1114. X1991-09-01-ecucmd.h-add setline 
  1115. X1991-09-01-ecucmd.h-add setline 
  1116. X1991-09-01-pcmd.c-add setline 
  1117. X1991-09-01-config.c-show package and config versions 
  1118. X1991-09-01-hdbintf.c-generalize HDB configuration files location 
  1119. X1991-09-01-config.c-generalize HDB Devices, etc. files location 
  1120. SHAR_EOF
  1121. chmod 0644 HISTORY ||
  1122. echo 'restore of HISTORY failed'
  1123. Wc_c="`wc -c < 'HISTORY'`"
  1124. test 30872 -eq "$Wc_c" ||
  1125.     echo 'HISTORY: original size 30872, current size' "$Wc_c"
  1126. rm -f _shar_wnt_.tmp
  1127. fi
  1128. # ============= OLD-HISTORY-1 ==============
  1129. if test -f 'OLD-HISTORY-1' -a X"$1" != X"-c"; then
  1130.     echo 'x - skipping OLD-HISTORY-1 (File already exists)'
  1131.     rm -f _shar_wnt_.tmp
  1132. else
  1133. > _shar_wnt_.tmp
  1134. echo 'x - extracting OLD-HISTORY-1 (Text)'
  1135. sed 's/^X//' << 'SHAR_EOF' > 'OLD-HISTORY-1' &&
  1136. XANCIENTHISTORY - Revision History for ECU
  1137. X-----------------------------------------
  1138. X
  1139. XChanges and fixes since 'unet1' alt.sources release:
  1140. X
  1141. X1. The uucp lock file code has been upgraded.  When I added uucp dialer
  1142. Xsupport a while back, I just hacked the necessities needed for
  1143. XecuLCK.c and put the new code into hdbintf.c.  Also, I don't try
  1144. Xto create two lock files anymore because there is no need.
  1145. X
  1146. X2. In esdutil.c, skip_paren could return a wrong error code.
  1147. X
  1148. X3.  ctype.h style integer functions were added to the procedure
  1149. Xlanguage: %isalnum, %isalpha, %isascii, %iscntrl, %isdigit, %isgraph,
  1150. X%islower, %isprint, %ispunct, %isspace, %isupper and %isxdigit.
  1151. X
  1152. X4. Logical operators were added to the ifi, ifs, whilei and whiles
  1153. Xsyntax, making possible:
  1154. X   ifi $i0 ==5 || %i30 == 6
  1155. X       statement(s)
  1156. XThis still ain't perl, but things are a little better.
  1157. X
  1158. X5.  %right() was broken.  strfunc_right() in feval.c returned a random
  1159. Xerror code on success.
  1160. X
  1161. X6.  A copy of the screen as received from the line is now kept in shared
  1162. Xmemory.  Three new functions use this feature: integer functions %curx
  1163. Xand %cury and string function %screen().  There are limitations, so read
  1164. Xthe appropriate manual sections.
  1165. X
  1166. X7.  Since some program may want to use the shared memory segment to read
  1167. Xthe screen, the shared memory segment is no longer RMID'd as soon as it
  1168. Xis created.  The integer function %shmid returns the shared memory
  1169. Xsegment id for passing to a called program.  Many other interesting
  1170. Xthings are kept in shared memory to enable efficient use of auxiliary
  1171. Xprograms.  See echshm.h and ecufriend/ecufriend.c.
  1172. X
  1173. X8.  Procedure tracing of string variable assignment prints "unprintable"
  1174. Xcharacters in the style of '^A' rather than clobbering your screen.
  1175. X
  1176. X9.  kill_rcvr_process is better at terminating the receiver process.
  1177. X
  1178. X10.  Screen dumps having extra repeated lines at the bottom won't happen
  1179. Xany more.  (The restarted rcvr process was getting a copy of the stdio
  1180. Xbuffers to flush too :-/).
  1181. X
  1182. X11.  By modifying the mapkey file to return certain codes for ALT-A
  1183. Xthrough ALT-Z, it is possible to have 26 procedures (named
  1184. X'alt_[a-z].ep') to execute "silently" by pressing one key (OK, two keys:
  1185. XALT and a-z).  See mapkeys/README, /usr/lib/keybord/keys and mapkey(ADM).
  1186. X
  1187. X12.  The receiver was not getting properly informed when the parity of
  1188. Xthe line was changed with the interactive or procedure parity command.
  1189. XSo it could improperly mask or fail to mask incoming characters.
  1190. X
  1191. X13.  The crypt library is no longer required.  Indeed, the default is
  1192. Xnot to use crypt.  The paranoia required for "safe" big systems is not
  1193. Xalways warranted on smaller PCs.  You can still get extra protection
  1194. Xagainst false ecuungetty action by using crypt if you want (and in the
  1195. Xcase of non-USA user, if you CAN).
  1196. X
  1197. X14.  A running count is displayed on the screen of the number of files
  1198. Xskipped during a ZMODEM transfer.
  1199. X
  1200. X15.  You can now specify the colors used by ecu when it makes an
  1201. Xinternal choice to change colors.  See ecu.man.
  1202. X
  1203. X16.  UNIX, thanks to POSIX, is loathe to accept a filename of greater
  1204. Xthan 14 characters when creating a file.  The XMODEM, YMODEM and
  1205. XZMODEM file receive protocols have been modified to truncate long
  1206. Xfilenames.  A patch to UNIX libsys.a to put the POSIX people back in
  1207. Xtheir place has been floating around the net.
  1208. X
  1209. X--------------------------------------------------------------------
  1210. X
  1211. XChanges and fixes since '2.10' patch level 6:
  1212. X
  1213. X1.  The nap procedure command has an additional feature, the -m
  1214. X    switch.  -m specifies the <int> parameter is a period of
  1215. X    milliseconds to suspend execution.  Without -m, <int> is
  1216. X    tenths of seconds.
  1217. X
  1218. X    nap 2 suspends execution .2 seconds
  1219. X    nap -m 250 suspends execution 250 milliseconds.
  1220. X
  1221. X
  1222. X--------------------------------------------------------------------
  1223. X
  1224. XChanges and fixes since '2.10' patch level 7:
  1225. X
  1226. X1.  added rname procedure command to allow overriding connected
  1227. X    remote name.
  1228. X
  1229. X2.  improve banner at top of session log file
  1230. X
  1231. X3.  add popen and pclose procedure commands
  1232. X
  1233. X4.  Added facility for restoring receiver display after the
  1234. X    interactive help command, or on demand using the BkTab key
  1235. X    (shift TAB).
  1236. X
  1237. X5.  fix bug whereby partial function names could be enetered
  1238. X    (e.g., '%col', '%colo', '%color' all recognized for '%colors').
  1239. X
  1240. X6.  Add the %mhack integer function, returning the life of the
  1241. X    ecu process in milliseconds.  (added mhack_test.ep to models)
  1242. X
  1243. X7.  A better representation of the received screen is kept in
  1244. X    shared memory.
  1245. X
  1246. X8.  The X, Y and ZMODEM transfer screens show per-file elapsed
  1247. X    time transfers as well as session elapsed time.
  1248. X
  1249. X9.  A modified TBIT UUCP dialer, IMHO highly optimized, is is the
  1250. X    uucp directory.
  1251. X
  1252. X10. A bug in automatic creation of string variables was fixed.
  1253. X
  1254. X11. Certain endless loops in procedure execution could not be
  1255. X    interrupted.
  1256. X
  1257. X--------------------------------------------------------------------
  1258. X
  1259. XChanges and fixes since '2.72'
  1260. X
  1261. X1.  The 'expresp' procedure command has been added:
  1262. X    usage: expresp [-v[v...]] <exp-resp-str> [<timeout_msecs>]
  1263. X    a.  -v turns on script debugging
  1264. X    b.  multiple v's (e.g., -v -vv, -vvv) up to 3 'v's produce
  1265. X        more verbose debug output
  1266. X    c.  <exp-resp-str> is as defined in /usr/lib/ecu/Dialers:
  1267. X        Meaning of some of the escape characters:
  1268. X        \p - pause (approximately 1/4-1/2 second delay)
  1269. X        \d - delay (2 seconds)
  1270. X        \D - phone number/token
  1271. X        \T - phone number with Dialcodes and character translation
  1272. X        \N - null byte
  1273. X        \K - insert a BREAK
  1274. X        \E - turn on echo checking (for slow devices)
  1275. X        \e - turn off echo checking
  1276. X        \r - carriage return
  1277. X        \c - no new-line
  1278. X        \n - send new-line
  1279. X        \nnn - send octal number
  1280. X        Speed - Hayes-specific speed-adaptive connect handler
  1281. X    d.  <timeout_msecs> specifies the optional delay for waiting
  1282. X        on expect strings;  it defaults to 10 seconds; the timeout
  1283. X        for 'Speed' expects is fixed at 90 seconds
  1284. X
  1285. X2.  Added partial support for HDB Dialers scripts
  1286. X    a.  \E echo checking is not actually performed, but
  1287. X        essentially the same effect is achieved by pacing
  1288. X        output to the modem
  1289. X    b.  The Speed expect string works only for modems
  1290. X        which return "CONNECT xxxx" connect result codes.
  1291. X    c.  Modems which return status codes during dialing, such
  1292. X        as the Trailblazer RRING, will cause Speed processing
  1293. X        to fail. Fortunately, RRING can be disabled (you should use 
  1294. X        the dialTBIT program anyway)
  1295. X    d.  the timeout for non-Speed expects is 10 seconds
  1296. X    e.  the timeout for 'Speed' expects is 90 seconds
  1297. X
  1298. X
  1299. X3.  Note, the SCO HDB documentation states that a dialer
  1300. X    program may be specified by either a complete pathname
  1301. X    or a partial pathname in /usr/lib/uucp.  Ecu requires a
  1302. X    complete pathname.
  1303. X
  1304. X4.  The string functions %dayz, %monthz, %datez, %timez and %timesz
  1305. X    have been added to retreive UTC (Z) date and time values.
  1306. X
  1307. X5.  If no dialing action results from a visit to the dialing directory,
  1308. X    the previous receiver screen contents is redisplayed.
  1309. X
  1310. X6.  The 'P' option to the 'fi' (file insert) interactive command
  1311. X    has been added.  In this mode, the file is sent character-by-
  1312. X    character to the line with 20 milliseconds pacing between each
  1313. X    character.
  1314. X
  1315. X7.  Previously, if you started ecu on an HDB machine and no line was
  1316. X    available at the specified (or default) baudrate, ecu would exit
  1317. X    with an error message.  The workaround was to explicitly state the
  1318. X    desired device with a -l argument.  The error (now as a warning) is
  1319. X    still printed, but the setup screen or initial procedure is allowed
  1320. X    to execute with tty1a forced to be the line (though this will likely
  1321. X    fail if tty1a is in Devices since ecu has already determined tty1a
  1322. X    is busy).
  1323. X
  1324. X8.  When a string is requested from the keyboard, the Cursor Left,
  1325. X    Cursor Right and Ins keys are functional, allowing editing of the
  1326. X    string.  Pressing Ins toggles insert mode.  In non-curses modes,
  1327. X    (e.g., after HOME pressed and before Enter) ^L (or ^R) displays the
  1328. X    insert mode state and redisplays the string, after which editing may
  1329. X    continue.
  1330. X
  1331. X9.  Though not appearing on the help line, the cursor up and cursor down
  1332. X    keys work in the dialing directory in a fashion similar to 'u' and 'd',
  1333. X    respectively.
  1334. X
  1335. X10. Warning: using vidi(C) to change the screen configuration while
  1336. X    ecu is running, (e.g. Home !vidi xxx) can cause the ecu to later
  1337. X    fault and dump core.  Why this occurs is not known yet.
  1338. X
  1339. X11. After pressing Home, pressing it again gives you access to a 
  1340. X    command history mechanism.  Pressing cursor up and cursor down
  1341. X    while in this mode causes less and more recent commands to be displayed.
  1342. X    You can use Ins, Cursor Left, Cursor Right and Backspace, ^L/^R to
  1343. X    edit the old entry as desired, and then press Enter. (see #8 above).
  1344. X    Users of ksh will find this a familiar feature.
  1345. X
  1346. X--------------------------------------------------------------------
  1347. X
  1348. XChanges and fixes since '2.80'
  1349. X
  1350. X1.  It was not possible to interrupt the built-in modem dialer
  1351. X    modem initialization sequence.  SIGINT will do it now.
  1352. X
  1353. X2.  A Zmodem window size may now be specified when sending files.
  1354. X    The file transfer status screen shows the number of unacknowleged
  1355. X    bytes which have been sent.  If full streaming is allowed (window
  1356. X    size of zero), then this size will match the file position until
  1357. X    the transfer is complete or the receiver sends a ZRPOS.
  1358. X
  1359. X3.  Output generated by procedures is now written to any active receiver
  1360. X    log file in addition to any active procedure log file.
  1361. X
  1362. X4.  Just a note: on 286 systems you make have to use makeL, since
  1363. X    make is a small model (medium?) and makeL is a large model
  1364. X    program.
  1365. X
  1366. X5.  The dependency of eculine.c on sys/select.h has been removed.
  1367. X    If you re-'make depend', you probably won't have this problem
  1368. X    show up again (a side effect of make depend is that it misses
  1369. X    '# include' and I have patched eculine.c to use this).
  1370. X
  1371. X6.  A new command, xon, has been added (both interactive and procedure
  1372. X    versions).  The format is:
  1373. X         xon <arg>
  1374. X    where <arg> is on    input and output flow control
  1375. X                   off   no flow control
  1376. X                   in    input flow control
  1377. X                   out   output flow control
  1378. X    If <arg> is omitted from the interactive command, the current
  1379. X    flow control status is displayed.  This command is documented in
  1380. X    the patched built-in help file and nroff txt files, but no pre-
  1381. X    printed manual changes were issued with this release.
  1382. SHAR_EOF
  1383. true || echo 'restore of OLD-HISTORY-1 failed'
  1384. fi
  1385. echo 'End of ecu320 part 2'
  1386. echo 'File OLD-HISTORY-1 is continued in part 3'
  1387. echo 3 > _shar_seq_.tmp
  1388. exit 0
  1389.  
  1390. exit 0 # Just in case...
  1391.