Subject: Linux-Development Digest #249
From: Digestifier <[email-masked]>
To: [email-masked]
Date: Sat, 1 Oct 94 08:13:11 EDT

Linux-Development Digest #249, Volume #2          Sat, 1 Oct 94 08:13:11 EDT

Contents:
  Documentation of EIDE? (Delman Lee)
  Re: HELP: Mounting Hitachi CD-ROM drive under LINUX!!!! (Damian Kelly)
  Re: PROMISE DC4030VL-2 IDE Controller (Kamal Shaker)
  Re: Don't use Linux?! (Dennis Heltzel)
  Re: Mitsumi and Multisession CD's (Heiko Schlittermann)
  Re: BSD/386 vs. Linux Performance ("Simon P Allen")
  Re: [QUESTION] Linux terminal control ("Simon P Allen")
  Re: [?] DIP with auto-redial? (Mihail S. Iotov)
  Re: SMail security hole? (Colin Coghill)
  Re: BSD/386 vs. Linux Performance (Ed McCreary)
  Re: Does linux implement semaphores? (Mike Morgan)
  Re: unique timestamp in kernel code? (Rob Janssen)
  Re: Could TCP/IP be implemented over SCSI? (Rob Janssen)
  Re: CD-ROM w/ read-only mount. Why? (Rob Janssen)

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

From: [email-masked] (Delman Lee)
Subject: Documentation of EIDE?
Date: 30 Sep 1994 17:54:36 GMT

Hi! Could someone point to me where I can get info on the EIDE
specification? I managaed to get info on the ATA-2 spec.

Thanks, Delman.
--
______________________________________________________________________

  Delman Lee                                 Tel.: +1-215-662-6780
  Medical Image Processing Group,            Fax.: +1-215-898-9145
  University of Pennsylvania,
  4/F Blockley Hall, 423 Guardian Drive,                         
  Philadelphia, PA 19104-6021,
  U.S.A..                            Internet: [email-masked]
______________________________________________________________________

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

From: [email-masked] (Damian Kelly)
Crossposted-To: comp.os.linux.help
Subject: Re: HELP: Mounting Hitachi CD-ROM drive under LINUX!!!!
Date: 27 Sep 1994 11:22:44 GMT

[email-masked] wrote:
: Has anyone mounted an Hitachi CD-ROM drive under Linux? 
: Would you be willing
: to share your driver or mounting instructions?

Have you tried:

mount -o,ro -t iso9660 /dev/cdromx /mnt

mount seems to require this on later kernels

Damian

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

Crossposted-To: comp.os.linux,comp.os.linux.help,comp.os.linux.misc
Subject: Re: PROMISE DC4030VL-2 IDE Controller
From: [email-masked] (Kamal Shaker)
Date: Thu, 29 Sep 1994 05:58:51 GMT

Christian Nelson ([email-masked]) wrote:
: I also have one of these controllers, though I only use two drives
: with it... so I'm not going to be much help.  I'm almost positive
: you'll need to acquire the patch that allows you to use two IDE
: controllers simutaneously.  The promise card, as far as using a 3d and
: 4th drive is concerned, acts like two controllers.

Nope... I have one of these cards with the at2disk or whatever
patches and it doesn't work, the kernel complains about not
being able to resest the controller...

: Have you have any trouble with your controllers, ie: system locking-up
: when doing intensive (disk intensive) activities?  Mine does, but ONLY
: when I have it set on defered write.  Let me know if you also have
: this problem.  I think it might me related to my drive
: configuration... That Promise controller doesn't like WD drives in a
: two drive configuration.

Well it crashed under OS/2 last night when I was copying ~50meg
from the CD, that and the fact I can't get anything to boot in
fast ( read cache only ) mode.

: -- 
: Christian                 |
: [email-masked] |
: [email-masked] |

Kamal.
-- 
==============================================================================
Kamal Shaker,        | [email-masked] or [email-masked]
Student Vax Cluster, | %SYSTEM-F-EXQUOTA, alcohol quota exceeded,
La Trobe Uni,        | stomach dumped.       (Using OS/2 2.1, and loving it!)

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

From: [email-masked] (Dennis Heltzel)
Subject: Re: Don't use Linux?!
Date: 30 Sep 1994 18:05:54 -0000

Mark A. Horton KA4YBR ([email-masked]) wrote:
:       I cannot say enough about this product!  It works, works
: great!  Has one helluva great manual too (worth the extra bucks!).

Yes! It does work. Really well too. I am now porting all my xbase apps to 
FlagShip via Clipper. This lets me offer the app in both DOS network 
(Clipper) and UNIX (FlagShip on Linux) formats using the same exact 
source files (compile w/ Clipper using dosemu). My company is using 2 
FlagShip apps right now to provide multi-user database access to a subset 
of user on our internal network. I have lots of plans to use it for other 
things in the coming months. The full, unlimited user version for Linux 
is only $499! No royalties, no copyright notices in your face, just 
Clipper apps running at the speed of C. I think my company practically 
"stole" this program, considering all the apps I'm gonna write ;). I 
guess we get a "discount" for being an early adopter.

I also plan to use FlagShip to compile apps for other companies. I hope 
to "moonlight" as a consultant and create Clipper/FlagShip apps to order. 
The only thing I need to decide is whether I should charge more for the 
FlagShip app since they will save so much on the hardware !!

Dennis

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

From: [email-masked] (Heiko Schlittermann)
Subject: Re: Mitsumi and Multisession CD's
Date: Fri, 30 Sep 1994 14:55:32 GMT

In article <[email-masked]>,
Horst Zoelzer <[email-masked]> wrote:
>
>                       can't find superblock
>
>Because I can read this CD under DOS and Windows I think it is a problem with
>the dirver for Mitsumi CD-ROM's. 
>Is there any possibility to mount multisession CD-ROM's under Linux with a
>Mitsumi FX001D ?
>Is somebody updating the mitsumi driver for multisession CD's ?

... He, I'm working on a new Mitsumi Driver (yes, I've mentioned it
quite often, but for now the driver works a little bit for me
(locking while concurrent access (?), *NO* buffer at all, using
interrupts and about 220..250 KB/s).   But --- no ioctrl is
implemented yet.)

I'd try to handle Photo-CD if someone could lend me such a nice thing
for a while....  And could be patient. ;-)

-- heiko

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

From: [email-masked] ("Simon P Allen")
Subject: Re: BSD/386 vs. Linux Performance
Date: Fri, 30 Sep 1994 17:34:03 GMT

> Michael Nelson ([email-masked]) wrote:
> : Anyone have any performance stats comparing BSD/386 (BSD/OS) with
> Linux?: Network, disk, and overall...
> > DUCK!

Batten down the hatches, women and children first, don't spare the 
horses, take cover...

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

From: [email-masked] ("Simon P Allen")
Subject: Re: [QUESTION] Linux terminal control
Date: Fri, 30 Sep 1994 17:34:07 GMT

> > Hello all,
>       The school I work at is interested in getting linux installed.  > 
They
> would like to be able to use it in CS classes if there is a way for the
> instructor to access a students terminal (via ethernet or the student
> can belogged into the instructors linux box), so the instructor can take
> over thestudents terminal and help the student with programming or
> whateverproblems.  After the instructor shows the student what is wrong,
> theinstructor turns the terminal back over to the student.  Is there
> anythinglike this out there? If so can it control a screen under dosemu?
>  Pleasereply with any information you may have via email or post.

Yes, this is possible.  One practical way to do this, that has just come 
to mind, is using a program called kibitz in conjunction with the Linux 
virtual consoles.  The solution would go something like this :

kibitz is run on the students and teachers machines. Whatever the student 
types, the teacher sees and vice versa.  If you want the teacher to be 
able to switch quickly between students, you might allocate a virtual 
console session to each student.

I didn't understand the bit about dosemu at the end of your message. Do 
you mean that you want all the students to be running some dos program or 
do you suggest that this may be a way of doing it?

The solution I have proposed would only work if all the students were 
running Unix/Linux.  Each student could have a dumb terminal logged into 
the teachers Linux box or they could be Linux workstations in their own 
right - kibitz supports both. dosemu is out though.

I'm not sure how many students this would support. It's limited by the 
number of virtual consoles configured into the kernel - can't remember 
what the limit is but the stock kernel is 8 (I think).

Hope this helps. BTW, this seems to be exactly the kind of story that the 
Linux Journal folk are looking for. It would be nice to see this as a 
'real world' Linux example.

Cheers & Beers, Simon.

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

From: [email-masked] (Mihail S. Iotov)
Subject: Re: [?] DIP with auto-redial?
Date: 28 Sep 1994 01:28:43 GMT

[email-masked] (Harald Milz) writes:

>I tuned dip-337 some time ago to return an exitcode from the dip script.
>Now you can say "exit 5" in the script, and dip returns "5" to the shell.
>This allows me to auto-redial if a recoverable error (such as BUSY) 
>occurs. I sent the respective patch to Uri Blimenthal but didn't
>receive an answer. Seems he's not too interested. If anyone wants
>the patch (actually, five or six lines more), drop me a note. 

You can also use the following in your script :
#!/bin/sh
#-- script startnet 
/sbin/dip /etc/dipscript
if (`/sbin/ifconfig sl0 | grep UP | wc | awk '{print $1}'` == 0) then
        exec startnet
else
echo Sending spooled mail.
... etc

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

From: [email-masked] (Colin Coghill)
Crossposted-To: comp.os.linux.help
Subject: Re: SMail security hole?
Date: 29 Sep 1994 07:07:34 GMT

: >Your conclusion (smail must be misconfigured) is correct, your proof
: >is not; the hole mentioned allows unwanted _creation_ of files in
: >inaccessible directories, with the file being owned by the user

:       I tested the creation of a new file at the same time as I tested
: trying to overwrite /etc/passwd and creation didn't work on my system
: either. I would suspect another possibility is that it is not a smail
: problem but a permission problem with /. I don't have check_path set

I have tried this on both my own, and another system. Mine is a "standard"
Slackware 2.0 install, and Smail allows any user to create files in
any directory (on both machines).

Not being able to append to existing files is a relief, and the files are
created by the user, rather than "root", so that rules out .rhosts, but
it *is* trivial to create trojans with this. (I demonstrated using the bug
to attain "root" user to the sysadmin on the other machine).

I know very little about smail (my one isn't even setup for remote mail),
and have no idea how to go about blocking this problem, but if it is
a problem on a "Standard" Slackware 2.0 setup (I haven't even looked at
smail since I installed, never mind tried reconfiguring it), then it
is *serious*.

I guess I'll have to dig up the source and have a read.

- Colin

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

From: [email-masked] (Ed McCreary)
Subject: Re: BSD/386 vs. Linux Performance
Date: Tue, 27 Sep 1994 13:52:17 GMT

In article <[email-masked]> [email-masked] (Grant Edwards) writes:

   Michael Nelson ([email-masked]) wrote:
   : Anyone have any performance stats comparing BSD/386 (BSD/OS) with Linux?
   : Network, disk, and overall...

   DUCK!

RABBIT!

--
Eddie McCreary                                       [email-masked]
Graphics Development                    "Do or do not, there is no 'try'."
  In the event of my capture, Compaq will disavow any and all knowledge 
          of my operations.  Of course I don't speak for them.

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

From: [email-masked] (Mike Morgan)
Subject: Re: Does linux implement semaphores?
Date: Fri, 30 Sep 1994 17:22:40 GMT

Yes, standard IPC stuff. They work well to. I've included a simple
test programs that I use to demonstrate semaphores in a class I teach.

CALCIN.C handles input and signals CALCOUT.C 
CALCOUT.C adds the values and prints the results.

/* CALCIN.C Simple semaphore and shared memory demo <=> CALCOUT.C */

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <errno.h>

/* Path for ftok function */
char KeyPath[]= "/home/mmorgan/classlinux";

typedef struct {
        int operand1;
        int operand2;
        } SharedType;

static struct sembuf UP[1]= {
                0, 1, SEM_UNDO
                };

static struct sembuf DOWN[1]= {
                0, -1, SEM_UNDO
                };
        
int main()
{
        SharedType *Shared;     /* Template for shared memory */
        char InStr[80];         /* Holding area for Input */
        int sem_id= -1;         /* Interprocess ID's */
        int shm_id= -1;
        int hex1, hex2, count=0;/* handling variables */

/* Initialize system error handler. */
        errno= 0;

/* Create semaphore */
        if ((sem_id= semget(ftok(KeyPath, 'A'), 1, 0666 | IPC_CREAT)) < 0) {
           fprintf(stderr, "calcin: cant get sem %s\n", sys_errlist[errno]);
           return -1;
        }

/* Create Shared Memory */
        if ((shm_id=
           shmget(ftok(KeyPath,'B'), sizeof(SharedType), IPC_CREAT|0666)) < 0){
           fprintf(stderr, "calcin: cant get the shm %s", sys_errlist[errno]);
           return -1;
        }
/* Place Template over the shared memory. */
        if ((Shared=
           (SharedType *) shmat(shm_id, (char *) 0, 0)) ==  (SharedType *) -1) {
           fprintf(stderr, "calcin: no attach shm %s", sys_errlist[errno]);
                return -1;
        }

        do {
/* Get The Input */
           fprintf(stdout, "Enter two hex values seperated by whitespace\n");
           gets(InStr);
/* Parse */
           if ((count= sscanf(InStr, "%X %X", &hex1, &hex2)) < 2) break;
/* Pass info to share memory. */
           Shared->operand1= hex1;
           Shared->operand2= hex2;

/* Do the system UP */
           if (semop(sem_id, &UP[0], 1) < 0) {
              fprintf(stderr, "Calcin Up error: %s\n", sys_errlist[errno]);
              return -1;
           }
        } while (count);
        
/* Free up the resources */
        shmdt((char*) Shared);
        if (shmctl(shm_id , IPC_RMID, (struct shmid_ds *) 0 ) < 0) {
           fprintf(stderr, "remove shm error: %s", sys_errlist[errno]);
        }
        errno= 0;
        if (semctl(sem_id, 0, IPC_RMID, 0) < 0)
                fprintf(stderr, "Unable to remove the semaphore\n");
        
}
/* CALCOUT.C simple shared memory and semaphore demo <=> CALCIN.C */

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <errno.h>

char KeyPath[]= "/home/mmorgan/classlinux";

typedef struct MemoryPass {
        int operand1;
        int operand2;
        } SharedType;

static struct sembuf UP[1]= {
                0, 1, SEM_UNDO
                };

static struct sembuf DOWN[1]= {
                0, -1, SEM_UNDO
                };
        
int main()
{
        SharedType *Shared;     /* Template for shared memory. */
        int sem_id= -1;         /* Interprocess ID's */
        int shm_id= -1;

        int sum= 0xFADE;        /* Control mechanism. */

/* Initialize error mechansism */
        errno= 0;

/* Attach to semaphore */
        if ((sem_id= semget(ftok(KeyPath, 'A'), 1, 0666 | IPC_CREAT)) < 0) {
           fprintf(stderr, "calcout: cant get sem %s", sys_errlist[errno]);
                return -1;
        }
/* Connect to shared memory. */
        if ((shm_id= shmget(ftok(KeyPath, 'B'), sizeof(SharedType), 0)) < 0){
           fprintf(stderr, "calcout:cant get shm %s", sys_errlist[errno]);
           return -1;
        }
/* Place pointer template over shared memory */
        if ((Shared= (SharedType *) shmat(shm_id, (char *) 0, SHM_RDONLY)) < 0){
           fprintf(stderr, "calcout: cant attach shm %s", sys_errlist[errno]);
           return -1;
        }

        while (sum) {
/* Wait for data while performing a DOWN */
           if (semop(sem_id, &DOWN[0], 1) < 0) {
              fprintf(stderr, "No Down in Calcout %s\n", sys_errlist[errno]);
              return -1;
           }
/* Perform calculations. */
           printf("The sum of the values passed is %X\n", 
                      sum= Shared->operand1 + Shared->operand2);
        }

/* Clean up. Assume calcin will clear */
        shmdt((char *) Shared); 
}

Good Luck !
-- 
Michael L. Morgan                    |       This is a Dangerous Place!
[email-masked]                   |              -King Crimson
Finger [email-masked] for PGP! |

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

From: [email-masked] (Rob Janssen)
Subject: Re: unique timestamp in kernel code?
Reply-To: [email-masked]
Date: Thu, 29 Sep 1994 23:33:25 GMT

In <[email-masked]> [email-masked] (Heiko Schlittermann) writes:

>Is there any possibility to create an unique timestamp (e.g. when the
>disk last time was changed) when running kernel code?

>Ad hoc I use jiffies, but jiffies are unsigned long, I read in
>limits.h: ULONG_MAX -> UINT_MAX = 2^32.  That is expressed in days
>about 497 days. (Based on 100HZ (100 jiffies / second).)  May be, it
>doesn't matter anything, but it would not be very clean....

It would not be very unique...  (10ms resolution only)

But you can call do_gettimeofday(struct timeval *tv) and get a microsecond-
resolution time.
(Arghh...  I see it is declared inline.  But you can change that.)

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   [email-masked]           |
| e-mail: [email-masked]     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

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

From: [email-masked] (Rob Janssen)
Subject: Re: Could TCP/IP be implemented over SCSI?
Reply-To: [email-masked]
Date: Thu, 29 Sep 1994 23:40:12 GMT

In <[email-masked]> [email-masked] (Mark A. Davis) writes:

>[email-masked] (David - Morris) writes:

>>While ya'll are at it, shared scsi hard drives and/or CDROMs might be
>>intersting as well ... even if restrictions to one host r/w others r/o.
>>Source trees, netnets, etc. would be obvious candidates.

>Actually, I think that is allowed within the SCSI specs..... Same SCSI
>bus, with two controllers, one in each host.  I don't know how it is
>done, but I'm quite sure I heard that somebody had done it before to
>share a tape drive....

It sure isn't a problem at the block device level, but it needs to be
supported at higher levels as well to yield meaningful results on devices
you want to share on a 'permanent' basis (like disks).
Having it r/o on one system and r/w on another is not going to cut it,
given cached disk blocks on the r/o system and delayed writes on the
r/w system...
You could send a special message that causes "disk changed" handling
whenever you write to the disk, but it would need to be implemented on
both systems.

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   [email-masked]           |
| e-mail: [email-masked]     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

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

From: [email-masked] (Rob Janssen)
Subject: Re: CD-ROM w/ read-only mount. Why?
Reply-To: [email-masked]
Date: Thu, 29 Sep 1994 23:43:17 GMT

In <[email-masked]> [email-masked] (Carlos Antunes) writes:

>Hello, fellow linuxers!

>The kernel 1.1.51 (and before) requires that you explicitly specify read-only
>to mount a CD-ROM unit. Isn't this redundant? Shouldn't the default be
>read-only, as it was in previous kernels?

The default has never been read-only, it was read-write.
It caused problems when you copied files to a CD-ROM.

It is easy to specify the read-only option in /etc/fstab, so there really
is no problem.

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   [email-masked]           |
| e-mail: [email-masked]     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

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

** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [email-masked]

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: [email-masked]

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************