[fa.info-kermit] Info-Kermit Digest V2 #38

info-kermit@ucbvax.ARPA (06/27/85)

From: Frank da Cruz <SY.FDC@CU20B.ARPA>

Info-Kermit Digest         Wed, 26 Jun 1985       Volume 2 : Number 38

                           C-Kermit Issue:

                    C-Kermit 4C for Amdahl UTS 2.4
                    C-Kermit 4C for Fortune 16:32
           Fixes to C-kermit for the Valid Scaldstar System
             C-Kermit on Whitechapel MG-1 with Genix 1.3
               Unix-Like Systems Supported by C-Kermit
             Transporting C-Kermit to Eurosys-16 with Os9
                   Dialing from C-Kermit on a 3B2?
                   C-Kermit 4x vs Line Locking, etc

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

Date: Thu 20 Jun 85 02:23:04-PDT
From: Jean-Pierre Dumas <DUMAS@SUMEX-AIM.ARPA>
Subject: C-Kermit 4C for Amdahl UTS 2.4

We have compiled Kermit 4.2 on UTS 2.4. It works very well (with "make v7";
we use a dummy function that always return 0 for initrawq in ckutio.c )

[Ed. - Thanks for the news!  I've added a comment to this effect to the
makefile.]

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

Date: Wed 26 Jun 85 04:32:52-PDT
From: Jean-Pierre Dumas <DUMAS@SUMEX-AIM.ARPA>
Subject: C-Kermit 4C for Fortune 16:32

Frank,

I insert ckuker.mak ckufio.c ckutio.c as modified for the fortune 16:32 by
Gerard Gaye.

[Ed. - The Fortune support has been fitted into KER:CKUKER.MAK, KER:CKUTIO.C,
and KER:CKUTIO.C.  It's mostly the same as 4.1bsd.]

As we are connected through an x25 network it should be possible to safely
by-pass some packet assembly/deassembly/coding... of kermit and rely on the
x25 pad to do the work...anybody working on that ???

[Ed. - The Kermit protocol is not layered well enough to do things like this.]

Jean-Pierre Dumas

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

Date: Thu, 20 Jun 85 17:32:51 pdt
From: psivax!woof (Hal Schloss)
To: ttidca!randvax!sy.fdc@cu20b.ARPA
Subject: Fixes to Ckermit for the Valid Scaldstar System

We have a VAX 11/750 running BSD 4.2 that we talk to with Intel MDS's and
VALID Scaldstars.  We use the VAX to develop code that we download to the
MDS's and to provide remote services for the Scaldstars. In the course of
getting these to work I had to make changes to existing kermits to allow
communication to C-kermit on the VAX.

For the VALID systems I had to change all references to the variable cc in
the file ckucmd.c.  These were changed to ccx, the problem is that cc is
an internal variable for the VALID's assembler which blows up in an ugly
fashion if you declare a second time. I also had to replace a reference
to FREAD in ckutio.c as the VALID does not have this in it's include files.
I hope this works, it seems to so far.  To compile for the VALID include
the changes listed in diff -c format below (using patch?) and make bsd.

[Ed. - diffs omitted.]

By the way, I have implemented a remote line printer server for the VALID on
our vax, but I have to run kermit at 300 baud as the VALID has problems
above that speed. I don't know why though.

		Hal Schloss
		(from the Software Lounge at) Pacesetter Systems Inc.
{trwrb|allegra|burdvax|cbosgd|hplabs|ihnp4|sdcsvax|aero|uscvax|ucla-cs|
 bmcg|sdccsu3|csun|orstcs|akgua|randvax}!sdcrdcf!psivax!woof
 or {ttdica|quad1|scgvaxd|nrcvax|bellcore|logico}!psivax!woof
 ARPA: ttidca!psivax!woof@rand-unix.arpa

[Ed. - This can be handled by adding an entry like this to the makefile:

#Valid Scaldstar
valid:
	make wermit "CFLAGS= -DBSD4 -Dcc=ccx -DFREAD=1"

I've added this to KER:CKUKER.MAK.  At some later time, perhaps some
of the commonly-objected to variables, like "cc" and "data" can be
renamed.]

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

Date:     Fri, 21 Jun 85 18:33:06 BST
From:     Ljwu@ucl-cs.arpa
Subject:  C-Kermit on Whitechapel MG-1 with Genix 1.3

I have managed to compile and run C-Kermit 4C(050) on a Whitechapel MG-1
workstation (See Byte magazine from first quarter '85).  This machine is
basically a Unix engine running Genix-1.3 which is essentially a bsd 4.1
system.  Only hitches were:

1) single call to getppid in ckufio.c was hardwired to 0 due to
   lack of this system call in Genix.

[Ed. - Sounds a lot like the Fortune support mentioned above.]

2) wart compiles fine but refuses to process ckcpro.w  stating
   that one of the defined dynamic states is undefined.  Older
   version of wart from c-kermit 4.2 also gives a similar error
   but a couple of states later.  Lex also wouldn't process it.
   I suspect that it is an obscure bug in my operating system.
   I haven't had the time or energy to chase it down.  Instead
   I worked around the problem by using the distributed ckcpro.c.
   I haven't the foggiest idea of what is wrong since wart seemed
   happy on a vax running bsd 4.2 and previous versions (4.2) of
   wart and ckprot.w worked fine.

Thus far, I have done only basic send/receive functions on the
Whitechapel using only text files.  Everything for the present
seems to be in order.   THanks for kermit!

Les J. Wu

[Ed. - I've added Les's hints to the makefile comments section.]

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

Date: Wed 26 Jun 85 17:45:38-EDT
From: Frank da Cruz <SY.FDC@CU20B.ARPA>
Subject: Unix-Like Systems Supported by C-Kermit
To: Info-Kermit@CU20B.ARPA

The following list shows all the systems that C-Kermit has been reported to
work on (the Fortune, Valid, and Whitechapel changes announced above are
confined to the files KER:CKUKER.MAK (makefile), KER:CKUTIO.C, and
KER:CKUFIO.C).  I'd appreciate hearing from anyone who has it working on any
systems not listed here, so that I can add their machines and operating
systems to the list:

   Machine          Operating System      Machine          Operating System
    AT&T 3B Series   Unix Sys V            IBM PC/AT        Xenix/286
    Cadmus 68000     Unix Sys V            IBM 370 Series   VM/UTS 2.4
    CallanUnistar300 Unix Sys V            IBM 370 Series   VM/UTS v5
    Codata           Unix V7               NCR Tower        OS 1.02
    DEC VAX          Ultrix-32             NCR Tower        Unix Sys V
    DEC VAX, ...     Unix 4xBSD            PerkinElmer 3200 Unix V7
    DEC PDP-11       Unix 2xBSD            Pyramid 90x      Unix 4xBSD
    DEC PDP-11, ...  Unix V7               Masscomp         RTU 2.2
    DEC Pro-3xx      Venix V1              Motorola 4 Phase Unix Sys V
    DEC Pro-3xx      Venix V2              Plexus P60       Unix Sys V
    Fortune 16:32    For:Pro1.7            SUN              Unix 4xBSD
    HP-9836 S/200    HP-UX 200B            TRS-80 Model 16  Xenix
    HP-9000 S/500    HP-UX 3.25            Valid Scaldstar  Unix 4xBSD
    IBM PC/XT        PC/IX                 Whitechapel MG-1 Genix 1.3

Also, if anyone can claim that the current version does NOT work on any of
these systems, I'd also like to find out about that.  Thanks!  - Frank

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

Date: Fri, 14 Jun 85 13:20:15 -0300
From: mcvax!hut!kla@seismo.ARPA (Kimmo Laaksonen, Helsinki U of Technology)
Subject: Transporting C-Kermit to Eurosys-16 with Os9

Hi,
I'm forwarding the following mail (excerpt of) for your info:

    Date: 14 Jun 1985 1006
    From: SAHKOL.TAKALA
    To: LK.LAAKSONEN

    We are planning to transfer CKERMIT into a system called EUROSYS-16.  The
    operating system is OS9/68000.  The C-compiler we have running is done by
    Microware.  The version of CKERMIT we have got is 4.2(030).

	Petri Alhola, Lauri Aarnio
		Robcon OY
		Hankasuontie 9
		P. O. Box 9
		SF - 00391 HELSINKI
		Finland

	Juha Takala
		Helsinki University of Technology
		Power Systems Engineerin Laboratory
		Otakaari 5
		SF - 02150 ESPOO
		Finland

Electronic mail can be routed to the implementors through me.
Kimmo Laaksonen, mcvax!hut!kla@seismo.arpa.

[Ed. - Bob Larson, BLARSON%ECLD@USC-ECLA, is coordinating an effort to bring
up C-Kermit under Os9 on a variety of systems.  Maybe these two groups can
make contact, especially since Bob has access to the up-to-date C-Kermit
sources.]

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

Date:     Wed, 26 Jun 85 11:50:42 EDT
From:     Dr. Joseph M. Leonard <jmleonar@crdc>
To:       info-kermit@cu20b
Subject:  Dialing from C-Kermit on a 3B2?

This, hopefully, will be an easy one.  I have C-Kermit going on our 3B2, but
cannot get the dialer feature to work.  The "set modem racal" seems to work
(with the addition of an extra \r), but the "instant" that dialer tries to
do its stuff, DTR is dropped by the 3B2.  What I need is anybody who has
set up the /etc/inittab file to do this.  OR, if somebody using SysV.2.2 has
used racal modems to dial out, please let me know what I've missed...

                                                Joe Leonard
                                            <jmleonar@crdc.arpa>

[Ed. - Has anyone done this?  If not, a new dialer module is expected soon
that might help in this area.]

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

Date: Tue, 28 May 85 11:53:40 pdt
From: hpl-opus!poulton%hplabs.csnet@csnet-relay.arpa (Ken Poulton)
Subject: C-Kermit 4x vs Line Locking, etc

Questions:
   1) 	How does kermit do uucp line locking on 4.2 systems that
	(I understand) generally have /usr/spool/uucp owned by uucp
	and protected as 755 ?  Our system manager suggests that
	we should make kermit setuid uucp; is this commonly done?

   2)	Some of my uses of Kermit (a spooled print server, for instance)
	require that one script do the login, the next does a transfer,
	more transfers occur if they are queued, and then a script
	logs out.  Obviously, there needs to be a way to leave the
	line locked and open *between* Kermit invocations.
	I have addressed this with an eXIT command, (like berkeley mail)
	which exits the program without unlocking the line or dropping DTR.

	To make this work, I changed look4lk to swallow an existing lock
	file if the user is the owner.  (This, however, provides no 
	protection if kermit is setuid!  This may require some id inside
	the lock file.)

[Ed. - This is probably a good idea, provided Kermit not setuid'd.  If I were
a Unix system manager, I'd think twice about making a program as big and
complex as C-Kermit setuid'd anyway.]

	To alleviate the problem of users leaving the line locked,
	I print a warning message and create a script in the user's home
	dir ("UNLOCKtty04") which can delete the lock and drop the line.
	To avoid confusion, I have disabled the 'exit' command.

[Ed. - Well...  Not to rehash all the old arguments, but there's simply NO GOOD
WAY to handle this situation over the entire family of Unixes.  Unix stupidly
lets anyone assign an appropriately protected tty, regardless of whether
someone else may also have it assigned.  Reasonable multiuser operating systems
allow access to devices like terminals and tape drives to one job or process at
a time, since there's no practical way that serial devices such as these can be
shared.  Many operating systems even have a tough time letting users share disk
files!  Anyway, because Unix blithely grants a tty device to as many users who
ask for it, the whole business of "line locking" came about.  Whoever it was
that invented uucp decided for the rest of us how lines should be locked: by
writing a file into a particular directory like /usr/spool/uucp or /etc/locks.
This requires that the user's process must have write access to that directory.
This is accomplished by (a) protecting the directory so that the public can
write into it (which opens the door to potential security problems); (b)
protecting the directory so that members of certain groups can write into it
(which requires the system manager to keep track of who's in what group); (c)
setting the process's user id to a privileged id or one that has owner access
to the lock directory (more security loopholes).  All of these approaches
require some action of the system manager in order to install a program that
wants to create locks, meaning that such a program is not user installable,
at least not unless condition (a) already prevails.  If one wants to find out
who is currently using a device, option (c) is not viable, since the user's
name will not appear as the creator of the lock file.

Assuming that all this can be set up, there still remain ___ major problems
with line locking:

1. Programs will always appear that do not honor the locking conventions,
defeating the entire purpose of the locking mechanism by simply ignoring it.

2. Programs that do honor the locking convention will occasionally leave lock
files behind (because the process was killed, the system crashed, or the
program itself crashed), preventing other users from using the device even when
it is free.

The trade-off, then, is whether it is better to err on the side of security
or on the side of letting users get their work done.  C-Kermit, in its present
form, makes various compromises.  If read or write access to the lock
directory is denied, the program issues a warning but allows the user to
proceed.  If a lock file exists for the specified device, the user is not
allowed to proceed, but is given an "ls -l" listing of the lock file to show
the file's creator and creation time.  Since C-Kermit does not allow access to
a locked line, it is very careful to get rid of lock files whenever it exits,
whether because a command-line invocation was completed, an "exit" command was
given, or an interrupt or quit signal was raised.

If users are given the ability to exit Kermit without releasing the line or
closing the lock file, many lock files will be left behind.  This is especially
likely because the intention of this feature is to facilitate running Kermit
from unattended scripts.]

	The other problem is that on Bell systems,
	we have no job control (sigh).  This means that we can't
	put a long transfer into the background after it starts.
	The eXIT command allows you to be using Kermit CONNECT
	for doing work, eXIT and do a transfer in the background,
	and re-CONNECT when the transfer is done.
	Perhaps Kermit should support background transfers directly...

[Ed. - I can see that the proposed eXIT command has its uses, but it really
supposes a friendly environment where everyone knows everyone else and can
chase them down when they leave a lock file behind.  But what happens when you
have Unix running on some huge timesharing system like a VAX 8600 or an IBM
3081 with 5000 users, and they're all leaving lock files behind, perhaps even
on purpose (maybe they're premed students...)?]

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

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