[comp.protocols.kermit] Info-Kermit Digest V7 #4

SY.FDC@CU20B.COLUMBIA.EDU (Frank da Cruz) (01/30/88)

Info-Kermit Digest         Fri, 29 Jan 1988       Volume 7 : Number 4

Departments:

  ANNOUNCEMENTS -
        Announcing C-Kermit 4E(070) (Sorry!)
        New Version of Honeywell CP-6 Kermit
        New PDP-11 Kermit Documentation
        CU20B Nears Retirement
        SCANCHEK 4.0 Available

  MS-DOS Kermit -
        MS-Kermit 2.30 Rollback Disable
        Kermit 2.30 for GRiD
        Rainbow MS-DOS Kermit 2.30
        Kermit 2.30 and the Tandy 1000
	IBM PC Convertible Diskettes?

  C-KERMIT -
        C-Kermit Timeout Problem Fix
        Compiling Kermit 4E (068) on BSD 4.3
        A Better Way to Detect Background Execution
        C-Kermit 4E(068) on 4.3 BSD
        Small Problem in ckuusr.c for System V
        Problem with CKUUSR.C on VMS

  MISCELLANY -
        Kermit Support for IBM 3708 Front Ends?
        Re: TRS-80 Model II Kermit HEX File

----------------------------------------------------------------------

Date: Fri 29 Jan 88 21:25:40-EST
From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU>
Subject: Announcing C-Kermit 4E(070) (Sorry!)
Keywords: C-Kermit 4E(070), UNIX Kermit

This is to announce, directly on the heels of C-Kermit 4E(068), another new
version, 4E(070).  I apologize for this.  Edit 68 had two fatal flaws,
which are described in messages below, but briefly:

 . getcwd() not defined in BSD UNIX, breaking BSD versions.
 . Unconditional reference to SIGSTOP, breaking non-BSD versions.

A couple other small fixes were also applied.  One is for the error message
C-Kermit returns when it times out (thanks to Paul Placeway).  The other
finally allows Kermit to determine whether it is running in the background, so
that the "disappearing prompt" problem is fixed...  But only for Berkeley and
Ultrix versions.  See messages below.

Sorry for the inconvenience.  If you want to replace the files that were
"damaged" in the 068 release, they are ckutio.c, ckufio.c, ckuusr.c,
ckcfn2.c, ckucmd.c, and ckcmai.c.

------------------------------

Date: January 25, 1988
From: Lee-Hallin%LADC@BCO-MULTICS.ARPA
Subject: New Version of Honeywell CP-6 Kermit
Keywords: Honeywell CP-6, CP-6
 
I've sent you a tape containing version 1.00 of Kermit that runs on Honeywell
machines running the CP-6 (Control Program 6) operating system. 

The following are changes/additions made to CP-6 KERMIT since the original
version (0.95) was sent to Columbia University in December, 1985.  Many
thanks to John Stewart of Carleton University, Tom Erskine of CRC, Mike
Iglesias of UC Irvine, and Mike Schmidt of Honeywell Bull, Canada, for their
help and supplied code.
 
  . Recognize ARC and LIB as default binary file extensions.
  . Optimize code that strips parity off incoming characters.
  . Block move of packet data to eliminate looping.
  . Eliminate redundant checksum calculation.
  . Handle repeat counts in file name packet.
  . Use FSFA on file that is being received or sent.
  . Added the ability to specify up to two EOR characters instead of
    assuming CR/LF.  This is useful, for instance, when communicating with
    some software on Apples.
  . Fixed bug that caused KERMIT to Memory Fault if a 'LIST' command
    was issued with no fid specified.
  . Enhanced the SHOW command to show some of the SETable things that
    it didn't before (EG, Binary EXtensions) as well as values for
    all the new commands.
  . The PARITY used for a transfer is now logged in the LOG file.
  . The activation character for received packets is now included in
    KERMIT "debug" files.
  . Fixed bug that prevented records with embedded CR's from being
    received correctly.
  . Relaxed syntactical constraints on some commands so optional blanks
    are permitted.
  . Added the SET FILE PREFIX, SET FILE SUBDIRECTORY CHAR and
    SET FILE SUBDIRECTORY { ON | OFF } commands.
  . Made it possible to interrupt multiple file transfers so you can
    quit the current file or the entire group of files.
  . Added the CG and STATION options to allow transfers through ComGroups.
 
I hope to have another version in about two months that will include long
packets and maybe sliding windows.

- Lee Hallin -
  Honeywell Bull
  5250 West Century Blvd
  Los Angeles, CA  90045
  (213) 649-6870 x317

[Ed. - Many thanks, Lee!  The new files are in KER:HC6*.*, available via
anonymous FTP from CU20B.COLUMBIA.EDU, and HC6* * available from
KERMSRV at CUVMA via BITNET.]

------------------------------

Date: Thu 28 Jan 88 09:59:41-EST
From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU>
Subject: New PDP-11 Kermit Documentation
Keywords: PDP-11 Kermit, RSX, RSTS, RT11

Thanks to Dan Graham at NYU, we have a Scribe'd version of the PDP-11 Kermit
manual, suitable for typesetting and inclusion in the next edition of the
Kermit User Guide.  It's in KER:K11MIT.MSS and .DOC.

------------------------------

Date: Thu 28 Jan 88 09:59:41-EST
From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU>
Subject: CU20B Nears Retirement
Keywords: CU20B, Kermit Distribution, DEC-20, DUMPER Tapes

CU20B only has a few more months to live (exact date of retirement still to
be determined).  So, if anybody wants to order DEC-20 DUMPER or DEC-10 BACKUP
tapes, get those orders in soon!  Once CU20B is gone, we won't be able to
make these tapes any more.  Also, over the coming months, we'll be
converting our network operations to a VAX 8700 with Ultrix 2.0 (which is
like 4.2BSD Unix) system and an IBM mainframe running VM/CMS.  Watch
Info-Kermit for announcements about new procedures.

------------------------------

Date: Fri, 29 Jan 88 09:06:00 EST
From: Phil Benchoff <BENCHOFF%VTVM1.BITNET@CUVMA.COLUMBIA.EDU>
Subject: SCANCHEK 4.0 Available
Keywords: SET KEY, SCANCHEK, Key Definition

Finally.  Enclosed is a version of scanchek.c and scanchek.exe that
should match MS-Kermit 2.30.  The enhanced keyboard is supported,
and the program will indicate if a particular key is available on
the enhanced keyboard only.

[Ed. - Thanks, Phil!  For those who don't know, this is an interactive
program that can be used to find the key codes for all the keys on the
IBM PC keyboard, for use with Kermit's SET KEY command.  The files are
kept in KER:MSUCHK.C and KER:MSUCHK.BOO.]

------------------------------

Date: Sat, 23 Jan 88 13:54:57 EST
From: "James H. Coombs" <JAZBO%BROWNVM.BITNET@CUVMA.COLUMBIA.EDU>
Subject: MSKermit 2.30 Rollback Disable
Keywords: MS-DOS Kermit 2.30

Alastair Milne writes:

    Every so often I will aim for the RETURN key, miss it, and hit HOME
    instead.  Everything stops in its tracks while n pages of screen
    scroll past.  And END, of course, so that it will all scroll back to
    where it's supposed to be.

    ...

    I see no way among the commands to turn it off (or perhaps reduce
    the number of screens that are saved).  Is there in fact a way; or
    is one available in the next version?

To disable the roll back, simply remap the relevant keys to other functions.

I have the opposite problem: mapping the roll back functions to new keys.
I tried with 2.29c with no success; I asked and either didn't get an
answer or it slipped by me.  Is there a way to remap this functionality?

Thanks.  --Jim

Dr. James H. Coombs
Software Engineer, Research
Institute for Research in Information and Scholarship (IRIS)
Brown University
jazbo@brownvm.bitnet
Acknowledge-To: <JAZBO@BROWNVM>

[Ed. - We received an avalanche of messages to this effect.  Apologies for
the thoughtless "Ed." comment.  Of course you can remap your Home key to not
invoke the \Khomscn verb.  You can move that function to some less easily
hit key, e.g. the commands "set key \327 {}" and "set key \1399 \Khomscn"
move it from Home to Ctrl-Home.  And to answer Jim's question, yes, you can
remap the rollback function to other keys, as in "set key \338 \Kupscn" to
move it to the Ins key.]

------------------------------

Date: Mon, 25 Jan 88 10:51:59 EST
From: Owen Adair <owen%gt-eedsp@gt-eedsp.UUCP>
Subject: Kermit 2.30 for GRiD
Keywords: MS-DOS Kermit 2.30, GRiD Kermit

I downloaded 2.30 Kermit for the GRiD (.BOO format) and it tries to run, but
all I get is garbage then it crashes. Has anyone else tested the beast on a
GRiD model 1101? I currently use 2.29 and it works although not all the
features function.

Hope INFO-KERMIT can help!

-owen

Owen Adair, WD4FSU                                            
Digital Signal Processing Lab, Georgia Tech, Atlanta GA 30332
Internet:       owen%gteedsp@gatech.gatech.edu    
uucp:   ...!{decvax,hplabs,ihnp4,linus,rutgers,seismo}!gatech!gt-eedsp!owen

[Ed. - This would require a Grid assembly-language programmer to look at
2.30 code and debug it.  Anybody?]

------------------------------

Date: Wed, 27 Jan 88 10:14 EST
From: <TLEWIS%UTKVX3.BITNET@CUVMA.COLUMBIA.EDU>
Subject: Rainbow MS-DOS Kermit 2.30
Keywords: MS-DOS Kermit 2.30, Rainbow Kermit

I recently put a question here regarding the printer port on the Rainbow.
I had a copy of the documentation for version 2.29.1 which does support
the printer port on a rainbow.  In MSKERM.DOC, it states that the printer
port is not supported and indeed I have found that it does not.  Are there
any plans for the offical distribution of Kermit to support the printer
port, i.e. being able to send the proper escape sequence to the printer port
to turn it on and off and to send files to it from a host such as a vax, or
any host?

Terry Lewis
University of Tennessee at Martin
Martin, Tennessee  38238

[Ed. - This would require an expert Rainbow programmer.  I don't know if
the Rainbow printer port is the same kind of device as the communications
port, with the same interrupt structure, etc.  If so, it might be easy.
Anyone?]

------------------------------

Date: Wed, 27 Jan 88 13:05:03 EST
From: "James R. McCoy (CCS-E)" <jmccoy@ARDEC.ARPA>
Subject: Kermit 2.30 and the Tandy 1000
Keywords: MS-DOS Kermit 2.30, Tandy Kermit

I have a strange problem with Kermit on a Tandy 1000 -- I have an older
Tandy 1000 with a Monochrome monitor and MSDOS 3.2.  Kermit seems to work
well enough until I hit the ^]c combination.  At that point the screen goes
blank and commands such as quit exit and push fail -- The only thing I can
seem to do is hit a "C" which puts me back to the host, or I can issue a
three-fingered salute and reboot.

In an effort to work around, I renamed mskermit.ini to *.old and reexecuted
-- This got me to the Kermit-MS> prompt.  Everything worked well until I hit
the "c" to connect.  The conection worked well and the session went well up
to the point where I did the ^]c combination and then I went right back to
square 1 --

Is there a special version specifically for the Tandy 1000?

Thanks for your assistance.

[Ed. - No, there's not a special version for the Tandy 1000.  It's allegedly
IBM compatible, but I have heard a lot of stories to the contrary, e.g. that
the Epsilon editor doesn't work at all, etc.  Anybody know the real story?]

------------------------------

Date: Thu 28 Jan 88 09:59:41-EST
From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU>
Subject: IBM PC Convertible Diskettes?
Keywords: IBM PC Convertible

Can anyone say for certain whether IBM PC Convertible 3.5" diskettes
are compatible with the 720K 3.5" diskettes that are used in the IBM PS/2
Model 30?

------------------------------

Date: 27 Jan 88 10:59 EST
From: junod@dtrc.ARPA (John Junod)
Subject: C-Kermit Timeout Problem Fix
Keywords: C-Kermit 4E(068)

The following code was developed about a year and a half ago by Mark A.
Thomas here at David Taylor Research Center to solve the time-out problem as
mentioned in the Info-Kermit Digest, V7 #3.

Hope this helps....

                   L. John Junod
                   junod@dtrc

/* The following fix was made in kermit to prevent the local machine from
timing out the terminal line.  The local machine uses the last access time
of /dev/ttyXX to check for an inactive terminal. Fancy kermit i/o doesn't
update /dev/ttyXX while packets are sent/received. Since a packet doesn't
update the access time of the tty line, The local machine thinks the line is 
inactive and times it out after 5-10 minutes.  A call to the routine  
check_time() is made in spack() and rpack(), and after 50 packets the tty 
time is updated.  60 packets at 300 baud take about 5 minutes to send, so 50
packets is safe. */

/* included to fix local timeout problem */

#include "signal.h"
#include "sys/types.h"
#include "sys/timeb.h"
#define  NULL           0x0

/*  C H E C K _ T I M E  --  Fix timeout during packet sending and
                             receiving.  Since packets don't update the
                             tty access and modify times, we do it.      */

check_time()
   {
   static char *tty_name = (char *) NULL; 
   static int i = 0;
   char *ttyname(),*calloc();
   struct timeb tbp;
   time_t t[2];
   if (tty_name == NULL)
      {
      tty_name = calloc(32,sizeof(char));
      strcpy(tty_name,ttyname(0));    /* allocate and get tty name of stdin */
      }
   i++;
   if (i > 50)
      {
      i = 0;
      ftime(&tbp);           /* get system time */
      t[0] = tbp.time;
      t[1] = tbp.time;
      utime(tty_name,t);     /* update tty time */
      }
   }

[Ed. - This would probably do the trick for BSD, but all the time stuff is
system dependent.  BSD, Sys V, Xenix, Venix, V7, etc, have different ways of
getting the time.  Meanwhile, this message has been added to the C-Kermit
"beware file".]

------------------------------

Date: Tue, 26 Jan 88 17:11:35 CST
From: David A Rasmussen <dave@csd4.milw.wisc.edu>
Subject: Compiling Kermit 4E (068) on BSD 4.3
Keywords: C-Kermit 4E(068)

make wermit "CFLAGS= -DBSD4 -DDEBUG -DTLOG"
cc -DBSD4 -DDEBUG -DTLOG -c ckuusr.c
"ckuusr.c", line 515: KERMRC undefined

I have not changed anything. I copied the new files described by FDC
on Jan 25.

Is this a general problem or perhaps something I did? (all I did was
copy the new files into my older distribution (066?) with the xk* files.

I think perhaps ckuusr.h also changed if I read your .bwr file right.
Of course this wasn't listed in your message to the net...

Anyhow, that could be it, or else I'm totally wrong :-)

[Ed. - I hope so!  KERMRC is defined in ckuusr.h as ".kermrc" for Unix
systems, and that's where ckuusr.c picks up the definition from.  None of
that changed, and it compiles fine on our Unix (Ultrix) systems.  Did
anybody else have any trouble with this?]

------------------------------

Date: Tue, 26 Jan 88 16:08:36 PST
From: unisoft!jeffb@ucbvax.Berkeley.EDU (Jeff Bloomfield)
Subject: A Better Way to Detect Background Execution (in ckutio.c)
Keywords: C-Kermit 4E(068)

I currently use C-Kermit 4C(052) on a System V machine.  Perhaps this bug
has been corrected.

I usually invoke kermit with an sh script, which runs my dialing (phone
directory) program prior to invoking kermit.

There were various reasons why I had to use 
    :
    trap "args" 1 2 3
    :
    kermit

Naturally, since this version of kermit tests the value that that signal(2)
returns in

    if ( signal( SIGINT, SIG_IGN ) ) {
        backgrd = 1 ;
        :
        :
    }
to detect background execution, kermit would fail with
    
    Fatal: Kermit command error in background execution.

as soon as I made a typo from the interactive prompt.  A solution that seems
to work (on both BSD and SYS V) is:

    if ( ! isatty(0) ) { /* Is stdin a tty? */
        signal( SIGINT, SIG_IGN ) ;
        backgrd = 1;
        :
        :
    }

Refer to:  ttyslot(3) - SYS V
           ttynam(3F) - BSD

QUESTION:  Has this problem been corrected?  Does this look like a more
           reasonable solution?  Appreciate a reply.

[Ed. - This is essentially what C-Kermit 4D and later do.  Except today's
release does it a different way for BSD, which turns out to work even
better: Kermit's process group is compared with the controlling terminal's
process group (got via an ioctl that's unavailable in Sys V), and if they
differ, then it's in the background (thanks to Fuat Baran of Columbia U for
suggesting this approach).  If anybody else has a definitive test for
background operation under Sys V, BSD, or other Unix systems, please send it
in.  I'm not sure the isatty(0) test is foolproof -- it certainly isn't in
BSD.  Nor is the signal(SIGINT,SIG_IGN) == SIG_IGN test.  Neither one of
these tends to work when the program is invoked with "&", whereas one works
and the other doesn't under various other conditions (e.g. "kermit < foo",
"foo | kermit", "kermit < foo &", etc etc).  Also something very strange
happens to the signals if you take a command file from Kermit, which invokes
a shell escape, e.g. "! date").  Enough...]

------------------------------

Date: Wed, 27 Jan 88 10:04:59 -0500
From: Dan Grim <grim@UDEL.EDU>
Subject: C-Kermit 4E(068) on 4.3 BSD
Keywords: C-Kermit 4E(068)

When I say "make bsd" I end up with _getcwd undefined at link time!  There
seems to be a FORTRAN getcwd routine which might actually work 1but the
arguments don't necessary look compatible.  Has this version really been
built successfully under 4.3?

Dan

[Ed. - About 500 people complained about this one.  The assumption was that
getcwd() was a system call available on all versions of Unix.
Unfortunately, it's not.  On Berkeley, it's called getwd().  The reason I
didn't spot this is that I compiled the program on Ultrix, which is supposed
to be like 4.2BSD, little suspecting that it also includes a collection of
"System V Compatibility Functions".  Real BSD 4.2 or 4.3 doesn't have getcwd.

Unfortunately, the name can't simply be changed to getwd() in BSD versions,
because Kermit already has an internal function by that name, which is
defined and used in ckucmd.c.  So in order to use the system's getwd() call,
Kermit's function must have its name changed to gtword().  These changes are
in 4E(070) announced above.]

------------------------------

Date:     Fri, 29 Jan 88 13:51:31 EST
From:     Gary P Standorf <standorf@CECOM-2.ARPA>
Subject:  Small Problem in ckuusr.c for System V

I tried compiling C-Kermit 4E(069) on a VAX 11/780 running System V Release
2 and it blew up in the ckuusr.c module.  It seems that an #ifdef is missing
around the stptrap() function.  Since this function is called in response to
a SIGTSTP signal, and that doesn't exist on SVR2, it appears that an #ifdef
SIGTSTP is needed so that the function is only included if SIGTSTP is
defined.

Thanks,

Gary Standorf
<standorf@cecom-2.arpa>

[Ed. - Thanks for pointing this one out.  The reference to SIGSTOP in
function stptrap() in ckuusr.c should be surrounded by #ifdef SIGSTSP ...
#endif conditionals.]
   
------------------------------

Date: 28 Jan 88 09:48:00 GMT+109:13
From: <kermit@nusc-ada.arpa>
Subject: Problem with CKUUSR.C on VMS

The symbol SIGSTOP is not defined on our VMS system(4.5).  The only call to
this routine that I could find was enclosed with the an #ifdef SIGSTSP.  The
program compiled and ran fine on this system after this change was made to
CKUUSR.C.  Thanks for all your efforts, you have a great package.

ken poole
poole@nusc-ada.arpa

[Ed. - Thanks, same deal as with Sys V, fixed in 4E(070).]

------------------------------

Date: Thu, 1988 Jan 28   17:46 EST
From: (John F. Chandler)   PEPMNT@CFAAMP.BITNET
Subject: Kermit Support for IBM 3708 Front Ends
Keywords: Kermit-370, 3708, IBM 3708, IBM Mainframe Kermit, TSO, MVS/TSO

The release of Kermit-370 4.0 for TSO is approaching, but there are a few
loose ends that need to be tied up.  One of these is the support for the
3708 front end, which has been copied as accurately as possible from the
version known as TS3KER in the Kermit distribution.  Since there has
apparently never been any feedback on TS3KER, I don't even know if this
particular 3708 approach has worked for anybody besides its originator.
Anybody who is running TSO through a 3708 and who would be willing to report
on either TS3KER or a preliminary version of TSO Kermit 4.0 should drop me a
line.  Thanks.
                                     John

------------------------------

Date: Sun, 24 Jan 88 17:59:02 EST
From: Marshall_DeBerry@um.cc.umich.edu
Subject: Re: TRS-80 Model II Kermit HEX File
Keywords: TRS-80 Model II Kermit

RE: Info-Kermit Digest V7 #2:

RE TRS 80 MODEL II Kermit hex file: I believe that file is to be used with
Pickles and Trout CPM release 2.2.  I don't believe there was ever a version
done for TRSDOS.  I got the source files about maybe 4 years ago to try and
do such a conversion, but the volume of assembly code was just too much to
try and convert (plus the code at the time was in 8080 and I was versed at
the time in Z80, hence that conversion had to be done first).  Anyway,
TRSDOS was undergoing a slow death at the time, and I just gave up on the
conversion.  If there ever was a TRSDOS version of kermit, I too would be
interested in hearing about it.

[Ed. - There is indeed a native TRSDOS version for the Model II.  It's in
KER:TR2KER.*, announced in Info-Kermit V6 #8, 26 March 1987.]

------------------------------

End of Info-Kermit Digest
*************************
-------