⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckc192.upd

📁 linux终端仿真程序
💻 UPD
📖 第 1 页 / 共 5 页
字号:
ck[9dlmsuv]tio.c, 9 Dec 93.  (OS/2 and Amiga Kermit were already OK.)Added a new command-line option, -R (uppercase).  It is tied to a new IFcommand, IF REMOTE-ONLY.  This allows us to skip all the local-mode setupsin the initialization files if we don't intend to use C-Kermit in local mode.ckuusr.h, ckuus6.c, ckuusy.c, ckuus2.c, ckuus4.c.  Also, in making thischange, I discovered that prescan() did not handle bundled argumentscorrectly; fixed in ckuus4.c.  ckuusr.c 5A(115), 9 Dec 93.Edited the standard initialization file, CKERMIT.INI, to skip dial andservices directory setups if the -R command-line option given.  This makesC-Kermit startup WAY faster.  Ditto for CKERMOD.INI.  9 Dec 93.Fixed another bug discovered by Bo Kullmar, namely that the automaticre-mallocation of the debug-log string buffer could make C-Kermit core dumpunder certain circumstances.  I flushed this code and used sprintf() formatsto cut off the strings to fit in the buffer.  No more core dumps.  ckuusx.c,9 Dec 93.Michael Godfrey noticed that if a SET LINE command has been given (to open aserial line), a subsequent TELNET command, given without a hostname/address,acts like a CONNECT command on the serial line.  In OS/2 C-Kermit, whichstarts up using COM1 by default, this usually gives a message like "No carrierdetected", which is not exactly what we want to say.  Now it gives anappropriate error message.  ckuus7.c, 9 Dec 93.Backed off on yesterday's debug-log change because it turns out sprintf()field-width formats aren't portable after all.  Yesterday's change totallybroke debug logging on VMS.  Now we just decline to log any string that'stoo big for the buffer.  ckuusx.c, 10 Dec 93.One of the biggest problems with VMS C-Kermit was that it could not sendpackets longer than MAXBUF (a SYSGEN parameter), nor longer than any ofvarious user quotas, such as BYTLM.  Attempts to do this resulted in SYS$QIOWfailing with error 28, Quota Exceeded (as finally revealed by the new andimproved debug log).  The low-level packet writer in VMS C-Kermit, ttol(), hasnow been recoded to handle these errors more or (mostly) less gracefully: if awrite attempt fails with error 28, we chop the data in half and try again,repeating until the write succeeds or the length goes below 70, at which pointwe fail.  If the write succeeds, we remember the size for next time, so allsubsequent writes use it and bypass the trial-and-error rigamarole.  Theimpact on performance is hardly noticeable, e.g. when sending 9000-bytepackets with MAXBUF = 2064.  So now we no longer have to tell VMS sites toreconfigure and reboot their systems to solve this problem (though it is stilla good idea to have sufficient MAXBUF and BYTLM on systems where file transferis a commonplace activity).  Too see the new code in action, have VMS C-Kermitsend a file using 9K packets, with its debug log active, preferably on asystem with a small MAXBUF.  Then "search debug.log ttol" to see what happenedinternally.  The packet sizes are not optimal: This could be achieved using abinary-search trial-and-error technique, but it's not worth it -- theperformance difference is negligible.  CKVTIO.C 5A(067), 15 Dec 93.Catch and ignore SIGDANGER in sysinit().  Suggested by Marc Pawliger,<marc@sti.com>.  This code is enabled if SIGDANGER is defined.  As far as Iknow, this holds true only on RS/6000 AIX.  The new code prevents C-Kermitfrom being killed by AIX's swap-space police, except as a final resort.ckutio.c 5A(120), 17 Dec 93.The VMS version was not releasing the OPEN READ file descriptor, so successiveOPEN READ commands could use them up and then no further files could beopened.  Noticed by Carl Friedburg, fixed by Terry Kennedy, ckvtio.c 5A(106),22 Dec 93.ESC/Tab keyword completion of R into RECEIVE did not work (as C does forCONNECT and S for SEND).  Noticed and fixed by Mike Freeman<mikef@pacifier.rain.com>, ckuusr.c, 27 Dec 93.Added APC support to OS/2 C-Kermit's terminal emulator, and made various fixesand speedups to it also.  ckocon.c 5A(107), ckuus4.c, 29 Dec 93.Added SET TERMINAL APC { ON, OFF, UNCHECKED } to control execution of APCcommands received by C-Kermit.  Conditionalized all APC-execution-related codeunder CK_APC, so it can easily be activated for the Macintosh too, or anyother C-Kermit implementation that has a built-in terminal emulator.  I mighteven consider adding it to the UNIX and VMS versions, but for now, thisfeature is activated only in the OS/2 version.ckuus[r23457].c, ckuusr.h, 30 Dec 93.Added automatic parity detection and DDK to OS/2 version.  This was done byadapting UNIX ttinl() to OS/2, which is not the optimal solution.  My originalplan was to restructure the system-independent packet-reader, rpack(), to takeover the many functions that have been improperly delegated to ttinl() and, infact, to retire ttinl() altogether.  But this will be a much bigger job thanit seemed, because of the many and diverse ways in which the various ttinl()versions handle timed reads, blocking vs nonblocking reads, buffering, etc.We no longer allow the device driver to handle parity; like all other Kermitprograms, OS/2 C-Kermit now does this itself.  In particular, the ttsettings()routine always sets no parity, 8 data bits.  ckotio.c, 5A(111) 30 Dec 93.In adding parity detection to the OS/2 version, I discovered that it oftenfailed because, when looking at the packet control fields, it neglected tostrip the parity bit first, thus misinterpreting (in particular) the packetlength fields.  I migrated this fix into the UNIX, VMS, AOS/VS, and Stratusversions.   ck[uvodl]tio.c, 31 Dec 93.When using OS/2 C-Kermit's VT102 emulator with UNIX 'more', I discovered thatlines that were wrapped around the "more?" prompt caused the inverse video ofthe "more?" prompt to extend to the right margin, but only when this occurredat the bottom of the screen, i.e. when scrolling a wrapped line.  Experimentsshowed this happening whenever scrolling any wrapped line that had nondefaultvideo attributes.  Diagnosis: the scroll() routine was creating the new bottomline using the current attributes.  Cure: the scroll routine should use thenormal, default attributes to create the new bottom line, and then letsubsequent character-writing operations take care of the attributes.ckocon.c, 5A(108) 4 Jan 94.Added a new UNIX makefile entry for Amdahl UTSV with TCP/IP support, fromGerald J. Werner, Marshfield Clinic <wernerg@dgabby.mfldclin.edu>.  5 Jan 94.Installed new Stratus VOS modules: ckltio.c, cklfio.c, cklnet.c.  From DavidLane <David_Lane@vos.stratus.com>, 5 Jan 94.Added print / dump screen to OS/2 C-Kermit.  Works in both the 32-bit and the16-bit version.  Activate during CONNECT mode via Alt-P (or Alt-p), or by<Escape-character>F/f as in MS-DOS Kermit.  Also had to add special code tomake it work for rolled-back screens.  Entries added to the two CONNECT-modehelp screens.  ckocon.c 5A(109), 6 Jan 94.Fixed a screen-rollback bug in OS/2 C-Kermit, which occurred when a wrappedline scrolled off the screen; the wrapped portion was not saved in therollback buffer.  The same thing happened with Index (ESC D); that's fixedtoo.  ckocon.c 5A(109), 6 Jan 94.Added TELNET NAWS (Negotiate About Window Size, RFC 1073) to the UNIX and OS/2versions.  This feature is configured only if the program is built with theCK_NAWS symbol defined.  Requires new system-dependent support routine,ttgwsiz(), described in ckcplm.doc.  In UNIX C-Kermit, NAWS works only if theTIOCGWINSZ symbol is defined and the corresponding ioctl is available andexecutes without error.  Defined CK_NAWS by default for SunOS 4.1, NeXT,System V R4, 4.4BSD, and OSF/1.  Override these default assignments byincluding -DNONAWS on the CC command line.  I don't see how to do it for POSIXor others, but people are encouraged to send in code to make it work for moresystems, or to confirm that it works safely on systems not yet included.Note: Don't define CK_NAWS unless there is also a ttgwsiz() routine.ckcnet.[ch], ckutio.c, ckocon.c, etc, 12 Jan 93.Now that we know how to get the rows and colums of the controlling terminal,we can change the various "more?"-prompting items to use the actual screenlength.  This includes the HELP command, SHOW MACROS, SHOW VARIABLES, etc.ckuus[25].c, 12 Jan 93.  Later, this can also be extended to the file transferdisplay screen and the command parser keyword and file menus.Added SIGWINCH trapping for the UNIX version.  If you're running C-Kermit in awindow and you change the window size, UNIX delivers a SIGWINCH signal.C-Kermit now catches this signal, asks UNIX what its new window size is, andif a TELNET connection is open (and we have received permission to send NAWSreports) we send a NAWS report.  Tested in NeXT Terminal window by stretchingthe window during C-Kermit CONNECT mode, seemed to work fine for a while, butthen started to fall apart -- it seemed to interfere with some of the otherTELNET negotiations, like echoing.  But only when TELNET'ing from NeXT toNeXT.  Removing the SIGWINCH code didn't make any difference.Hmmm...  It seems the problem with the NeXT has nothing to do with NAWS.  Evenversions 188 and 189 had a similar problem, namely that the SIGUSR2 signalwhich we use during CONNECT mode to let the lower fork tell the upper forkabout TELNET-negotiated echoing changes does not get delivered immediately,and sometimes gets lost.  The reason the problem is only noticeable when goingfrom NeXT to NeXT is that the NeXT TELNET server sends many echoing changes,rapid fire, and only the NeXT client is exhibiting the signal-deliverysluggishness.(Well, I spent two days on this one and could not solve it.  Then I discoveredthat if I ran Kermit in a Stuart window rather than a Terminal window on theNeXT, it worked perfectly.  It also works fine if I TELNET to the NeXT andstart Kermit in a TELNET session -- i.e. not in any kind of NeXT window.)(This note inserted Aug 13, 1994: The changes that were made to the CONNECTfork signalling in July-August 1994 have cleared all of this up, and nowC-Kermit can be used under Terminal just as well as under Stuart.)Added CK_NAWS to VMS version.  Code for ttgwsiz() supplied by Mark Berrymanat SAIC.  CKVTIO.C 5A(069) 14 Jan 94.Fixed a bug in the VMS version that I introduced when I moved the tn_ini()call to be inside netopen(), which resulted in initial TELNET negotiationsnever being sent.  ckcnet.c 5A(025) 14 Jan 94.Added NOSIGWINCH symbol to allow SIGWINCH trapping be disabled withoutdisabling the NAWS feature itself.  ckccfg.doc, ckcnet.c, 14 Jan 94.Fixed some dependencies in the UNIX makefile.  14 Jan 94.Added NODISPO symbol to allow C-Kermit to be built to always refuse incomingMAIL and REMOTE PRINT files.  ckcfn3.c, 14 Jan 94.Jeff Altman <p00118@psilink.com> noticed that sequences of bold characterswould alternate between bold and regular.  The fix turned out to be rathercomplicated, since it had to work for both normal and reverse-video screens,and in working on this I discovered that the handling of DECSCNM, ESC [ ? 5h/l, reverse-video/normal screen (i.e. the one that flips your entire currentscreen between normal and reverse video), was totally broken.  Previously, itwould (a) only affect the rightmost 1/4 of an 80-column screen, and (b) itwasn't "sticky" -- i.e. subsequently received characters would be displayed inthe opposite mode.  Much code was rewritten and tested successfully, and itnow works independently of your screen colors, etc.  ckocon.c 5A(112),15 Jan 94.Added additional printing capabilities to OS/2 C-Kermit's terminal emulatorvia host-generated escape sequences.  All these are only for the 32-bitversion, since the 16-bit version crashes with a stack overflow if they areused.  For the VT102 emulator: . ESC [ 0 i, print current screen (also ESC [ i). . ESC [ ? 1 i, print current line (i.e. the line where the cursor is). . ESC [ ? 19 h/l, select print extent (h = full screen, l = scrolling region).   This applies when ESC [ 0 i or ESC [ i is received.And for the VT52 emulator: . ESC V, print current line. . ESC ], print current screen. . ESC W, turn on transparent printing. . ESC X, turn off transparent printing. . ESC ^, autoprint on (treated like transparent print). . ESC _, autoprint off (treated like transparent print).Implemented SRM (Send/Receive Mode), for host-controlled remote/local echoin the VT102 emulator, ESC [ 12 h/l (h = remote echo, l = local echo).Fixed VT52 reverse index.Fixed an oversight in the new APC code, namely that if an APC, OSC, or similarstring-bearing escape sequence starts to arrive but never finishes, there wasno way to break the deadlock.  Now "reset terminal" (Alt-=) does it.Restored host-directed switching between US and UK sets in VT102 emulation,but ONLY if the terminal character-set is ASCII.  All other character-setselections must be made by the user, via SET TERMINAL CHARACTER-SET.  That'sbecause this is a VT102, not a VT220 or higher, which allows the host tocontrol character-set designation and invocation.  ckocon.c 5A(112) 15 Jan 94.After discussions with Jeffrey Altman about OS/2 C-Kermit, added a newfeature: SET { SEND, RECEIVE } PATHNAMES { ON, OFF }.  This applies to thehandling of filenames when SET FILE NAMES LITERAL is in effect.  SET SENDPATHNAMES ON means to leave pathnames on outbound file names, which is thedefault for compatibility with earlier behavior.  OFF means to strip pathinf

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -