From: mflll@uxa.ecn.bgu.edu (Dr. Laurence Leff)
Newsgroups: bit.listserv.novell,comp.sys.novell
Subject: Novel API calls login change disk quota
Date: 10 Sep 92 19:45:03 GMT
Organization: Educational Computing Network


We are experiencing some problems with Novell Netware Client API calls.

I have been using Programmer's Guide to Netware by Charles G. Rose.
We are on a 3.11 server.  Part of the problem is we don't have the
current Novell materials on API calls--yet.  I hope you will bear with
us and guide us to the info we need.    (I would be willing to pay
for FAX or xerox copies of the pages we need.)  We are setting the
registers and using geninterrupt in Turbo C as done in Rose's book.

I have several student projects doing needed work that are being
held up.

Anyway, on to the questions.

1. We are trying to issue a Login to File Server E3H 14H
Page 761, of Rose book

Unfortuantely, we are getting an attempt to use unencrypted passwords
error message.  I realize that there has been a change recently to
Netware that the password is encrypted on the PC and sent over the 
network--as opposed to doing the encryption check on the server.

How do we encrypt the password to put it in the Object Password Field.
(I assume that is what we need to do.)  One person here recommended that we
look up the encrypted password for the account to which we are logging
in and send that.  How do we do this--what file do we look at to
get the encrypted password.

Anyway, what we are trying to do is have a program do things that
the person issuing the command to run the program wouldn't have it.
For example, we are writing a program to force off idle users.
(I discussed earlier the possibility of allowing users to not have
any restricted log in time.  However, we want to clear the users if they
forget to log off.)  Our program works--it forces off those who have been
logged in too long.  However, we would like to
run it from an insecure terminal, perhaps started by a normal user
rather than the supervisor.

What we need is the capability to  have the program send the password
to the file server to validate its supervisor rights.

We also have a submit program working.  It will put a student's
program in the appopriate place to be graded.  We are setting the
directory to have scan rights only available.  This allows us to put
new programs in the network.  However, we have a sequence number
file and a log file that we only want our submit program running.
Of course, all the students have to be able to run the submit
program.  We need the submit program to  gain the rights of some
other user, say account "submit" prior to modifying the log and sequence
files.

In short, we are looking for the equivalent of "setuid" in UNIX.

I read the documentation for and tried out the  program
"SUPER"
distributed by  Wolfgang Schreiber.

That allows us to turn supervisor state on and off for a program that
is already supervisor equivalent.  I couldn't figure out how to use it
to give me a setuid-like facility where non-supervisor users could
run a specific program with supervisor rights.

2. The second question is how do we  write a program  to change
an account's disk quota on a volume.  I found the API's to change the
accounting stuff.  I just want to change the restrictions on how
much space to use.

We have a lot of users with the disk space too high.  I would like
to automate changing the disk quota on each account rather than
having to use syscon on each account.

Thanks for any help you can provide.