X-Git-Url: http://erislabs.net/gitweb/?p=ckermit.git;a=blobdiff_plain;f=ckuins.txt;h=08cfedb79e147a3f02e75c318dc0240ffcf0fab1;hp=6176dadf014acb24ba7944ee8a16813d3bb691bf;hb=f8f3c6ea3c71351899c834c2d2a821ee20f62aaf;hpb=af31aedfbbaa6cb3897ecb795593629203a086b1 diff --git a/ckuins.txt b/ckuins.txt index 6176dad..08cfedb 100644 --- a/ckuins.txt +++ b/ckuins.txt @@ -13,8 +13,8 @@ C-Kermit 9.0 Installation Instructions and Options for Unix The Kermit Project Columbia University - As of C-Kermit version: 9.0.300, 30 June 2011 - This file last updated: Tue Jun 28 08:28:08 2011 (New York City + As of C-Kermit version: 9.0.302, 20 August 2011 + This file last updated: Sun Aug 21 12:08:29 2011 (New York City time) IF YOU ARE READING A PLAIN-TEXT version of this document, it is a @@ -157,12 +157,12 @@ OVERVIEW Thus, a well-crafted installation procedure should present the options and allow the installer to choose the method, if any, for regulating - accesss to the dialout devices: + access to the dialout devices: a. Check the permissions of the lockfile directory and the dialout - devices. If they do not allow group or world R/W accesss, then: + devices. If they do not allow group or world R/W access, then: b. "Your UUCP lockfile directory and/or dialout devices require - privilege to accesss. You must either change their permissions or + privilege to access. You must either change their permissions or install Kermit with privileges." c. "If you wish to install Kermit with privileges, it will be given the same owner, group, and permissions as the cu program so it can @@ -196,7 +196,7 @@ OVERVIEW Hundreds of prebuilt C-Kermit binaries are available on the CDROM in the BINARY tree [NOTE: The C-Kermit CDROM is still for version 7.0], and at our ftp site in the [72]kermit/bin area (with names starting - with "ck"), also accesssible on the [73]C-Kermit website. To install a + with "ck"), also accessible on the [73]C-Kermit website. To install a prebuilt binary: a. Rename the binary to "wermit". @@ -355,7 +355,7 @@ ln -s kermit telnet (Also see the [110]Configurations Options document, [111]Section 8). Lots of new features have been added in versions 7.0 and 8.0 that - require accesss to new symbols, APIs, libraries, etc, and this will no + require access to new symbols, APIs, libraries, etc, and this will no doubt cause problems in compiling, linking, or execution on platforms where 6.0 and earlier built without incident. This section contains what we know as of the date of this file. @@ -1172,6 +1172,10 @@ touch ckcpro.c make particular connections, execute complicated scripts, whatever you want. + And in C-Kermit 9.0 the initialization has indeed been "retired" by + renaming it to okermit.ini, and replaced by a stub ckermit.ini that + doesn't do anything but print a message. Ditto for ckermod.ini. + 5.2. Text Files These are entirely optional. Many of them are to be found at the Kermit @@ -1202,38 +1206,43 @@ touch ckcpro.c the Kermit website as: [183]http://www.columbia.edu/kermit/ckermit80.html - [184]ckcbwr.txt + [184]ckermit90.txt + Supplement to [185]Using C-Kermit for version 9.0. Available on + the Kermit website as: + [186]http://www.columbia.edu/kermit/ckermit90.html + + [187]ckcbwr.txt The general C-Kermit hints and tips ("beware") file. Available on the Kermit website as: - [185]http://www.columbia.edu/kermit/ckcbwr.html + [188]http://www.columbia.edu/kermit/ckcbwr.html - [186]ckubwr.txt + [189]ckubwr.txt The Unix-specific C-Kermit hints and tips file. Available on the Kermit website as: - [187]http://www.columbia.edu/kermit/ckubwr.html + [190]http://www.columbia.edu/kermit/ckubwr.html - [188]ckuins.txt + [191]ckuins.txt Unix C-Kermit Installation Instructions (this file). Available on the Kermit website as: - [189]http://www.columbia.edu/kermit/ckuins.html + [192]http://www.columbia.edu/kermit/ckuins.html - [190]ckccfg.txt + [193]ckccfg.txt C-Kermit compile-time configuration options. Available on the Kermit website as: - [191]http://www.columbia.edu/kermit/ckccfg.html + [194]http://www.columbia.edu/kermit/ckccfg.html - [192]ckcplm.txt + [195]ckcplm.txt The C-Kermit program logic manual. Available on the Kermit website as: - [193]http://www.columbia.edu/kermit/ckcplm.html + [196]http://www.columbia.edu/kermit/ckcplm.html - [194]ca_certs.pem + [197]ca_certs.pem Certificate Authority certificates for secure connections (see - [195]Section 16). + [198]Section 16). 5.3. Installing the Kermit Files - There is an "install" target in the [196]makefile that you can use if + There is an "install" target in the [199]makefile that you can use if you wish. However, since every site has its own layout and requirements, it is often better to install the Kermit files by hand. You don't have to use the makefile install target to install C-Kermit. @@ -1247,7 +1256,7 @@ touch ckcpro.c available. In most cases, you need to be root to install C-Kermit, if only to gain - write accesss to directories in which the binary and manual page are to + write access to directories in which the binary and manual page are to be copied. The C-Kermit binary should be installed in a directory that is in the users' PATH, but that is not likely to be overwritten when you install a new version of the operating system. A good candidate @@ -1264,11 +1273,11 @@ chmod 755 /usr/local/bin/kermit make install IMPORTANT: IF C-KERMIT IS TO BE USED FOR DIALING OUT, you must also do - something to give it accesss to the dialout devices and lockfile + something to give it access to the dialout devices and lockfile directories. The 'install' target does not attempt to set Kermit's owner, group, and permissions to allow dialing out. This requires privileges, open eyes, and human decision-making. Please read - [197]Sections 10 and [198]11 below, make the necessary decisions, and + [200]Sections 10 and [201]11 below, make the necessary decisions, and then implement them by hand as described in those sections. You should also install the man page, which is called ckuker.nr, in the @@ -1276,7 +1285,7 @@ make install appropriately, e.g. to kermit.1. This is also taken care of by "make install". - Optionally, the text files listed in the [199]previous section can be + Optionally, the text files listed in the [202]previous section can be placed in a publicly readable directory. Suggested directory names are: /usr/local/doc/kermit/ @@ -1306,10 +1315,10 @@ K_INFO_DIR give it the information it needs by setting the variables described below. You can use this target if: - * You downloaded the [200]complete C-Kermit archive and built + * You downloaded the [203]complete C-Kermit archive and built C-Kermit from source; or: - * You downloaded an [201]individual C-Kermit binary and the - [202]C-Kermit text-file archive, and your computer has a "make" + * You downloaded an [204]individual C-Kermit binary and the + [205]C-Kermit text-file archive, and your computer has a "make" command. Here are the parameters you need to know: @@ -1430,7 +1439,7 @@ CERTDIR = 6. INSTALLING UNIX C-KERMIT FROM DOS-FORMAT DISKETTES - [ [203]Top ] [ [204]Contents ] [ [205]Next ] [ [206]Previous ] + [ [206]Top ] [ [207]Contents ] [ [208]Next ] [ [209]Previous ] This section is obsolete. We don't distribute C-Kermit on diskettes any more because (a)there is no demand, and (b) it no longer fits. @@ -1490,7 +1499,7 @@ done 7. CHECKING THE RESULTS - [ [207]Top ] [ [208]Contents ] [ [209]Next ] [ [210]Previous ] + [ [210]Top ] [ [211]Contents ] [ [212]Next ] [ [213]Previous ] First some quick checks for problems that can be easily corrected by recompiling with different options: @@ -1531,14 +1540,14 @@ done a. Start C-Kermit (usually by typing "./wermit" in the directory where you ran the makefile). Do you see the C-Kermit> prompt? If not, C-Kermit incorrectly deduced that it was running in the background. - The test is in conbgt() in [211]ckutio.c. If you can fix it for + The test is in conbgt() in [214]ckutio.c. If you can fix it for your system, please send in the fix (Hint: read about "PID_T" below). Otherwise, you can force C-Kermit to foreground mode by starting it with the -z command line option, as in "kermit -z", or giving the interactive command SET BACKGROUND OFF. b. When you type characters at the C-Kermit prompt, do they echo immediately? If not, something is wrong with concb() and probably - the other terminal mode settings routines in [212]ckutio.c. Be sure + the other terminal mode settings routines in [215]ckutio.c. Be sure you have used the most appropriate make entry. c. At the C-Kermit> prompt, type "send ./?". C-Kermit should list all the files in the current directory. If not, it was built for the @@ -1547,7 +1556,7 @@ done d. CD to a directory that contains a variety of files, symlinks, and subdirectories and give a DIRECTORY command at the C-Kermit> prompt. Do the permissions, size, and date appear correct? If not - see [213]Section 4.0. + see [216]Section 4.0. e. Assuming your platform supports long file names, create a file with a long name in your current directory, e.g.: @@ -1562,22 +1571,22 @@ $ touch thisisafilewithaveryveryveryveryveryveryveryverylooooooooongname f. Make sure that Kermit has the maximum path length right. Just type SHOW FILE and see what it says about this. If it is too short, there could be some problems at runtime. To correct, look in - [214]ckcdeb.h to see how the symbol CKMAXPATH is set and make any + [217]ckcdeb.h to see how the symbol CKMAXPATH is set and make any needed adjustments. g. Send a file to your new Kermit program from a different Kermit program that is known to work. Is the date/timestamp of the new file identical to the original? If not, adjustments are needed in - zstrdt() in [215]ckufio.c. + zstrdt() in [218]ckufio.c. h. Go to another computer (Computer B) from which you can send files to C-Kermit. Connect Computer B to the computer (A) where you are testing C-Kermit. Then: i. Send a file from B to A. Make sure it transferred OK and was - created with the the right name. + created with the right name. j. Send a file from B to A, specifying an "as-name" that is very, very long (longer than the maximum name length on computer A). Check to make sure that the file was received OK and that its name was truncated to Computer A's maximum length. If not, check the - MAXNAMLEN definition in [216]ckufio.c. + MAXNAMLEN definition in [219]ckufio.c. k. Tell C-Kermit on Computer A to "set receive pathnames relative" and then send it a file from Computer B specifying an as-name that contains several directory segments: @@ -1606,16 +1615,16 @@ send foo dir1/dir2/dir3/foo became totally frozen, then you are probably running C-Kermit on a Unix version that supports job control, but under a shell that doesn't. If that's not the case, look in the congm() and psuspend() - routines in [217]ckutio.c and see if you can figure out what's + routines in [220]ckutio.c and see if you can figure out what's wrong. If you can't, rebuild with -DNOJC. o. Give a SET LINE command for a dialout device, e.g. "set line - /dev/tty00". If you got some kind of permission or accesss denied - message, go read [218]Section 10 and then come back here. + /dev/tty00". If you got some kind of permission or access denied + message, go read [221]Section 10 and then come back here. p. After giving a successful SET LINE command, type "show comm" to see the communication parameters. Do they make sense? q. Type "set speed ?" and observe the list of available speeds. Is it - what you expected? If not, see [219]Section 2) of the - [220]Configurations Options document. + what you expected? If not, see [222]Section 2) of the + [223]Configurations Options document. r. Give a SET SPEED command to change the device's speed. Did it work? (Type "show comm" again to check.) s. Try dialing out: SET MODEM TYPE , SET LINE , SET SPEED , DIAL . If @@ -1632,16 +1641,16 @@ send foo dir1/dir2/dir3/foo w. If your version was built with fullscreen file transfer display support, check that it works during local-mode file transfer. Also, check C-Kermit's operation afterwards: is the echoing funny? etc - etc. If there are problems, see [221]Section 4. + etc. If there are problems, see [224]Section 4. x. If your version was built with script programming language support, TAKE the ckedemo.ksc file to give it a workout. y. Does C-Kermit interlock correctly with UUCP-family programs (cu, - tip, uucp, etc)? If not, read the section [222]DIALING OUT AND + tip, uucp, etc)? If not, read the section [225]DIALING OUT AND COORDINATING WITH UUCP below. z. Modem signals... Give a SET LINE command to a serial device and then type the SHOW MODEM command. If it says "Modem signals unavailable in this version of Kermit", then you might want to look - at the ttgmdm() routine in [223]ckutio.c and add the needed code -- + at the ttgmdm() routine in [226]ckutio.c and add the needed code -- if indeed your version of Unix provides a way to get modem signals (some don't; e.g. modem signals are a foreign concept to POSIX, requiring politically incorrect workarounds). @@ -1652,7 +1661,7 @@ send foo dir1/dir2/dir3/foo To test, SET LINE , SET MODEM NONE, and HANGUP. The DTR light should go out momentarily. If it doesn't, see if you can add the needed code for your system to the tthang() routine in - [224]ckutio.c. + [227]ckutio.c. ac. If your version of Kermit has the SET FLOW RTS/CTS command, check to see if it works: give Kermit this command, set your modem for RTS/CTS, transfer some files (using big packet and window sizes) @@ -1660,29 +1669,29 @@ send foo dir1/dir2/dir3/foo off (and Kermit does not get packet errors), then it works. If your version of Kermit does not have this command, but your version of Unix does support hardware flow control, take a look at the - tthflow() command in [225]ckutio.c and see if you can add the - needed code (see the section on [226]HARDWARE FLOW CONTROL below). - (And please [227]send back any added code, so that others can + tthflow() command in [228]ckutio.c and see if you can add the + needed code (see the section on [229]HARDWARE FLOW CONTROL below). + (And please [230]send back any added code, so that others can benefit from it and it can be carried forward into future releases.) ad. If C-Kermit starts normally and issues its prompt, echoing is normal, etc, but then after returning from a CONNECT session, the prompt no longer appears, try rebuilding with -DCKCONINTB4CB. ae. (8.0.206 or later) Type some commands at the C-Kermit prompt. Can - you use the Up-arrow and Down-arrow keys on your keyboard to - accesss Kermit's command history? If not, and you're a programmer, - take a look at the USE_ARROWKEYS sections of ckucmd.c. + you use the Up-arrow and Down-arrow keys on your keyboard to access + Kermit's command history? If not, and you're a programmer, take a + look at the USE_ARROWKEYS sections of ckucmd.c. 8. REDUCING THE SIZE OF THE EXECUTABLE PROGRAM IMAGE - [ [228]Top ] [ [229]Contents ] [ [230]Next ] [ [231]Previous ] + [ [231]Top ] [ [232]Contents ] [ [233]Next ] [ [234]Previous ] - Also see: [232]C-Kermit Configuration Options + Also see: [235]C-Kermit Configuration Options a. Many of C-Kermit's options and features can be deselected at compile time. The greatest savings at the least sacrifice in functionality is to disable the logging of debug information by - defining NODEBUG during compilation. See the [233]Configurations + defining NODEBUG during compilation. See the [236]Configurations Options document for further information. b. Use shared libraries rather than static linking. This is the default on many Unix systems anyway. However, executables built for @@ -1702,22 +1711,22 @@ send foo dir1/dir2/dir3/foo 9. UNIX VERSIONS - [ [234]Top ] [ [235]Contents ] [ [236]Next ] [ [237]Previous ] + [ [237]Top ] [ [238]Contents ] [ [239]Next ] [ [240]Previous ] SECTION CONTENTS -9.1 [238]Standards - 9.1.1. [239]POSIX - 9.1.2. [240]ANSI C - 9.1.3. [241]Other Standards -9.2. [242]Library Issues -9.3. [243]Unix File System Peculiarities -9.4. [244]Hardware Flow Control -9.5. [245]Terminal Speeds -9.6. [246]Millisecond Sleeps -9.7. [247]Nondestructive Input Buffer Peeking -9.8. [248]Other System-Dependent Features -9.9. [249]Terminal Interruption +9.1 [241]Standards + 9.1.1. [242]POSIX + 9.1.2. [243]ANSI C + 9.1.3. [244]Other Standards +9.2. [245]Library Issues +9.3. [246]Unix File System Peculiarities +9.4. [247]Hardware Flow Control +9.5. [248]Terminal Speeds +9.6. [249]Millisecond Sleeps +9.7. [250]Nondestructive Input Buffer Peeking +9.8. [251]Other System-Dependent Features +9.9. [252]Terminal Interruption There are several major varieties of Unix: Bell Laboratories Seventh Edition, AT&T System V, Berkeley Standard Distribution (BSD), and @@ -1772,7 +1781,7 @@ send foo dir1/dir2/dir3/foo APIs to get at serial speeds higher than 38400, but then doing so removes hardware flow control -- just when we need it most! In cases like this, dirty tricks are the only recourse (search for SCO_OSR504 in - [250]ckutio.c for examples). + [253]ckutio.c for examples). For reasons like this, Unix implementations tend to be neither pure AT&T nor pure BSD nor pure POSIX, but a mixture of two or more of @@ -1789,13 +1798,13 @@ send foo dir1/dir2/dir3/foo 9.1. Standards - [ [251]Top ] [ [252]Section Contents ] [ [253]Contents ] [ [254]Next ] + [ [254]Top ] [ [255]Section Contents ] [ [256]Contents ] [ [257]Next ] SUBSECTION CONTENTS -9.1.1. [255]POSIX -9.1.2. [256]ANSI C -9.1.3. [257]Other Standards +9.1.1. [258]POSIX +9.1.2. [259]ANSI C +9.1.3. [260]Other Standards In edits 166-167 (1988-89), C-Kermit was heavily modified to try to keep abreast of new standards while still remaining compatible with old @@ -1833,7 +1842,7 @@ send foo dir1/dir2/dir3/foo have some degree of POSIX compliance, but still use BSD or AT&T specific features. - The dilimma is this: it is often necessary to define _POSIX_SOURCE to + The dilemma is this: it is often necessary to define _POSIX_SOURCE to get at new or modern features, such as high serial speeds and the APIs to deal with them. But defining _POSIX_SOURCE also hides other APIs that Kermit needs, for example the ones dealing with modem signals @@ -1918,8 +1927,8 @@ make posix "KFLAGS=-DHDBUUCP" 9.1.2. ANSI C - [ [258]Top ] [ [259]Contents ] [ [260]Section Contents ] [ - [261]Subsection Contents ] [ [262]Next ] [ [263]Previous ] + [ [261]Top ] [ [262]Contents ] [ [263]Section Contents ] [ + [264]Subsection Contents ] [ [265]Next ] [ [266]Previous ] The major difference between ANSI C and earlier C compilers is function prototyping. ANSI C allows function arguments to be checked for type @@ -1952,14 +1961,14 @@ make posix "KFLAGS=-DHDBUUCP" 9.1.3. Other Standards - [ [264]Top ] [ [265]Contents ] [ [266]Section Contents ] [ - [267]Subsection Contents ] [ [268]Next ] [ [269]Previous ] + [ [267]Top ] [ [268]Contents ] [ [269]Section Contents ] [ + [270]Subsection Contents ] [ [271]Next ] [ [272]Previous ] As the years go by, standards with-which-all-must-comply continue to pile up: AES, XPG2, XPG3, XPG4, FIPS 151-2, successive generations of POSIX, OSF/1, X/Open, Spec 1170, UNIX95, Open Group UNIX98, ISO/IEC 9945 parts 1-4, ISO 9899, 88Open, OS 99, Single Unix Specification - (SUS, [270]IEEE 1003.1-2001, not to mention "mature standards" like V7, + (SUS, [273]IEEE 1003.1-2001, not to mention "mature standards" like V7, 4.2/4.3BSD, System V R3 and R4 (SVID2 and SVID3), 4.4BSD (the basis for BSDI, OpenBSD, NetBSD, FreeBSD, Mac OS X etc), /usr/group, plus assorted seismic pronouncements of the neverending series of ephemeral @@ -1969,13 +1978,13 @@ make posix "KFLAGS=-DHDBUUCP" None of these standards simplifies life for portable applications like C-Kermit -- each one is simply one more environment to support (or circumvent, as in many cases these standards do more harm than good by - denying accesss to facilities we need, e.g. as noted in above in - [271]9.1.1). + denying access to facilities we need, e.g. as noted in above in + [274]9.1.1). 9.2. Library Issues - [ [272]Top ] [ [273]Contents ] [ [274]Section Contents ] [ - [275]Subsection Contents ] [ [276]Next ] [ [277]Previous ] + [ [275]Top ] [ [276]Contents ] [ [277]Section Contents ] [ + [278]Subsection Contents ] [ [279]Next ] [ [280]Previous ] On most modern platforms, applications are -- and often must be -- dynamically linked. This has numerous advantages (smaller executables, @@ -2001,8 +2010,8 @@ make posix "KFLAGS=-DHDBUUCP" 9.3. Unix File System Peculiarities - [ [278]Top ] [ [279]Contents ] [ [280]Section Contents ] [ [281]Next ] - [ [282]Previous ] + [ [281]Top ] [ [282]Contents ] [ [283]Section Contents ] [ [284]Next ] + [ [285]Previous ] Normally, including a BSD, System-V, POSIX, or DIRENT flag in the make entry selects the right file system code. But some versions of Unix are @@ -2048,7 +2057,7 @@ make posix "KFLAGS=-DHDBUUCP" to your makefile target. Another problem child is . Most Unix C-Kermit versions need - to #include this file from within [283]ckufio.c and [284]ckutio.c, but + to #include this file from within [286]ckufio.c and [287]ckutio.c, but some not only do not need to include it, but MUST not include it because (a) it doesn't exist, or (b) it has already been included by some other header file and it doesn't protect itself against multiple @@ -2100,12 +2109,12 @@ make posix "KFLAGS=-DHDBUUCP" attribute packet, if any. If you find that the dates are set incorrectly, you might need to build Kermit with the -DSYSUTIMEH flag, to tell it to include . If that doesn't help, look at the - code in zstrdt() in [285]ckufio.c. + code in zstrdt() in [288]ckufio.c. 9.4. Hardware Flow Control - [ [286]Top ] [ [287]Contents ] [ [288]Section Contents ] [ [289]Next ] - [ [290]Previous ] + [ [289]Top ] [ [290]Contents ] [ [291]Section Contents ] [ [292]Next ] + [ [293]Previous ] Hardware flow control is a problematic concept in many popular Unix implementations. Often it is lacking altogether, and when available, @@ -2116,7 +2125,7 @@ make posix "KFLAGS=-DHDBUUCP" b. RTS/CTS flow control support MIGHT be available for System V R3 and later if /usr/include/termiox.h exists (its successful operation also depends on the device driver, and the device itself, not to - mention the [291]cable, etc, actually supporting it). If your + mention the [294]cable, etc, actually supporting it). If your SVR3-or-later Unix system does have this file, add: -DTERMIOX @@ -2141,14 +2150,14 @@ make posix "KFLAGS=-DHDBUUCP" device name must be used. (NeXTSTEP: /dev/cufa instead of /dev/cua; IRIX: /dev/ttyf00) - See the routine tthflow() in [292]ckutio.c for details. If you find + See the routine tthflow() in [295]ckutio.c for details. If you find that your system offers hardware flow control selection under program control, you can add this capability to C-Kermit as follows: a. See if it agrees with one of the methods already used in tthflow(). if not, add new code, appropriately #ifdef'd. b. Add -DCK_RTSCTS to the compiler CFLAGS in your makefile target or - define this symbol within the appropriate #ifdefs in [293]ckcdeb.h. + define this symbol within the appropriate #ifdefs in [296]ckcdeb.h. To illustrate the difficulties with RTS/CTS, here is a tale from Jamie Watson , who added the RTS/CTS code for the RS/6000, @@ -2170,22 +2179,22 @@ make posix "KFLAGS=-DHDBUUCP" 9.5. Terminal Speeds - [ [294]Top ] [ [295]Contents ] [ [296]Section Contents ] [ [297]Next ] - [ [298]Previous ] + [ [297]Top ] [ [298]Contents ] [ [299]Section Contents ] [ [300]Next ] + [ [301]Previous ] The allowable speeds for the SET SPEED command are defined in - [299]ckcdeb.h. If your system supports speeds that are not listed in + [302]ckcdeb.h. If your system supports speeds that are not listed in "set speed ?", you can add definitions for them to ckcdeb.h. Then if the speed you are adding is one that was never used before in Kermit, such as 921600, you'll also need to add the appropriate - keywords to spdtab[] in [300]ckuus3.c, and the corresponding case to - ttsspd() in [301]ckutio.c. + keywords to spdtab[] in [303]ckuus3.c, and the corresponding case to + ttsspd() in [304]ckutio.c. 9.6. Millisecond Sleeps - [ [302]Top ] [ [303]Contents ] [ [304]Section Contents ] [ [305]Next ] - [ [306]Previous ] + [ [305]Top ] [ [306]Contents ] [ [307]Section Contents ] [ [308]Next ] + [ [309]Previous ] There is no standard for millisecond sleeps, but at least five different functions have appeared in various Unix versions that can be @@ -2214,8 +2223,8 @@ make posix "KFLAGS=-DHDBUUCP" 9.7. Nondestructive Input Buffer Peeking - [ [307]Top ] [ [308]Contents ] [ [309]Section Contents ] [ [310]Next ] - [ [311]Previous ] + [ [310]Top ] [ [311]Contents ] [ [312]Section Contents ] [ [313]Next ] + [ [314]Previous ] Some AT&T Unix versions have no way to check if input is waiting on a tty device, but this is a very important feature for Kermit. Without @@ -2255,8 +2264,8 @@ make posix "KFLAGS=-DHDBUUCP" 9.8. Other System-Dependent Features - [ [312]Top ] [ [313]Contents ] [ [314]Section Contents ] [ [315]Next ] - [ [316]Previous ] + [ [315]Top ] [ [316]Contents ] [ [317]Section Contents ] [ [318]Next ] + [ [319]Previous ] Systems with might have the symbol IEXTEN defined. This is used to turn "extended features" in the tty device driver on and off, @@ -2264,7 +2273,7 @@ make posix "KFLAGS=-DHDBUUCP" characters, etc. In most Unix implementations, it should be turned off during Kermit - operation, so if [317]ckutio.c finds this symbol, it uses it. This is + operation, so if [320]ckutio.c finds this symbol, it uses it. This is necessary, at least, on BSDI. On some systems, however, IEXTEN is either misdefined or misimplemented. The symptom is that CR, when typed to the command processor, is echoed as LF, rather than CRLF. This @@ -2278,7 +2287,7 @@ make posix "KFLAGS=-DHDBUUCP" In edits 177 and earlier, workstation users noticed a "slow screen writing" phenomenon during interactive command parsing. This was traced - to a setbuf() call in [318]ckutio.c that made console (stdout) writes + to a setbuf() call in [321]ckutio.c that made console (stdout) writes unbuffered. This setbuf() call has been there forever, and could not be removed without some risk. Kermit's operation was tested on the NeXT in edit 178 with the setbuf() call removed, and the slow-writing symptom @@ -2356,7 +2365,7 @@ make posix "KFLAGS=-DHDBUUCP" -DRENAME C-Kermit predefines the RENAME for several Unix versions in - [319]ckcdeb.h (SVR4, SUNOS41, BSD44, AIXRS, etc). You can tell if + [322]ckcdeb.h (SVR4, SUNOS41, BSD44, AIXRS, etc). You can tell if rename() is being used if the SHOW FEATURES command includes RENAME in the compiler options list. If the predefined RENAME symbol causes trouble, then add NORENAME to your CFLAGS. Trouble includes: @@ -2372,7 +2381,7 @@ make posix "KFLAGS=-DHDBUUCP" Some Unix systems (Olivetti X/OS, Amdahl UTS/V, ICL SVR3, etc) define the S_ISREG and S_ISDIR macros incorrectly. This is compensated for - automatically in [320]ckufio.c. Other systems might have this same + automatically in [323]ckufio.c. Other systems might have this same problem. If you get a compile-time error message regarding S_ISREG and/or S_ISDIR, add the following to your CFLAGS: @@ -2390,8 +2399,8 @@ make posix "KFLAGS=-DHDBUUCP" 9.9. Terminal Interruption - [ [321]Top ] [ [322]Contents ] [ [323]Section Contents ] [ [324]Next ] - [ [325]Previous ] + [ [324]Top ] [ [325]Contents ] [ [326]Section Contents ] [ [327]Next ] + [ [328]Previous ] When C-Kermit enters interactive command mode, it sets a Control-C (terminal keyboard interrupt = SIGINT) trap to allow it to return to @@ -2445,7 +2454,7 @@ make posix "KFLAGS=-DHDBUUCP" 10. DIALING OUT AND COORDINATING WITH UUCP - [ [326]Top ] [ [327]Contents ] [ [328]Next ] [ [329]Previous ] + [ [329]Top ] [ [330]Contents ] [ [331]Next ] [ [332]Previous ] The short version (general): @@ -2459,12 +2468,12 @@ make posix "KFLAGS=-DHDBUUCP" Since Red Hat 7.2, about 2002, Linux does not leave the lockfile handling to each application, but instead provides an external application, /usr/sbin/lockdev, that all applications should invoke - when they need to accesss a serial port; lockdev locks and unlocks + when they need to access a serial port; lockdev locks and unlocks the port without requiring the application to have privileges, since the privileges on the lockfile directory are assigned to lockdev. C-Kermit 8.0.211 and later support this method. But C-Kermit still needs to be able to open the port itself, and therefore if the - port's permissions do not allow read/write accesss to the general + port's permissions do not allow read/write access to the general public, the general rule must still be followed: in the most common case, it must be SETGID to the group uucp (explained below). If a pre-8.0.211 version of C-Kermit is to be installed for use with @@ -2483,14 +2492,14 @@ make posix "KFLAGS=-DHDBUUCP" Peripheral Devices => Terminals and Modems => Add Modem). Unlike most other multiuser, multitasking operating systems, Unix - allows multiple users to accesss the same serial device at the same + allows multiple users to access the same serial device at the same time, even though there is no earthly reason why two users should do this. When they do, user A will read some of the incoming characters, and user B will read the others. In all likelihood, neither user will see them all. Furthermore, User B can hang up User A's call, and so one. - Rather than change Unix to enforce exclusive accesss to serial devices + Rather than change Unix to enforce exclusive access to serial devices such as ttys, when it might still have been possible, Unix developers opted for a "lock file" mechanism. Any process that wants to open a tty device should first check to see if a file of a certain name exists, @@ -2536,7 +2545,7 @@ make posix "KFLAGS=-DHDBUUCP" * PIDs recycle. If the lockfile was created by PID 1234, which later crashed without removing the lockfile, and then a new process 1234 exists a the time the lockfile is checked, the lockfile will be - improperly taken as valid, and accesss to the device denied + improperly taken as valid, and access to the device denied unnecessarily. Several techniques address the problem of multiple names for the same @@ -2594,7 +2603,7 @@ make posix "KFLAGS=-DHDBUUCP" lockfile itself is called, and what its contents should be. In most cases, C-Kermit preprocessor flags create the appropriate configuration at compile time if the appropriate makefile target was used (see - [330]ckutio.c). The following CFLAGS options can be used to override + [333]ckutio.c). The following CFLAGS options can be used to override the built-in configuration: -DLCKDIR @@ -2679,16 +2688,16 @@ CFLAGS= -DBSD4 -DLOCK_DIR=\\\"/usr/local/locks\\\" -DNODEBUG means that you have SET CARRIER ON xx, where xx is the number of seconds to wait for carrier, and carrier did not appear within xx seconds. Solution: SET CARRIER AUTO or OFF. - b. "Sorry, accesss to lock denied." Kermit has been configured to use + b. "Sorry, access to lock denied." Kermit has been configured to use lockfiles, but (a)the lockfile directory is write-protected against - you, or (b) it does not exist. The "accesss to lock denied" message + you, or (b) it does not exist. The "access to lock denied" message will tell you the reason. If the directory does not exist, check to make sure Kermit is using the right name. Just because version n of your Unix used a certain lockfile directory is no guarantee that version n.1 does not use a different one. Workaround: ask the system administrator to install a symbolic link from the old name to the new name. Other solutions: (see below) - c. "Sorry, accesss to tty device denied." The tty device that you + c. "Sorry, access to tty device denied." The tty device that you specified in your SET LINE command is read/write protected against you. Solution: (see below) d. "Sorry, device is in use." The tty device you have specified is @@ -2726,7 +2735,7 @@ su% chmod 666 /dev/ttyXX telephone calls are not controlled -- anybody on your system can make them, without having to belong to any particular group, and this could run up your phone bill. - b. Use groups to regulate accesss. Normally the lockfile directory and + b. Use groups to regulate access. Normally the lockfile directory and and the dialout devices will have the same group (such as uucp). If so, then put everybody who's allowed to dial out into that group, and make sure that the lockfile directory and the tty devices have @@ -2739,7 +2748,7 @@ su% chmod 660 /dev/ttyXX the appropriate group (e.g. edit the /etc/group file). c. Have the superuser change Kermit to run setuid and/or setgid to the owner and/or group of the lockfile directory and the tty devices if - necessary), typically uucp (see [331]next section), but NOT root. + necessary), typically uucp (see [334]next section), but NOT root. Example: su% chown uucp kermit - or - chgrp uucp kermit @@ -2753,7 +2762,7 @@ su% chmod o+rwx /usr/spool/uucp su% chown uucp /dev/ttyXX ; chmod 600 /dev/ttyXX In some cases, the owner and group must be distinct; the key point - is that read/write accesss is required to both the UUCP lockfile + is that read/write access is required to both the UUCP lockfile directory and the tty itself. If you make C-Kermit setuid or setgid to root, it refuses to run: @@ -2765,9 +2774,9 @@ Fatal: C-Kermit setuid to root! crw-r----- 1 uucp uucp 5, 67 Feb 11 06:23 /dev/cua3 drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock - requires suid uucp to get read/write accesss on /dev/cua3 and sgid to - get read/write accesss on /var/lock (since you can't set Kermit's uid - or gid to root). + requires suid uucp to get read/write access on /dev/cua3 and sgid to + get read/write access on /var/lock (since you can't set Kermit's uid or + gid to root). The reason Kermit can't be setuid or setgid to root has to do with the fact that some Unix OS's can't switch user or group IDs in that @@ -2775,11 +2784,11 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock setgid to root means that Unix C-Kermit can't be used to make rlogin connections by non-root users. (The rlogin port is privileged, which is why the regular rlogin command is setuid root -- which is safe - because the rlogin program never has to create or accesss files like + because the rlogin program never has to create or access files like Kermit does.) For the lockfile mechanism to achieve its desired purpose -- prevention - of accesss to the same tty device by more than one process at a time -- + of access to the same tty device by more than one process at a time -- ALL programs on a given computer that open, read or write, and close tty devices must use the SAME lockfile conventions. Unfortunately, this is often not the case. Here is a typical example of how this can go @@ -2798,7 +2807,7 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock a. If there may be more than one person running Kermit at the same time, competing for the same tty device, then create a special lockfile directory just for Kermit, for example, /usr/spool/kermit, - and make sure you have read/write accesss to it. Then add the + and make sure you have read/write access to it. Then add the following to your makefile target CFLAGS, as shown earlier: -DLOCK_DIR=\\\"/usr/spool/kermit\\\" @@ -2810,7 +2819,7 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock 11. RUNNING UNIX C-KERMIT SETUID OR SETGID - [ [332]Top ] [ [333]Contents ] [ [334]Next ] [ [335]Previous ] + [ [335]Top ] [ [336]Contents ] [ [337]Next ] [ [338]Previous ] Even if you don't intend to run C-Kermit setuid, somebody else might come along and chown and chmod it after it has been built. You should @@ -2835,27 +2844,27 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock IMPORTANT NOTE: Most Unix system documentation will not give you the required information. To determine whether your Unix system supplies - the the saved-original-effective-user/group-id feature, use the - ckuuid.c program. Read and follow the instructions in the comments - at the beginning. + the saved-original-effective-user/group-id feature, use the ckuuid.c + program. Read and follow the instructions in the comments at the + beginning. C-Kermit for 4.4BSD-based systems automatically use sete[ug]id(). See - [336]ckutio.c. + [339]ckutio.c. If you have a version of Unix that is not BSD-based, but which supplies the setreuid() and setregid() functions, and these are the only way to switch between real and effective uid, add -DSETREUID to your makefile target. - WARNING: There are two calls to accesss() in [337]ckufio.c, by which + WARNING: There are two calls to access() in [340]ckufio.c, by which Kermit checks to see if it can create an output file. These calls will not work correctly when (a)you have installed C-Kermit setuid or setgid on a BSD-based Unix system, and (b) the saved-original-effective-uid/gid feature is not present, and (c) the - accesss() function always checks what it believes to be the real ID + access() function always checks what it believes to be the real ID rather than the effective ID. This is the case, for example, in Olivetti X/OS and in NeXTSTEP. In such cases, you can force correct - operation of accesss() calls by defining the symbol SW_ACC_ID at + operation of access() calls by defining the symbol SW_ACC_ID at compile time in CFLAGS. If you have a version of Unix that does not allow a process to switch @@ -2871,8 +2880,8 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock MORAL: Are you thoroughly sickened and/or frightened by all that you have just read? You should be. What is the real answer? Simple. Serial devices -- such as ttys and magnetic tapes -- in Unix should be opened - with exclusive accesss only, enforced by the Unix kernel. Shared - accesss has no conceivable purpose, legitimate or otherwise, except by + with exclusive access only, enforced by the Unix kernel. Shared access + has no conceivable purpose, legitimate or otherwise, except by privileged system programs such as getty. The original design dates from the late 1960s, when Unix was developed for laboratory use under a philosophy of trust by people within shouting distance of each other -- @@ -2881,14 +2890,14 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock emergence of Unix from the laboratory into the commercial market, we have seen every vestige of openness -- but this one -- stripped away. I'd like to see some influential Unix maker take the bold step of - making the simple kernel change required to enforce exclusive accesss - to serial devices. (Well, perhaps not so simple when bidirectionality - must also be a goal -- but then other OS's like VMS solved this problem + making the simple kernel change required to enforce exclusive access to + serial devices. (Well, perhaps not so simple when bidirectionality must + also be a goal -- but then other OS's like VMS solved this problem decades ago.) 12. CONFIGURING UNIX WORKSTATIONS - [ [338]Top ] [ [339]Contents ] [ [340]Next ] [ [341]Previous ] + [ [341]Top ] [ [342]Contents ] [ [343]Next ] [ [344]Previous ] On desktop workstations that are used by only the user at the console keyboard, C-Kermit is always used in local mode. But as delivered, @@ -2912,17 +2921,17 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock 13. BIZARRE BEHAVIOR AT RUNTIME - [ [342]Top ] [ [343]Contents ] [ [344]Next ] [ [345]Previous ] + [ [345]Top ] [ [346]Contents ] [ [347]Next ] [ [348]Previous ] See the "beware file", - [346]ckubwr.txt, for hints about runtime misbehavior. This section + [349]ckubwr.txt, for hints about runtime misbehavior. This section lists some runtime problems that can be cured by rebuilding C-Kermit. The program starts, but there is no prompt, and certain operations don't work (you see error messages like "Kermit command error in background execution"). This is because Kermit thinks it is running in - the background. See conbgt() in [347]ckutio.c. Try rebuilding Kermit + the background. See conbgt() in [350]ckutio.c. Try rebuilding Kermit with: -DPID_T=pid_t @@ -2949,7 +2958,7 @@ drwxrwxr-x 3 root uucp 1024 Feb 11 06:22 /var/lock 14. CRASHES AND CORE DUMPS - [ [348]Top ] [ [349]Contents ] [ [350]Next ] [ [351]Previous ] + [ [351]Top ] [ [352]Contents ] [ [353]Next ] [ [354]Previous ] If C-Kermit consistently dumps core at the beginning of a file transfer, look in SHOW FEATURES for CKREALPATH. If found, rebuild with @@ -3010,7 +3019,7 @@ continue 15. SYSLOGGING - [ [352]Top ] [ [353]Contents ] [ [354]Next ] [ [355]Previous ] + [ [355]Top ] [ [356]Contents ] [ [357]Next ] [ [358]Previous ] "Syslogging" means recording selected information in the system log via the Unix syslog() facility, which is available in most Unix versions. @@ -3019,7 +3028,7 @@ continue --syslog:n on the command-line, where n is a number greater than 0 to indicate the - level of syslogging. See [356]Section 4.2 of the [357]IKSD + level of syslogging. See [359]Section 4.2 of the [360]IKSD Administrator's Guide for details. Obviously you can't depend on users to include --syslog:3 (or whatever) @@ -3037,18 +3046,18 @@ make linux KFLAGS=-DSYSLOGLEVEL=2 out from your system, and to where, e.g. for security auditing. Level 2 and 3 records are equivalent to those in the connection log; - see the [358]C-Kermit 7.0 Supplement) for a detailed description of the + see the [361]C-Kermit 7.0 Supplement) for a detailed description of the connection log. 16. BUILDING SECURE VERSIONS OF C-KERMIT 8.0 - [ [359]Top ] [ [360]Contents ] [ [361]Next ] [ [362]Previous ] + [ [362]Top ] [ [363]Contents ] [ [364]Next ] [ [365]Previous ] C-Kermit 7.0 and later may be built with Kerberos(TM) and/or SRP(TM) (Secure Remote Password) and/or SSL/TLS security for strong authentication and encryption of Internet connections. These security methods require external libraries that, in their binary forms, are - restricted from export by USA law. See the [363]Kermit Security + restricted from export by USA law. See the [366]Kermit Security Reference) for details. C-Kermit binaries themselves are likewise restricted; the C-Kermit binaries that are available for public download on the Internet are not allowed to contain the security @@ -3057,7 +3066,7 @@ make linux KFLAGS=-DSYSLOGLEVEL=2 Sample makefile entries are provided for Linux and many other operating systems. A list of secure makefile entries is included in the Makefile. Complete instructions on building C-Kermit 8.0 with MIT Kerberos; - Secure Remote Password; and/or OpenSSL can be found in the [364]Kermit + Secure Remote Password; and/or OpenSSL can be found in the [367]Kermit Security Reference. SSL/TLS and Kerberos builds are increasingly problematic with the @@ -3142,7 +3151,7 @@ make netbsd+krb5+ssl \ toolsets.) Perhaps certain targets could be converted to use them, especially Linux because there are so many variations among distributions and versions. Anybody who wants to make, say, an - Autonf-based Linux target, be my guest, but bear in mind that one + Autoconf-based Linux target, be my guest, but bear in mind that one Linux target is supposed to work for all versions and distributions of Linux on all platforms. Well, one target for Linux by itself, another for Linux with OpenSSL, another for Linux with Kerberos 5, @@ -3156,14 +3165,14 @@ make netbsd+krb5+ssl \ 17. INSTALLING C-KERMIT AS AN SSH SERVER SUBSYSTEM - [ [365]Top ] [ [366]Contents ] [ [367]Previous ] + [ [368]Top ] [ [369]Contents ] [ [370]Previous ] This requires C-Kermit 8.0.206 or later and an SSH v2 server. If you list C-Kermit as a Subsystem in the SSH v2 server configuration file (as, for example, SFTP is listed), users can make SSH connections direct to a Kermit server as explained here: -[368]http://www.columbia.edu/kermit/skermit.html +[371]http://www.columbia.edu/kermit/skermit.html The name and location of the SSH server configuration file depends on your platform, which SSH product(s) you have, etc. C-Kermit itself must @@ -3191,8 +3200,8 @@ Subsystem kermit /usr/local/bin/kermit-sshsub C-Kermit would have no way of knowing that it should enter Server mode if it were not called by a special name. - [ [369]Top ] [ [370]Contents ] [ [371]C-Kermit Home ] [ [372]C-Kermit - 9.0 Overview ] [ [373]Kermit Home ] + [ [372]Top ] [ [373]Contents ] [ [374]C-Kermit Home ] [ [375]C-Kermit + 9.0 Overview ] [ [376]Kermit Home ] __________________________________________________________________ @@ -3384,193 +3393,196 @@ References 181. ftp://kermit.columbia.edu/kermit/c-kermit/ckermit80.txt 182. http://www.columbia.edu/kermit/ck60manual.html 183. http://www.columbia.edu/kermit/ckermit80.html - 184. ftp://kermit.columbia.edu/kermit/c-kermit/ckcbwr.txt - 185. http://www.columbia.edu/kermit/ckcbwr.html - 186. ftp://kermit.columbia.edu/kermit/c-kermit/ckubwr.txt - 187. http://www.columbia.edu/kermit/ckubwr.html - 188. ftp://kermit.columbia.edu/kermit/c-kermit/ckuins.txt - 189. http://www.columbia.edu/kermit/ckuins.html - 190. ftp://kermit.columbia.edu/kermit/c-kermit/ckccfg.txt - 191. http://www.columbia.edu/kermit/ckccfg.html - 192. ftp://kermit.columbia.edu/kermit/c-kermit/ckcplm.txt - 193. http://www.columbia.edu/kermit/ckcplm.html - 194. ftp://kermit.columbia.edu/kermit/c-kermit/ca_certs.pem - 195. http://www.columbia.edu/kermit/ckuins.html#x16" - 196. ftp://kermit.columbia.edu/kermit/c-kermit/makefile - 197. http://www.columbia.edu/kermit/ckuins.html#x? - 198. http://www.columbia.edu/kermit/ckuins.html#x11 - 199. http://www.columbia.edu/kermit/ckuins.html#x5.2 - 200. http://www.columbia.edu/kermit/ckermit.html#download - 201. http://www.columbia.edu/kermit/ck80binaries.html - 202. http://www.columbia.edu/kermit/ckermit.html#download - 203. http://www.columbia.edu/kermit/ckuins.html#top - 204. http://www.columbia.edu/kermit/ckuins.html#contents - 205. http://www.columbia.edu/kermit/ckuins.html#x7 - 206. http://www.columbia.edu/kermit/ckuins.html#x5 - 207. http://www.columbia.edu/kermit/ckuins.html#top - 208. http://www.columbia.edu/kermit/ckuins.html#contents - 209. http://www.columbia.edu/kermit/ckuins.html#x8 - 210. http://www.columbia.edu/kermit/ckuins.html#x6 - 211. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 212. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 213. http://www.columbia.edu/kermit/ckuins.html#x4.0 - 214. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h - 215. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c - 216. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c - 217. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 218. http://www.columbia.edu/kermit/ckuins.html#x10 - 219. http://www.columbia.edu/kermit/ckccfg.html#x2 - 220. http://www.columbia.edu/kermit/ckccfg.html - 221. http://www.columbia.edu/kermit/ckuins.html#x4 - 222. http://www.columbia.edu/kermit/ckuins.html#x10 - 223. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 224. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 225. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 226. http://www.columbia.edu/kermit/ckuins.html#x9.4 - 227. mailto:kermit-support@columbia.edu - 228. http://www.columbia.edu/kermit/ckuins.html#top - 229. http://www.columbia.edu/kermit/ckuins.html#contents - 230. http://www.columbia.edu/kermit/ckuins.html#x9 - 231. http://www.columbia.edu/kermit/ckuins.html#x7 - 232. http://www.columbia.edu/kermit/ckccfg.html - 233. http://www.columbia.edu/kermit/ckccfg.html - 234. http://www.columbia.edu/kermit/ckuins.html#top - 235. http://www.columbia.edu/kermit/ckuins.html#contents - 236. http://www.columbia.edu/kermit/ckuins.html#x10 - 237. http://www.columbia.edu/kermit/ckuins.html#x8 - 238. http://www.columbia.edu/kermit/ckuins.html#x9.1 - 239. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 - 240. http://www.columbia.edu/kermit/ckuins.html#x9.1.2 - 241. http://www.columbia.edu/kermit/ckuins.html#x9.1.3 - 242. http://www.columbia.edu/kermit/ckuins.html#x9.2 - 243. http://www.columbia.edu/kermit/ckuins.html#x9.3 - 244. http://www.columbia.edu/kermit/ckuins.html#x9.4 - 245. http://www.columbia.edu/kermit/ckuins.html#x9.5 - 246. http://www.columbia.edu/kermit/ckuins.html#x9.6 - 247. http://www.columbia.edu/kermit/ckuins.html#x9.7 - 248. http://www.columbia.edu/kermit/ckuins.html#x9.8 - 249. http://www.columbia.edu/kermit/ckuins.html#x9.9 - 250. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 251. http://www.columbia.edu/kermit/ckuins.html#top - 252. http://www.columbia.edu/kermit/ckuins.html#x9 - 253. http://www.columbia.edu/kermit/ckuins.html#contents - 254. http://www.columbia.edu/kermit/ckuins.html#x9.2 - 255. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 - 256. http://www.columbia.edu/kermit/ckuins.html#x9.1.2 - 257. http://www.columbia.edu/kermit/ckuins.html#x9.1.3 - 258. http://www.columbia.edu/kermit/ckuins.html#top - 259. http://www.columbia.edu/kermit/ckuins.html#contents - 260. http://www.columbia.edu/kermit/ckuins.html#x9 - 261. http://www.columbia.edu/kermit/ckuins.html#x9.1 - 262. http://www.columbia.edu/kermit/ckuins.html#x9.1.3 - 263. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 - 264. http://www.columbia.edu/kermit/ckuins.html#top - 265. http://www.columbia.edu/kermit/ckuins.html#contents - 266. http://www.columbia.edu/kermit/ckuins.html#x9 - 267. http://www.columbia.edu/kermit/ckuins.html#x9.1 - 268. http://www.columbia.edu/kermit/ckuins.html#x9.2 - 269. http://www.columbia.edu/kermit/ckuins.html#x9.1.2 - 270. http://www.opengroup.org/onlinepubs/007904975/ - 271. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 - 272. http://www.columbia.edu/kermit/ckuins.html#top - 273. http://www.columbia.edu/kermit/ckuins.html#contents - 274. http://www.columbia.edu/kermit/ckuins.html#x9 - 275. http://www.columbia.edu/kermit/ckuins.html#x9.1 - 276. http://www.columbia.edu/kermit/ckuins.html#x9.3 - 277. http://www.columbia.edu/kermit/ckuins.html#x9.1 - 278. http://www.columbia.edu/kermit/ckuins.html#top - 279. http://www.columbia.edu/kermit/ckuins.html#contents - 280. http://www.columbia.edu/kermit/ckuins.html#x9 - 281. http://www.columbia.edu/kermit/ckuins.html#x9.4 - 282. http://www.columbia.edu/kermit/ckuins.html#x9.2 - 283. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c - 284. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 285. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c - 286. http://www.columbia.edu/kermit/ckuins.html#top - 287. http://www.columbia.edu/kermit/ckuins.html#contents - 288. http://www.columbia.edu/kermit/ckuins.html#x9 - 289. http://www.columbia.edu/kermit/ckuins.html#x9.5 - 290. http://www.columbia.edu/kermit/ckuins.html#x9.3 - 291. http://www.columbia.edu/kermit/cable.html - 292. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 293. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h - 294. http://www.columbia.edu/kermit/ckuins.html#top - 295. http://www.columbia.edu/kermit/ckuins.html#contents - 296. http://www.columbia.edu/kermit/ckuins.html#x9 - 297. http://www.columbia.edu/kermit/ckuins.html#x9.6 - 298. http://www.columbia.edu/kermit/ckuins.html#x9.4 - 299. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h - 300. ftp://kermit.columbia.edu/kermit/c-kermit/ckuus3.c - 301. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 302. http://www.columbia.edu/kermit/ckuins.html#top - 303. http://www.columbia.edu/kermit/ckuins.html#contents - 304. http://www.columbia.edu/kermit/ckuins.html#x9 - 305. http://www.columbia.edu/kermit/ckuins.html#x9.7 - 306. http://www.columbia.edu/kermit/ckuins.html#x9.5 - 307. http://www.columbia.edu/kermit/ckuins.html#top - 308. http://www.columbia.edu/kermit/ckuins.html#contents - 309. http://www.columbia.edu/kermit/ckuins.html#x9 - 310. http://www.columbia.edu/kermit/ckuins.html#x9.8 - 311. http://www.columbia.edu/kermit/ckuins.html#x9.6 - 312. http://www.columbia.edu/kermit/ckuins.html#top - 313. http://www.columbia.edu/kermit/ckuins.html#contents - 314. http://www.columbia.edu/kermit/ckuins.html#x9 - 315. http://www.columbia.edu/kermit/ckuins.html#x9.9 - 316. http://www.columbia.edu/kermit/ckuins.html#x9.7 - 317. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 318. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 319. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h - 320. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c - 321. http://www.columbia.edu/kermit/ckuins.html#top - 322. http://www.columbia.edu/kermit/ckuins.html#contents - 323. http://www.columbia.edu/kermit/ckuins.html#x9 - 324. http://www.columbia.edu/kermit/ckuins.html#x10 - 325. http://www.columbia.edu/kermit/ckuins.html#x9.8 - 326. http://www.columbia.edu/kermit/ckuins.html#top - 327. http://www.columbia.edu/kermit/ckuins.html#contents - 328. http://www.columbia.edu/kermit/ckuins.html#x11 - 329. http://www.columbia.edu/kermit/ckuins.html#x9 - 330. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 184. ftp://kermit.columbia.edu/kermit/c-kermit/ckermit90.txt + 185. http://www.columbia.edu/kermit/ck60manual.html + 186. http://www.columbia.edu/kermit/ckermit90.html + 187. ftp://kermit.columbia.edu/kermit/c-kermit/ckcbwr.txt + 188. http://www.columbia.edu/kermit/ckcbwr.html + 189. ftp://kermit.columbia.edu/kermit/c-kermit/ckubwr.txt + 190. http://www.columbia.edu/kermit/ckubwr.html + 191. ftp://kermit.columbia.edu/kermit/c-kermit/ckuins.txt + 192. http://www.columbia.edu/kermit/ckuins.html + 193. ftp://kermit.columbia.edu/kermit/c-kermit/ckccfg.txt + 194. http://www.columbia.edu/kermit/ckccfg.html + 195. ftp://kermit.columbia.edu/kermit/c-kermit/ckcplm.txt + 196. http://www.columbia.edu/kermit/ckcplm.html + 197. ftp://kermit.columbia.edu/kermit/c-kermit/ca_certs.pem + 198. http://www.columbia.edu/kermit/ckuins.html#x16" + 199. ftp://kermit.columbia.edu/kermit/c-kermit/makefile + 200. http://www.columbia.edu/kermit/ckuins.html#x? + 201. http://www.columbia.edu/kermit/ckuins.html#x11 + 202. http://www.columbia.edu/kermit/ckuins.html#x5.2 + 203. http://www.columbia.edu/kermit/ckermit.html#download + 204. http://www.columbia.edu/kermit/ckbinaries.html + 205. http://www.columbia.edu/kermit/ckermit.html#download + 206. http://www.columbia.edu/kermit/ckuins.html#top + 207. http://www.columbia.edu/kermit/ckuins.html#contents + 208. http://www.columbia.edu/kermit/ckuins.html#x7 + 209. http://www.columbia.edu/kermit/ckuins.html#x5 + 210. http://www.columbia.edu/kermit/ckuins.html#top + 211. http://www.columbia.edu/kermit/ckuins.html#contents + 212. http://www.columbia.edu/kermit/ckuins.html#x8 + 213. http://www.columbia.edu/kermit/ckuins.html#x6 + 214. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 215. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 216. http://www.columbia.edu/kermit/ckuins.html#x4.0 + 217. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h + 218. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c + 219. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c + 220. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 221. http://www.columbia.edu/kermit/ckuins.html#x10 + 222. http://www.columbia.edu/kermit/ckccfg.html#x2 + 223. http://www.columbia.edu/kermit/ckccfg.html + 224. http://www.columbia.edu/kermit/ckuins.html#x4 + 225. http://www.columbia.edu/kermit/ckuins.html#x10 + 226. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 227. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 228. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 229. http://www.columbia.edu/kermit/ckuins.html#x9.4 + 230. mailto:kermit-support@columbia.edu + 231. http://www.columbia.edu/kermit/ckuins.html#top + 232. http://www.columbia.edu/kermit/ckuins.html#contents + 233. http://www.columbia.edu/kermit/ckuins.html#x9 + 234. http://www.columbia.edu/kermit/ckuins.html#x7 + 235. http://www.columbia.edu/kermit/ckccfg.html + 236. http://www.columbia.edu/kermit/ckccfg.html + 237. http://www.columbia.edu/kermit/ckuins.html#top + 238. http://www.columbia.edu/kermit/ckuins.html#contents + 239. http://www.columbia.edu/kermit/ckuins.html#x10 + 240. http://www.columbia.edu/kermit/ckuins.html#x8 + 241. http://www.columbia.edu/kermit/ckuins.html#x9.1 + 242. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 + 243. http://www.columbia.edu/kermit/ckuins.html#x9.1.2 + 244. http://www.columbia.edu/kermit/ckuins.html#x9.1.3 + 245. http://www.columbia.edu/kermit/ckuins.html#x9.2 + 246. http://www.columbia.edu/kermit/ckuins.html#x9.3 + 247. http://www.columbia.edu/kermit/ckuins.html#x9.4 + 248. http://www.columbia.edu/kermit/ckuins.html#x9.5 + 249. http://www.columbia.edu/kermit/ckuins.html#x9.6 + 250. http://www.columbia.edu/kermit/ckuins.html#x9.7 + 251. http://www.columbia.edu/kermit/ckuins.html#x9.8 + 252. http://www.columbia.edu/kermit/ckuins.html#x9.9 + 253. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 254. http://www.columbia.edu/kermit/ckuins.html#top + 255. http://www.columbia.edu/kermit/ckuins.html#x9 + 256. http://www.columbia.edu/kermit/ckuins.html#contents + 257. http://www.columbia.edu/kermit/ckuins.html#x9.2 + 258. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 + 259. http://www.columbia.edu/kermit/ckuins.html#x9.1.2 + 260. http://www.columbia.edu/kermit/ckuins.html#x9.1.3 + 261. http://www.columbia.edu/kermit/ckuins.html#top + 262. http://www.columbia.edu/kermit/ckuins.html#contents + 263. http://www.columbia.edu/kermit/ckuins.html#x9 + 264. http://www.columbia.edu/kermit/ckuins.html#x9.1 + 265. http://www.columbia.edu/kermit/ckuins.html#x9.1.3 + 266. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 + 267. http://www.columbia.edu/kermit/ckuins.html#top + 268. http://www.columbia.edu/kermit/ckuins.html#contents + 269. http://www.columbia.edu/kermit/ckuins.html#x9 + 270. http://www.columbia.edu/kermit/ckuins.html#x9.1 + 271. http://www.columbia.edu/kermit/ckuins.html#x9.2 + 272. http://www.columbia.edu/kermit/ckuins.html#x9.1.2 + 273. http://www.opengroup.org/onlinepubs/007904975/ + 274. http://www.columbia.edu/kermit/ckuins.html#x9.1.1 + 275. http://www.columbia.edu/kermit/ckuins.html#top + 276. http://www.columbia.edu/kermit/ckuins.html#contents + 277. http://www.columbia.edu/kermit/ckuins.html#x9 + 278. http://www.columbia.edu/kermit/ckuins.html#x9.1 + 279. http://www.columbia.edu/kermit/ckuins.html#x9.3 + 280. http://www.columbia.edu/kermit/ckuins.html#x9.1 + 281. http://www.columbia.edu/kermit/ckuins.html#top + 282. http://www.columbia.edu/kermit/ckuins.html#contents + 283. http://www.columbia.edu/kermit/ckuins.html#x9 + 284. http://www.columbia.edu/kermit/ckuins.html#x9.4 + 285. http://www.columbia.edu/kermit/ckuins.html#x9.2 + 286. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c + 287. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 288. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c + 289. http://www.columbia.edu/kermit/ckuins.html#top + 290. http://www.columbia.edu/kermit/ckuins.html#contents + 291. http://www.columbia.edu/kermit/ckuins.html#x9 + 292. http://www.columbia.edu/kermit/ckuins.html#x9.5 + 293. http://www.columbia.edu/kermit/ckuins.html#x9.3 + 294. http://www.columbia.edu/kermit/cable.html + 295. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 296. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h + 297. http://www.columbia.edu/kermit/ckuins.html#top + 298. http://www.columbia.edu/kermit/ckuins.html#contents + 299. http://www.columbia.edu/kermit/ckuins.html#x9 + 300. http://www.columbia.edu/kermit/ckuins.html#x9.6 + 301. http://www.columbia.edu/kermit/ckuins.html#x9.4 + 302. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h + 303. ftp://kermit.columbia.edu/kermit/c-kermit/ckuus3.c + 304. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 305. http://www.columbia.edu/kermit/ckuins.html#top + 306. http://www.columbia.edu/kermit/ckuins.html#contents + 307. http://www.columbia.edu/kermit/ckuins.html#x9 + 308. http://www.columbia.edu/kermit/ckuins.html#x9.7 + 309. http://www.columbia.edu/kermit/ckuins.html#x9.5 + 310. http://www.columbia.edu/kermit/ckuins.html#top + 311. http://www.columbia.edu/kermit/ckuins.html#contents + 312. http://www.columbia.edu/kermit/ckuins.html#x9 + 313. http://www.columbia.edu/kermit/ckuins.html#x9.8 + 314. http://www.columbia.edu/kermit/ckuins.html#x9.6 + 315. http://www.columbia.edu/kermit/ckuins.html#top + 316. http://www.columbia.edu/kermit/ckuins.html#contents + 317. http://www.columbia.edu/kermit/ckuins.html#x9 + 318. http://www.columbia.edu/kermit/ckuins.html#x9.9 + 319. http://www.columbia.edu/kermit/ckuins.html#x9.7 + 320. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 321. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 322. ftp://kermit.columbia.edu/kermit/c-kermit/ckcdeb.h + 323. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c + 324. http://www.columbia.edu/kermit/ckuins.html#top + 325. http://www.columbia.edu/kermit/ckuins.html#contents + 326. http://www.columbia.edu/kermit/ckuins.html#x9 + 327. http://www.columbia.edu/kermit/ckuins.html#x10 + 328. http://www.columbia.edu/kermit/ckuins.html#x9.8 + 329. http://www.columbia.edu/kermit/ckuins.html#top + 330. http://www.columbia.edu/kermit/ckuins.html#contents 331. http://www.columbia.edu/kermit/ckuins.html#x11 - 332. http://www.columbia.edu/kermit/ckuins.html#top - 333. http://www.columbia.edu/kermit/ckuins.html#contents - 334. http://www.columbia.edu/kermit/ckuins.html#x12 - 335. http://www.columbia.edu/kermit/ckuins.html#x10 - 336. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 337. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c - 338. http://www.columbia.edu/kermit/ckuins.html#top - 339. http://www.columbia.edu/kermit/ckuins.html#contents - 340. http://www.columbia.edu/kermit/ckuins.html#x13 - 341. http://www.columbia.edu/kermit/ckuins.html#x11 - 342. http://www.columbia.edu/kermit/ckuins.html#top - 343. http://www.columbia.edu/kermit/ckuins.html#contents - 344. http://www.columbia.edu/kermit/ckuins.html#x14 - 345. http://www.columbia.edu/kermit/ckuins.html#x12 - 346. ftp://kermit.columbia.edu/kermit/c-kermit/ckubwr.txt - 347. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c - 348. http://www.columbia.edu/kermit/ckuins.html#top - 349. http://www.columbia.edu/kermit/ckuins.html#contents - 350. http://www.columbia.edu/kermit/ckuins.html#x15 - 351. http://www.columbia.edu/kermit/ckuins.html#x13 - 352. http://www.columbia.edu/kermit/ckuins.html#top - 353. http://www.columbia.edu/kermit/ckuins.html#contents - 354. http://www.columbia.edu/kermit/ckuins.html#x16 - 355. http://www.columbia.edu/kermit/ckuins.html#x14 - 356. http://www.columbia.edu/kermit/uiksd.html#x4.2 - 357. http://www.columbia.edu/kermit/uiksd.html - 358. http://www.columbia.edu/kermit/ckermit2.html - 359. http://www.columbia.edu/kermit/ckuins.html#top - 360. http://www.columbia.edu/kermit/ckuins.html#contents - 361. http://www.columbia.edu/kermit/ckuins.html#x17 - 362. http://www.columbia.edu/kermit/ckuins.html#x15 - 363. http://www.columbia.edu/kermit/security.html - 364. http://www.columbia.edu/kermit/security80.html - 365. http://www.columbia.edu/kermit/ckuins.html#top - 366. http://www.columbia.edu/kermit/ckuins.html#contents - 367. http://www.columbia.edu/kermit/ckuins.html#x16 - 368. http://www.columbia.edu/kermit/skermit.html - 369. http://www.columbia.edu/kermit/ckuins.html#top - 370. http://www.columbia.edu/kermit/ckuins.html#contents - 371. http://www.columbia.edu/kermit/ckermit.html - 372. http://www.columbia.edu/kermit/ck90updates.html - 373. http://www.columbia.edu/kermit/index.html + 332. http://www.columbia.edu/kermit/ckuins.html#x9 + 333. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 334. http://www.columbia.edu/kermit/ckuins.html#x11 + 335. http://www.columbia.edu/kermit/ckuins.html#top + 336. http://www.columbia.edu/kermit/ckuins.html#contents + 337. http://www.columbia.edu/kermit/ckuins.html#x12 + 338. http://www.columbia.edu/kermit/ckuins.html#x10 + 339. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 340. ftp://kermit.columbia.edu/kermit/c-kermit/ckufio.c + 341. http://www.columbia.edu/kermit/ckuins.html#top + 342. http://www.columbia.edu/kermit/ckuins.html#contents + 343. http://www.columbia.edu/kermit/ckuins.html#x13 + 344. http://www.columbia.edu/kermit/ckuins.html#x11 + 345. http://www.columbia.edu/kermit/ckuins.html#top + 346. http://www.columbia.edu/kermit/ckuins.html#contents + 347. http://www.columbia.edu/kermit/ckuins.html#x14 + 348. http://www.columbia.edu/kermit/ckuins.html#x12 + 349. ftp://kermit.columbia.edu/kermit/c-kermit/ckubwr.txt + 350. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c + 351. http://www.columbia.edu/kermit/ckuins.html#top + 352. http://www.columbia.edu/kermit/ckuins.html#contents + 353. http://www.columbia.edu/kermit/ckuins.html#x15 + 354. http://www.columbia.edu/kermit/ckuins.html#x13 + 355. http://www.columbia.edu/kermit/ckuins.html#top + 356. http://www.columbia.edu/kermit/ckuins.html#contents + 357. http://www.columbia.edu/kermit/ckuins.html#x16 + 358. http://www.columbia.edu/kermit/ckuins.html#x14 + 359. http://www.columbia.edu/kermit/uiksd.html#x4.2 + 360. http://www.columbia.edu/kermit/uiksd.html + 361. http://www.columbia.edu/kermit/ckermit2.html + 362. http://www.columbia.edu/kermit/ckuins.html#top + 363. http://www.columbia.edu/kermit/ckuins.html#contents + 364. http://www.columbia.edu/kermit/ckuins.html#x17 + 365. http://www.columbia.edu/kermit/ckuins.html#x15 + 366. http://www.columbia.edu/kermit/security.html + 367. http://www.columbia.edu/kermit/security80.html + 368. http://www.columbia.edu/kermit/ckuins.html#top + 369. http://www.columbia.edu/kermit/ckuins.html#contents + 370. http://www.columbia.edu/kermit/ckuins.html#x16 + 371. http://www.columbia.edu/kermit/skermit.html + 372. http://www.columbia.edu/kermit/ckuins.html#top + 373. http://www.columbia.edu/kermit/ckuins.html#contents + 374. http://www.columbia.edu/kermit/ckermit.html + 375. http://www.columbia.edu/kermit/ck90updates.html + 376. http://www.columbia.edu/kermit/index.html