Newsgroups: comp.sources.reviewed
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!netfs.dnd.ca!dgbt!rick.doc.ca!calvin.doc.ca!csr
From: Steven Grimm <Steven.Grimm@Eng.Sun.COM>
Subject:  v01i001:  supersrv - offer any program as a network service, Part00/02
Message-ID: <1991Jun1.033558.1510@rick.doc.ca>
Originator: csr@calvin.doc.ca
Sender: news@rick.doc.ca
Nntp-Posting-Host: calvin.doc.ca
Organization: Communications Research Centre, Ottawa
Date: Sat, 1 Jun 1991 03:35:58 GMT
Approved: csr@calvin.doc.ca
Lines: 79

Submitted-by: Steven Grimm <Steven.Grimm@Eng.Sun.COM>
Posting-number: Volume 1, Issue 1
Archive-name: supersrv/part00

Environment: BSD UNIX

Tested Environments:
	IBM-RT running Mach
	Sun Sparc-1 running SunOS 4.1.1
	Ultrix rev 4.1 VAX
	Sequent Dynix V3.0.17.9
	DEC Ultrix 4.1
	Sun SunOS 4.1
	MIPS RISC/os 4.52
	BSD 4.3
	BSD 4.3-Tahoe
	Sun 4/490, SunOS 4.0.3

Dates:
	Submission Received:  Apr 30 1991
	Reviews Returned: May 16 1991
	Revised Submission Received: May 17 1991
	Submission Accepted: May 31 1991

Author's Summary:

    SuperServer 1.4 is a software package which allows users to offer
    services to the network without any special programming knowledge or
    superuser access to a system.  In fact, even shell scripts may be
    offered as network services.  SuperServer eases debugging of network
    applications, and provides a consistent front-end to a variety of
    programs.  The manual page for the "server" program contains a
    detailed description of the SuperServer system.

    SuperServer runs under BSD UNIX derivatives, and should compile on
    any system with Berkeley-style networking calls (socket(), select(),
    accept(), etc.)

Reviewers' Comments:

Supersrv is a useful tool to make available services to the network with
a user not necessarily being super-user.  It is very well written code
and its user interface is well defined.  Learning how this software works
will probably give a person some insight into TCP/IP sockets and client/server
architecture.  I recommend this software without reservation.


This package lets people use their own or each other's programs over
the network. The program 'server' installs a server on your machine
to accept calls from other machines; your $HOME/.services file specifies
which services you are offering (a service can be any executable file).
The program 'client' calls a server on your or any other machine: you
can list available services or invoke a specific service. There is no
simple way to find out which machines offer services, but it is a great
way to let your friends and colleagues (or your enemies) use your
software and your machine.
...
I compiled supersrv on several machines and it appears to work. After
setting up a .services file, I called "server" on machine "x" to set up
the server. After doing this for several machines on the internet, by
calling "client x" I was able in all cases to get the list of services
listed in the .services file on "x". For this I have used /bin/cc: in
one case, using gcc (version 1.39) gave me a server which would accept
connections and hang. Other than this, the software performs very well,
and I think it makes the network as a whole much more useful and
interesting.


All in all, the supersrv package was put together rather well.
...
I'd suggest this to someone who needed such a thing .. it's
constructed well and doesn't flinch when you try to hit it with
something.


-- 
        Andrew Patrick acting as Comp.Sources.Reviewed Moderator
              Department of Communications, Ottawa, CANADA
                           csr@calvin.doc.CA
