HISTORY 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878
  1. ============= Changes for ECU 3.20 =======================================
  2. last revised Sat Aug 22 15:29:11 EDT 1992
  3. "But in our enthusiasm, we could not resist a radical overhaul of
  4. the system, in which all of its major weaknesses have been
  5. exposed, analyzed, and replaced with new weaknesses." -- Bruce
  6. Leverett 'Register Allocation in Optimizing Compilers'
  7. 1. new commands (procedure and interactive)
  8. a. autorz
  9. b. dcdwatch
  10. 2. dial command reworked
  11. a. new sub menu for entry add/edit
  12. b. phone number size increased from 25 to 40 characters
  13. (some modems limit input string size to 40 characters total
  14. excluding AT and trailing CR)
  15. c. Trailing dollar sign '$' appends ~/.ecu/.credit to dialled number:
  16. .credit has:
  17. ,,,167167002
  18. Home dial 1234 sends to modem
  19. 1234,,,167167002
  20. 3. help cmd improved: you can stay in a category and ask
  21. for help with multiple commands and use F1 to return to
  22. category menu.
  23. 4. Major rework inside to reduce but not eliminate the likelihood
  24. the chances ecu will abnormally terminate when the dial command
  25. needs to change to a new line and the new line is not available.
  26. If the new line is busy (in use by another dialout or login),
  27. the request to change is rejected and the old line is retained,
  28. the program survives. If the new line is unavailable because
  29. of other reasons (read/write denied [chmod] for instance), ecu still
  30. dies. hopefuly this will all be handled by the time of release.
  31. 5. jhpb@sarto.budd-lake.nj.us added preliminary support for ESIX SVR4
  32. and I added the necessary switches to config.c. Now, -DISCSVR4
  33. is used for ISCSVR4, -DESIXSVR4 for ESIX and -DSVR4 for "any" SVR4.
  34. 6. The "kbdtest" interactive command has been cleaned up enough
  35. for general use. I hacked it in for debugging early on.
  36. Now it is documented well enough for general use in funckeymap debugging.
  37. 7. -P command line switch added for selecting a phone directory other
  38. than the default ~/.ecu/phone. Use -P fullpath.
  39. 8. Any usage error (bad command args) resulted in the death of ecu's
  40. process group. This provided great incentive to invoke the program
  41. properly, but in this modern day, you are not allowed to discipline
  42. the students :-).
  43. 9. An experimental feature has been added to ecuungetty.
  44. If it is compiled with -DECUUNGETTY_CHOWN, it will perform
  45. chown and chmod operations on the line.
  46. When the line is acquired, its ownership is set to the real uid
  47. of the ecu user, its group id to the group id of the process, and
  48. its mode to 622. This is what happens to xterm ptys.
  49. When the line is released, its ownership is set to uucp
  50. of the ecu user, its group id to uucp, and its mode to 640.
  51. This is what SCO uugetty does when it starts on a line.
  52. You can experiment with this feature by
  53. a. placing the line
  54. LOCAL_CFLAGS = -DECUUNGETTY_CHOWN
  55. in the file `config.local' in the distribution base directory.
  56. b. Configure or ./config
  57. c. remake and reinstall
  58. *You* must decide if this is appropriate for you. The tradeoff
  59. is between having 666 ttys and having a program which a diligent
  60. hacker could use to change any file in the system to his
  61. ownership. You really should look at bamboozle.c and judge
  62. what level of protection you want to use. If you are on
  63. a sensitive installation (like you .gov or .mil guys),
  64. you might not want to do it. Any suggestions for improvement
  65. or additional security. I thought about pathname checking,
  66. st_dev and st_rdev checking and the like, but nothing simple
  67. and portable has come to mind.
  68. 10. From 31840 patch 5,
  69. By the time ECU actually attempts an line open, enough previous
  70. context has been lost that the program cannot recover if the open
  71. fails. I have always made several checks to try and eliminate
  72. such occurrences. Now, at least for SCO lines in utmp, the
  73. chances of failure are virtually eliminated.
  74. This patch goes with patch 4 to extend the benefits of ecuungetty
  75. chown. If ecuungetty chown is enabled and this patch is
  76. installed, we get reduced likelihood of ecu terminating
  77. abnormally when switching comm lines or when selecting the first
  78. line of the session.
  79. Line access is checked if it is not found in utmp to see if
  80. an open would fail.
  81. SCO uugetty does not always put anything in the ut_line field
  82. of its utmp entry. However, a de facto convention exists for
  83. making an inittab id field with the last two characters
  84. matching the last two characters (the only unique characters)
  85. of SCO-style comm line names. This patch causes such a check
  86. to be made, increasing the likelihood of getting a utmp match
  87. Two new files have been added to this distribution:
  88. dutmp.c cc -o dutmp dutmp.c dumps the utmp; a cheap who -a
  89. README.3.2v4 a brief blurb related to EAFS file names
  90. ecu 3.19.00 patch 1 - notes 11-15
  91. 11. The maximum screen geometry is now 85x80 instead of 43x80.
  92. Columns must be 80. Lines must be > 20. Lines
  93. in excess of 85 will be accepted, but ECU will be unable to
  94. maintain a correct screen display if any scrolling occurs.
  95. 12. A Nap() bug (used by the procedure nap command as well as
  96. internal functions) could cause the program to hang if napping
  97. was to occur when a receiver or child process terminated. This
  98. only occurred on systems with -DWORKING_SELECT: SunOS, the SVR4s,
  99. ISC 2.2, for instance.
  100. 13. Remaining program identifiers containing the string "nonansi.*key"
  101. were renamed to use "funckeymap".
  102. 14. On systems with reliable predefines in their native compiler,
  103. (SCO -DM_SYSV, SunOS -Dsun), Configure guesses at a default answer
  104. for the first question.
  105. 15. The End key may now be used to finish adding or editing
  106. a dialing directory entry.
  107. ecu 3.19.00 patch 2 - notes 16 - 18
  108. 16. Yet more work on the ecuungetty scheme. ungetty acquisition
  109. not attempted early enough for "enabled but idle" lines
  110. 17. A few patches back, I forgot to note %conn will now return
  111. -1 if no line is open. Previously it returned 0 in this case.
  112. Now -1 means no line open, 0 means line open but no connection,
  113. >0 is the line file descriptor for the line in an active
  114. connection.
  115. 18. The Nap() fixes of the last patch prevented ecurz/ecusz/ecusea
  116. from compiling. Sorry.
  117. From full release 3.19.05
  118. 19. A preliminary T3000 dialer has been added to the gendial
  119. package. This modem's future is plastic and the dialer, like
  120. all gendial programs, is just a starting point. Gendial is
  121. provided and I don't have a lot of time to support the zillions
  122. of conflicting idiosyncratic options folks want. With that
  123. spew spewed, most of them work fairly well. Documentation :-) ?
  124. 20. A side effect of getting the T3000 was that *I* got to play
  125. with ECU on a Sun. This is quite fortunate, since ECU was purportedly
  126. ported many CPU cycles ago. The Nap() problem has finally been
  127. put to bed... (he said).
  128. From 3.19.05 patch 1 (making 3.19.06) notes 21-24
  129. 21. The lCLOCAL() code and its users form the chassis upon
  130. which the DCD watcher is based. It appeared to work on the
  131. SCO box, but caused problems on SunOS that were difficult to
  132. find. Thanks to Mark Ashton, n4hgf!ifsbd!cma, this problem
  133. is history. Many mysterious "hangs" came from a trap
  134. you could fall into on *any* implimentation other than SCO UNIX.
  135. CLOCAL doesn't appear to work the same on SCO 3.2.? as XENIX
  136. and SunOS. I think tbetz@upaya.panix.com will be happy
  137. with this news.
  138. 22. cma also discovered that if you have multiple Devices entries
  139. for a line to pick up specific Dialers scripts or dialer programs,
  140. say:
  141. ACU ttya - 2400 t3000-2400
  142. ACU ttya - 9600 t3000-v32
  143. ECU would always pick the first one (disregarding baud rate).
  144. This is fixed now.
  145. Now, if you dial with a directory entry using a /Devices-type or
  146. =devices-type specification for tty, then *that specific* Devices
  147. entry is used to choose the dialer program or Dialers script. If
  148. no directory entry is involved or the directory entry specifies
  149. "Any" or a specific line, then Devices is searched for the first
  150. entry matching both the current line and the current baud rate.
  151. A note aside: SCO Devices entries appear to me to have a syntax
  152. extension not found in all HDB systems. The baud rate
  153. field allows a range of baud rates, like:
  154. ACU tty1A - 110-2400 /usr/lib/uucp/dialgHA24
  155. ECU supports this syntax, but your uucico may not.
  156. 23. models/funckeymap updated with my dual-purpose Sun/SCO
  157. funckeymap/.Xdefaults configuration.
  158. 24. cmostime4 has been included for SCO users (and many hackers)
  159. From 3.19.05 patch 2 (making 3.19.07) notes 25
  160. 25. Dialing directory subform data entry formerly had two
  161. input schemes: on input, you were cajoled into going through
  162. fields one at a time until you reached the end of the form, whereupon
  163. ECU would take away the input form. On the other hand, when editing
  164. an entry, you were free to cycle through the fields "a la modulo"
  165. in either direction.
  166. Now, both input modes allow liberal cycling. Pressing the END key
  167. signals your acceptance of the entry. Pressing ESCape in input
  168. mode aborts the new entry process. Pressing ESCape in edit mode
  169. behaves exactly like the END key except that any edits made since
  170. the cursor entered the current field are discarded..
  171. From 3.19.10 - notes 26-27
  172. 26. more internal cleanup
  173. 27. robertle@sco.com (Robert Lewis) noted that putting the phone number
  174. on log files and screen dumps is a security risk. Why protect
  175. ~/.ecu when the phone numbers are plastered everywhere. No
  176. more banners.
  177. From 3.19.11 - whoops didn't keep track
  178. 28. ecuungetty chown fixes and miscellaneous cleanup
  179. From 3.19.12 - notes 29
  180. 29. Added use of ECUFUNCKEY environment variable to override TERM
  181. when loading funckeymap.
  182. 3.19.13 internal rev (just superstitious :->)
  183. 3.19.14 - notes 30
  184. 30. Made changes for SCO 3.2v4/ODT 2.0:
  185. a. pids are now shorts
  186. b. getty sets "DIALOUT" on its own
  187. 3.19.15 - notes 31
  188. 31. ECUUNGETTY_CHOWN now a semi-permanent feature. It can
  189. still be turned off by editing config.c or Makefiles. It
  190. is just too good not to have it in.
  191. 3.19.16 - notes 32-37
  192. 32. cmostime4 backed out of distribution; if you want it, ask me
  193. 33. Direct phone numbers longer than 10 characters got doubled in
  194. one instance. Thanks to felton!rll for pointing this out.
  195. 34. Good news! -DWORKING_SELECT can be and is now used for
  196. 3.2v4; as a side effect, the Nap() wrapper/surrogate is now in
  197. nap.c and all the several Nap() functions in ecusea.c, zcommon.c
  198. and gendial.c have been removed.
  199. Also, if -DWORKING_SELECT is used, Nap() uses ftime() instead of
  200. gettimeofday(). Adding -DUSE_GETTIMEOFDAY will return to the
  201. old usage. This latter note is for porters, since all currently
  202. supported systems have ftime() and several lack gettimeofday().
  203. 35. More work has been done on SCO utmp/Devices automatic tty selection
  204. has been done. I apologize for the long chain of half-fixes. Once
  205. again, I think it is fixed. This time I REALLY believe it :-).
  206. For sure, you should no longer find your /dev/tty chown()'d to uucp.
  207. 36. SCO multiscreen color escape sequences from the remote were
  208. being filtered as if ECU were running on a non-multiscreen. Now,
  209. if you use ECU on an SCO multiscreen, the full set of ECU escape
  210. sequences, including color, again work as specified in the
  211. manual. Thanks to tps@jptcs.com for pointing this out. This bug
  212. crept in when I reorganized keyboard management
  213. (nonansikeys->funckeymap).
  214. 37. The ecuungetty chown feature is on permanently. I added
  215. quite a few security/safety checks to make sure some bug or
  216. another will not make the privileged ecuungetty go wild.
  217. 3.19.17 - notes 38
  218. 38. The hz/hzmsec needed by nap.c was not being provided,
  219. calculated by ecusea.c, ecu[rs]z.c and gendial.c.
  220. 3.19.18 - notes 39
  221. 39. I had started using <sys/time.h> if 3.2v4. 3.2v4 only has
  222. <sys/time.h> if the TCPRT package is installed . Basic 3.2v4 does
  223. not have it at all. So, we'll use <time.h> and <sys/select.h> just
  224. like before. Thanks for the report go to robertle@sco.com.
  225. 3.19.19 - notes 40-44
  226. 40. Added support for 3.2v4 CRTSFL.
  227. Now for SCO, rtscts command arguments:
  228. usage: rtscts [ off | on | no | yes | 0..7 ]
  229. argument | RTSFLOW | CTSFLOW argument | RTSFLOW | CTSFLOW | CRTSFL
  230. ---------+---------+--------- ---------+---------+---------+--------
  231. off | 0 | 0 0 | 0 | 0 |
  232. on | 0 | 1 1 | 0 | 1 |
  233. no | 0 | 0 2 | 1 | 0 |
  234. yes | 0 | 1 3 | 1 | 1 |
  235. 4 | 0 | 0 | 1
  236. Choice 4 only works on SCO 3.2v4 and ODT 2.0.
  237. As you can see, numeric values are masks.
  238. If the 4 bit is present in the numeric value, it
  239. overrides the lower-order bits: Specifying 7 as an argument
  240. specifies CRTSFL is to be used if it is supported, otherwise
  241. RTSFLOW and CTSFLOW.
  242. The interactive help and iteractive and procedure command
  243. documentation has been updated. I added to README.RTSCTS
  244. some illuminating comments by chip@tct.com (Chip Salzenberg).
  245. It was seeing this article that brought CRTSFL off the todo
  246. list and into the code.
  247. 41. Warnings about not using ^\Z in Kermit transfers (^Z suspend)
  248. were added to the 'sk' and 'rk' interactive and procedure commands.
  249. 42. This fix went into 3.19.16 but I forgot to note it: color
  250. sequences sent to ECU on a multiscreen console were not being
  251. passed to the driver. Now they are.. I only know of color
  252. working on SCO.
  253. 43. Changes to make_dirs() was needed to handle making
  254. directories with pathname components which are symbolic links
  255. (possibly on a read-only file system).
  256. 44. The DCD watcher did not work if you use SCO sio. I have
  257. been using FAS and forgot a a fact about SCO sio: to toggle
  258. CLOCAL meaningfully, you must open the modem (e.g. tty2B) rather
  259. than the direct (tty2b) file. On SCO systems, if the tty filename
  260. has a digit+letter as the last two characters, ECU will
  261. force the lower case (direct) version to be used. 3.19.19 opens
  262. the upper case (modem) device, but continues to store
  263. and display tty names in their lower case version.
  264. 3.19.20 - notes 45-46
  265. 45. Somewhere in the lifetime of .19, I sent a copy to a guy.
  266. This revision bump is just to keep from having different
  267. versions called .19 out the door.
  268. 46. On 3.19.17/18, there were various reports of hangs on line
  269. close, hang up, or HOME prompt when using 3.2v2. I cannot
  270. reproduce any of these errors. Please get and send me this
  271. information for me the next time it happens to you:
  272. Install ecu, but execute the ecu built in the distribution directory.
  273. a. Is the receiver process active (two ecu processes active)?
  274. b. The ecu transmitter process will either be the only ecu
  275. process or the oldest. Kill -4 the transmitter process and move
  276. the core file to the distribution directory if you 'cd'ed in ecu.
  277. You may have to type ^Jstty sane^J on the console it failed on
  278. (expect no echo) to restore the console to something usable. This
  279. may not reinstate your choice of character delete, line kill, etc.
  280. c. do 'sdb ecu |& tee sdb.log'
  281. d. do 't', then 'q'
  282. e. repeat the failing scenario if you found the receiver process
  283. alive in step a. If so, repeat a-d above, but this time kill
  284. the receiver process and do 'sdb ecu |& tee -a sdb.log'
  285. f. Guess. (mail me the sdb.log) with a description of
  286. 1) the OS
  287. 2) any non-vendor serial driver
  288. 3) what was going on when it failed (in 100 words or more :-> )
  289. 3.19.21 - notes 47-49
  290. 47. The UNIX sio driver may generate a SIGTTOU upon execution of
  291. certain ioctl() functions, namely, XCSETA, XCSETAF, XCSETAW,
  292. TIOCSPGRP, TCSBRK, TCFLSH, and TCXONC. My ignorance caused the
  293. last few revisions to hang for many upon closing a line or upon
  294. performing miscellaneous operations like sending a break. All
  295. ecu executables now set job control signals to SIG_IGN. I hope
  296. this fixes the problem. (Job control is not supported at this
  297. time.)
  298. 48. config.c has been returned to normal compilation (no -g).
  299. I shipped an alternate config.c "out of turn" after 3.19.20.
  300. Some may have installed it, some not. Therefore, unsharing
  301. this patch replaces any config.c you may have in place.
  302. 49. The -F switch was added to the command line arguments:
  303. The new manual section titled "-F path":
  304. Normally, the $TERM environment variable is used to
  305. determine the funckeymap entry (keyboard configuration)
  306. to be used. Sometimes, the $TERM variable is not
  307. adequate for identifying your keyboard arrangement.
  308. The -F switch, like the $ECUFUNCKEY environment
  309. variable, allows you to use override the funckeymap
  310. entry used. For more information, see the section
  311. titled "Function Key Mapping (Recognition)".
  312. 3.19.22 - notes 50-52
  313. 50. This note is only of interest to SCO users.
  314. Previous revisions of SCO were lenient on the user in the choice
  315. of the direct or modem tty device. You could specify either
  316. type and ecu would force the one it thought appropriate.
  317. Users of ecu under other operating systems have always had to
  318. specify the correct name.
  319. If you have time, I'd love feedback on what part of the manuals
  320. I have missed updating with the new paradigm.
  321. Since there are several types of async drivers and we want
  322. to support them, ecu can no longer make a choice for you.
  323. I did radical surgery on the "SCO tty naming" logic. As it
  324. stands nowu, on SCO, the tty you specify in a dialing entry is the exact
  325. tty name opened. The convention of using a lower-case lock name
  326. is still observed. Also, both senses are searched for in utmp
  327. for conflict determination. ecuungetty chown()/chmod() both
  328. device file names.
  329. However, your choice of which line type (line placed in tty field
  330. of a directory entry or the tty field of the setup form) depends
  331. upon the driver you are using:
  332. sio modem /dev/tty1A
  333. fas direct /dev/tty1a
  334. I don't know about others. Tell me.
  335. Notes:
  336. a. An sio direct line ignores setting of CLOCAL (no DCD watcher)
  337. and lacks support for hardware flow control.
  338. b. Opening the fas modem line causes various forms of conflict
  339. resulting in EBUSY being returned by fas for an ecu open or
  340. a dialer program open.
  341. For now, this is meaningful only on SCO. In the future, perhaps,
  342. we'll manage an installation-dependent table of what line names
  343. refer to the same device and which are modem, direct, etc.
  344. e.g.,
  345. #line_to_use:modem:direct:others:comment
  346. tty1A:tty1A:tty1a::sio
  347. tty1a:tty1A:tty1a::fas
  348. acu0:acu0:ttya,ttyd0:SunOs
  349. This would re-automate SCO tty line type choices and add it anew
  350. for others. Then, ecu could for the first time on non-SCO (and
  351. SCO naming to boot) search for all possible lock files and utmp
  352. entries. What do you think? Yes, one more damn configuration file
  353. to hack on.
  354. 51. ecusz, ecurz and ecusea are now placed in the ecu library directory
  355. (usually /usr/locsal/lib/ecu). This is a more appropriate place
  356. since it is meaningful only for ecu to execute them. Kermit or ckermit
  357. is still searched for through $PATH. Remove any old ecurz, ecusz
  358. and ecusea executables from your locsl bin directory.
  359. 52. I'm sorry the preformatted manuals you have been getting
  360. were malformed. The new Makefile in doc failed to supply -mm !
  361. BETA 3.20.01 notes 53-58
  362. 53. There is still one installation where /dev/tty is getting
  363. incorrectly chown/chmoded. There are now three brute-force
  364. tests for an attempt at this (up from two). The bug
  365. hasn't been fixed, but we ought to know how it happens
  366. this time around.
  367. 54. The procedure and interactive command fkmap has been added:
  368. Usage: fkmap display current mapping
  369. fkmap <keyname> display single key mapping
  370. fkmap <keyname> <keylist> modify a key's mapping
  371. fkmap -r reset to original mapping
  372. fkmap -s <file> append current to file
  373. This command manages the mechanism ECU uses to recognize function
  374. keys when they are entered at the console. If supplied, the
  375. first argument to the command must be the recognized name of a
  376. function key from the list:
  377. F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
  378. Home End PgUp PgDn CUP CUL CU5 CUR CUD
  379. If only one argument is supplied, the mapping for the specified
  380. key is displayed. If more than one argument is supplied, the
  381. keyboard mapping is changed. Arguments 2-n are character code
  382. specifiers in the format used to define a funckeymap entry.
  383. WARNING: If found to be syntactically correct, a mapping change
  384. is installed immediately. If incorrect mapping of the HOME key
  385. is requested, you may lose control of ECU.
  386. Examples:
  387. fkmap f10 display F10 mapping
  388. fkmap Home ^Z map Home to ^Z
  389. after this command, type ^Z for Home
  390. 55. Non-SCO color appears broken and it is beyond me to fix it.
  391. If you want to diddle with it, look at the top of ecutty.c at the
  392. list of conditionals regarding USE_COLOR. I'd appreciate
  393. patches. BTW, in the past, I have attempted fixes for ISC
  394. character attributes like underlining and standout, but I've
  395. never heard back. Are there attribute problems on ISC (3.2 or
  396. other)?
  397. 56. The procedure command exec was added:
  398. usage: exec <string>
  399. This function executes a string as a procedure statement.
  400. Argument <string> must contain an ecu statement exactly as
  401. might appear on a procedure line, with a few exceptions.
  402. 1. There may be no label: the first command may
  403. start in column one.
  404. 2. You should not execute a goto, gosub or return.
  405. 3. You should not code if, while or compound statement
  406. brackets.
  407. You are on your honor with regard to items 2 and 3 above.
  408. If you stretch it, it will break.
  409. Example:
  410. $s20 = 'Home'; $s30 = '^H'
  411. $s21 = 'End'; $s31 = '^E'
  412. $s22 = 'F1'; $s32 = '^A'
  413. $s23 = 'F2'; $s33 = '^B'
  414. $i10 = 0
  415. whilei $i0 < 4
  416. {
  417. $s0 = 'fkmap '+$s[20+$i10]+' '+$s[30+$i10]
  418. exec $s0
  419. $i10 = $i10 + 1
  420. }
  421. 57. ECU has been made successfully with gcc 2.2.2. There is a
  422. bug in the configure procedure in the 2.2.2 I received. In
  423. attempting to configure for 3.2v4, the tm.h header file got
  424. linked to the wrong file. Make sure tm.h is linked to
  425. config/i386_sco4.h and not config/i386_sco.h. Starting with
  426. 2.2.2, those nice M_ identifiers are predefined by gcc. I wish
  427. everybody's compiler had a predefine that would identify the
  428. environment.
  429. The Configure procedure is unchanged. Answer yes to the question
  430. about version 1.40 or later.
  431. 58. John Dashner, wa4cyb!jmd, proofread the main manual (THANKS). His
  432. changes are in the manual.
  433. FINAL 3.20 notes 59-65
  434. 59. Expect/respond \M and \m implimented for SVR4. The old \m
  435. millisecond delay is now ~n[##]. See the procedure manual in the
  436. description of the expresp command.
  437. 60. Further bugs with managing line chown/chmod fixed.
  438. A directly specified line not managed by getty was not getting
  439. chowned back to uucp when the line was closed.
  440. 61. Better syntax checking is done when reading Devices lines.
  441. 62. A bug in ecusz caused data transfer rate calculations to be
  442. wrong after any receiver ZRPOS ("nak") after the first one at
  443. transfer startup.
  444. 63. A "Resume interrupted transfer" choice has been added
  445. to the interactive sz menu. An equivalent -r switch was added
  446. to the sz procedure command. Previously, you had to "just know"
  447. you can sneak switches to the file transfer protocols by
  448. prefixing them to the file list.
  449. There is still no clean way for the sz procedure command to set
  450. the ZMODEM window size on sends other than the aforementioned
  451. trick. The thing to do here is
  452. sz '-w 65536 file1 file2'
  453. There is no foreseeable reason this hack will cease to work.
  454. However, if I get 1.0001 requests, and I'll come up with something
  455. better.
  456. 64. The receiver process was being started too soon after a
  457. connect resulting for a directory entry dial. As a result,
  458. if ther remote began transmitting very soon after connect
  459. or if there was remaining modem dialog remaining bufferred
  460. in the tty driver, the CONNECT or [interactive mode] messsages
  461. could have been intermixed with data from the line.
  462. This longstanding nuisance bug has finally been fixed.
  463. 65. The rtscts procedure command would take only on/off/yes/no
  464. alphabetic arguments. Now it will accept numeric arguments
  465. like its interactive equivalent.
  466. ==========================================================================
  467. prior to x3.19
  468. 1992-04-19-thanks to jhpb@sarto.budd-lake.nj.us, 3.18.37 has ESIX SVR4
  469. 1992-04-19-if TERM=ansi with WINDOWID, assume scoterm
  470. 1992-04-17-default tty, baud and parity moved to config.c
  471. 1992-04-17-fkey command has -r reset switch
  472. 1992-04-17-ecu.c-"default" keyset read if present
  473. 1992-04-17-ecufkey.c-initialize keyset to SCO "ANSI" send strings
  474. 1992-04-12-eculine.c-was not canceling alarm on lopen error
  475. 1992-04-09-ecugrabbag.c-cleanup new "bn" argument parsing
  476. 1992-04-05-ecuutil.c-no more use of memmove in any environment
  477. 1992-03-30-gendial/tbit.sync.h-add lbreak before wakeup
  478. 1992-03-30-gendial/gendial.c-add lbreak
  479. 1992-03-29-proc_error.c-build_err-creation from ecuerror.h
  480. 1992-03-29-eculine.c-put three second timer on lopen
  481. 1992-03-27-*.h-include protection for all .h files
  482. 1992-03-20-esd.h-max size of esd now 16384
  483. 1992-03-20-esdutil.c-esdstrcat will grow an esd
  484. 1992-03-20-config.c-correct XENIX tcap/tlib test thanks to tbetz
  485. 1992-03-17-eculine.c-optimize parameter 1 to select()
  486. 1992-03-10-ecutcap.c-quick sanity check on ttype features
  487. 1992-03-01-config.c-add -Wswitch to gcc compiles
  488. 1992-03-01-feval.c-come up to modern times ... enum for FI/FS
  489. 1992-03-01-ecucmd.h-come up to modern times ... enum for CT
  490. 1992-02-24-ecutcap.c-getenv COLUMNS not COLS
  491. 1992-02-22-ecuutil.c-build arg/str array now handles zero tokens
  492. 1992-02-22-kbdtest3.c-thank markd@phoenix.pub.uu.oz.au for typo fix
  493. 1992-02-16-ecu.c-add -P phonedir switch for rll@sco
  494. 1992-02-16-ecusighdl.c-turn off xterm_title + add _terminate.ep
  495. 1992-02-16-ecugrabbag.c-turn off xterm_title
  496. 1992-02-16-ecuDCE.c-turn off xterm_title
  497. 1992-02-16-ecu.c-turn off xterm_title
  498. 1992-02-14-feval.c-add uname
  499. 1992-02-13-ecu.h-when port to many time() can be int/long/time_t
  500. 1992-02-10-gendial/dceT2500.c-made it 1.5 years not setting S131 - then drat
  501. 1992-02-10-gendial/dceTBPlus.c-improved sync_Telebit
  502. 1992-02-10-gendial/dceT2500.c-improved sync_Telebit
  503. 1992-02-09-z/zcurses.c-ruling characters only on SCO (tcap curses)
  504. 1992-02-07-ecuicmaux.c-fix incorrect log append/write notification
  505. 1992-02-06-config.c-depressing ... SCO keeps chging their minds
  506. 1992-02-04-ecuDCE.c-fix bug in kill_rcvr_process logic
  507. 1992-02-02-gendial/template.c-proper ordering of DCE_result entries
  508. 1992-01-29-ecu_types.h-creation
  509. 1992-01-29-ecu_stat.h-creation
  510. 1992-01-29-ecu_pwd.h-creation
  511. 1992-01-27-z/ecurz.c-more efficient fopen processing
  512. 1992-01-26-gendial-gendial 1.2 for ecu 3.20- better hangup
  513. 1992-01-21-afterlint.c-better handling of commented items with UNNAMED
  514. 1992-01-20-z/ecurz.c-ZMAPND works now
  515. 1992-01-18-hdbintf.c-use proctrace value for expresp_verbosity
  516. 1992-01-17-ecuDCE.c-.credit open to public
  517. 1992-01-12-pcmd.c-add autorz command
  518. 1992-01-11-ecuicmhelp.c-bug in help + F1 reverts to cat menu
  519. 1992-01-06-kbdtest3.c-much more error checking
  520. 1992-01-06-kbdtest3.c-eliminate sun stty - causes problems
  521. 1992-01-05-z/zcurses.c-properly display progress for resumed transfers
  522. 1991-12-24-fasi/digi-pc8.h-creation
  523. 1991-12-16-expresp.c-allow for backslash in expect and respond
  524. 1991-12-16-z/ecurz.c-support ZCRESUM
  525. 1991-12-15-ecushm.h-autorz and zmodem_asterisk_count added
  526. 1991-12-15-ecushm.c-autorz initialized
  527. 1991-12-13-ecuicmd.c-formalize bell notify
  528. 1991-12-13-ecugrabbag.c-add parse_bell_notify_argument
  529. 1991-12-13-ecugrabbag.c-add bell_notify_text
  530. 1991-12-13-ecushm.c-move bell_notify_state to shm
  531. 1991-12-12-pcmd.c-proctrace of intvar shows char value if 0-255
  532. 1991-12-12-eculine.c-lgetc_timeout can now return a null character
  533. 1991-12-02-ecupde.c-breakout into separate module
  534. 1991-12-01-dvent.h-new typedef for striuct dvent
  535. 1991-11-30-smap.c-smap conditional compilation reorg
  536. 1991-11-30-ecuicmd.c-smap conditional compilation reorg
  537. 1991-11-30-ecu.h-smap conditional compilation reorg
  538. 1991-11-28-ecupde.h-add dcdwatch
  539. 1991-11-28-ecuphdir.c-add dcdwatch option
  540. 1991-11-26-ecu.h-add shm->Ldcdwatch values
  541. 1991-11-26-eculine.c-add ldcdwatch_str
  542. 1991-11-26-ecu.h-add STR_CLASSIFY
  543. 1991-11-26-ecuutil.c-add str_classify and yes_or_no uses it
  544. 1991-11-20-ecuphdir.c-improve "Any" line handling on add or edit
  545. 1991-11-16-ecunumrev.c-better development "x" rev numbering
  546. 1991-11-16-proc.c-add pcmd_upon stub
  547. 1991-11-16-proc.c-add proc_dcdloss_handler
  548. 1991-11-16-ecucmd.h-add upon + rearrance pcmd_... decls
  549. 1991-11-16-proc.c-calloc pcb instead of malloc
  550. 1991-11-16-proc.h-add upon_dcdloss
  551. 1991-11-15-hdbintf.c-SCO tty naming now observed in getdvline
  552. 1991-11-13-ecu.h-use if __STDC__ instead of defined(__STDC__)
  553. 1991-11-12-ecushm.c-remove obsolete shmx_rc_report
  554. 1991-11-11-ecu.h-redefinition of Ltermio's place in life
  555. 1991-11-11-eculine.c-ldcdwatch and lCLOCAL code
  556. 1991-11-11-ecushm.h-add Ldcdwatch and Ltiobuf
  557. 1991-11-11-ecushm.c-shmr_notify_xmtr_of_DCD_loss
  558. 1991-11-11-pcmd.c-add pcmd_dcdwatch code
  559. 1991-11-11-eculine.c-lzero_length_read code
  560. 1991-11-11-ecucmd.h-add dcdwatch
  561. 1991-11-11-ecurcvr.c-lzero_length_read code
  562. 1991-11-11-ecurcvr.c-add LIMIT_BELL code
  563. 1991-11-08-utmpstat.c-bug in strcmpi made for erratic return value
  564. 1991-11-07-ecuDCE.c-tmcsys!lothar-alternate OK string for built-in dialer
  565. 1991-10-24-ecumon/xecumon.c-SEND_KEYS separated from AITEST
  566. 1991-10-17-config.c-add can_pipe code
  567. 1991-10-09-pcmd.c-add -p and -v switch to send
  568. 1991-10-09-pcmd.c-proctrace code for send
  569. 1991-10-09-expresp.c-bad llookfor echo argument
  570. 1991-10-04-ecuicmd.c-reset proc_interrupt before interactive pcmd
  571. 1991-09-25-ecuchdir.c-fix seg viol in popd w/o argument on Sun
  572. 1991-09-25-ecufork.c-find_executable flunks directories now
  573. 1991-09-25-ecuxfer.c-flexible C-Kermit filename
  574. 1991-09-17-ecuxfer.c-restore console termio after xfer prog runs
  575. 1991-09-06-ecufork.c-expand_wildcard_list minor bug
  576. 1991-09-03-ecuxkey.h-alt-[a-z] starts w/0xE1: crisp compatibility
  577. 1991-09-03-timetest/naptest2.c-make part of suite
  578. 1991-09-03-timetest/naptest3.c-creation
  579. 1991-09-03-timetest/seltest.c-creation
  580. 1991-09-03-ecugrabbag.c-sigint rearrangement in send_get_response
  581. 1991-09-03-config.c-iron out sun gcc options
  582. 1991-09-02-z/zcurses.c-show sun driver information
  583. 1991-09-01-pcmd.c-baud cmd can set rate even if no line open
  584. 1991-09-01-ecucmd.h-add setline
  585. 1991-09-01-ecucmd.h-add setline
  586. 1991-09-01-pcmd.c-add setline
  587. 1991-09-01-config.c-show package and config versions
  588. 1991-09-01-hdbintf.c-generalize HDB configuration files location
  589. 1991-09-01-config.c-generalize HDB Devices, etc. files location
  590. Changes since 3.20 release
  591. ==> Patch 1
  592. 1992-09-14-04:05-hdbintf.c-wht@n4hgf-rcvr process was not going away reliably
  593. 1992-09-13-12:52-ecutty.c-wht@n4hgf-add tty_is_scoterm
  594. 1992-09-13-12:52-ecuicmd.c-wht@n4hgf-show tty_is_scoterm during stat
  595. 1992-09-13-12:52-ecu.h-wht@n4hgf-add tty_is_scoterm
  596. 1992-09-13-02:05-ecuicmhist.c-wht@n4hgf-redisplay escape prompt on error exit
  597. ALERT: Something is happening to make ODT 2.0 scoterms go CPU
  598. open-loop and unresponsive to anything but a kill -9. I will be
  599. looking into this, but if anyone beats me to it, please let me
  600. know what you find ASAP. Thanks.
  601. 1. The receiver process was not being killed during dialing when
  602. ECU was invoked with "ecu directoryentry". Dialing was not
  603. possible until you interrupted the program and tried again. This
  604. has been fixed. This boo-boo crept as part of some cleanup work
  605. (smile) just before posting.
  606. 2. An <scoterm> indication has been added to the stat command
  607. output. This is a start on the debugging effort of the scoterm
  608. problem that had to be put off for the critical nature of item 1.
  609. 3. After the history function displays "no interactive commands
  610. saved", you are still in command mode. There was no visual hint
  611. to let you know that. Then you could type, thinking you were
  612. sending to a remote, when in fact you were feeding the text to
  613. the command line. Now, ECU redisplays the escape prompt to show
  614. you are still in command mode.
  615. 4. Typos in the README and README 3.20 were fixed.
  616. 5. This file was added.
  617. ==> Patch 2
  618. 1992-09-15-18:52-ecutty.c-wht@n4hgf-left some debug code in patch01 dammit
  619. 6. Remove debug code from _setcolor().
  620. ==> Patch 3
  621. 1992-09-17-06:27-ecuicmd.c-wht@n4hgf-add <7-bit kbd> to stat
  622. 1992-09-17-05:33-mapkey/README-wht@n4hgf-0xE0 should read 0xE1
  623. 1992-09-17-05:16-ecuxkey.h-wht@n4hgf-finally, 0xE1-0xFA as promised in 3.10
  624. 1992-09-16-14:13-ecunumrev.c-wht@n4hgf-add M and F version qualifiers
  625. 1992-09-16-13:54-ecuusage.c-wht@n4hgf-add fkmap usage
  626. 1992-09-16-13:33-funckeymap.c-wht@n4hgf-add fkmap -l name
  627. 1992-09-16-13:29-termecu.h-wht@n4hgf-add TERMECU_UNRECOVERABLE
  628. 1992-09-16-13:29-ecusighdl.c-wht@n4hgf-add TERMECU_UNRECOVERABLE text
  629. 1992-09-15-18:52-ecutty.c-wht@n4hgf-left some debug code in patch01 dammit
  630. 7. Information on tty "Device busy" errors and color support
  631. have been added to README.Q-and-A. Obsolete information was
  632. removed.
  633. 8. The -l switch was added to the fkmap commands:
  634. fkmap -l <name>
  635. The -l form reads an entire funckeymap definition matching <name>
  636. from ~/.ecu/funckeymap (if not found there, in a file by the same
  637. name in the library directory). This form behaves exactly
  638. in the same manner as the command line switch -F.
  639. Due to the drastic nature of this command, if it fails to
  640. execute properly, ECU terminates itself. Note that
  641. improper use of this form of the command can still render
  642. ECU an albatross (with Home unrecognizable).
  643. 9. The original high-bit character space assignments for Alt-A
  644. through Alt-Z that I chose for ECU made good sense ... to a
  645. parochial American. Michael Traub <emory!btcs.bt.co.uk!traub>
  646. sets me straight, but mapkey/README was incorrect. Each hex
  647. value was off by one.
  648. 10. If the console has parity enabled, the interactive stat
  649. command now reports <7-bit kbd>. Knowing this can be important if
  650. you are using Alt-[A-Z]. Or if you are trying for some kind
  651. of unlikely tandem 8-bit transparent path (telnet to a box, run
  652. ecu to call home, login, use ECU there to talk to your amateur
  653. radio PK-232/MBX TNC over 14 MHz AMTOR to the UK to a Kantronics
  654. TNC hooked to an SCO box, login, make an ECU call to a certain
  655. Universal Import-Export ... uh, hi -- I seem to have dozed off).
  656. 11. At least one ISC SVR3 user had a Devices entry with the
  657. modem control ",M" suffix I thought was only used in SVR4 UUCP.
  658. The suffix presence is now detected on all platforms.
  659. 12. ecusea.c had two fcntl.h inclusions. XENIX could not
  660. handle this.
  661. ==> Patch 4
  662. 13. jeff@samantha.chi.il.us (Jeff Johnson) suggested a change
  663. in the SVR4 LCK.. logic, stating that the use of <sys/sysmacros.h>
  664. is deprecated.
  665. > Here is an excerpt from my <sys/sysmacros.h>:
  666. >
  667. > WARNING: The device number macros defined here should not be
  668. > used by device drivers or user software. Device drivers
  669. > should use the device functions defined in the DDI/DKI
  670. > interface (see also ddi.h). Application software should make
  671. > use of the library routines available in makedev(3). A set of
  672. > new device macros are provided to operate on the expanded
  673. > device number format supported in SVR4. Macro versions of the
  674. > DDI device functions are provided for use by kernel proper
  675. > routines only. Macro routines bmajor(), major(), minor(),
  676. > emajor(), eminor(), and makedev() will be removed or their
  677. > definitions changed at the next major release following SVR4.
  678. 14. On some systems, the video attributes were not reverted to
  679. "normal" after some reverse video or underlined strings (e.g,
  680. "[interactive mode]").
  681. 15. I removed the Metro Link pts support. This was quite obsolete
  682. since only very early Metro Link software used pts'.
  683. 16. FAS 2.10 users are getting SIGUSR1 sent to the transmitter.
  684. I suspect this is a bug in FAS evoked by the kill(getty,SIGUSR1)
  685. performed by ecuungetty, but I am have no real clue. This needs
  686. resolving, but I have little time right now. This patch adds
  687. signal(SIGUSR1,SIG_IGN) to eliminate the problem.
  688. 17. Console xon/xoff support has been added. EMACS users
  689. lament the loss of ^S/^Q. (I personally consider it evolution
  690. in action :->). A new inetractive and a new procedure
  691. command have been added Also, the status is reported by
  692. the interactive stat command.
  693. conxon on - honor xon/xoff locally
  694. conxon off - pass ^S/^U to remote
  695. If you turn conxon off, there will be no local software flow control
  696. so you probably need hardware flow control for proper operation.
  697. Refer to the rtscts command descriptions for more information
  698. (I pray you are using a tty driver that supports the kind
  699. of hardware flow control your modem requires).
  700. 18. The procedure file transfer commands did not get
  701. rearranged to look for the file transfer programs in the
  702. ecu library directory.
  703. 19. Chains of else statements may fail to operate properly
  704. in certain arrangements. The known failure was fixed.