[comp.sources.misc] v15i011: RNALIB_20/part01

venta@i2ack.sublink.org (Paolo Ventafridda) (10/06/90)

Posting-number: Volume 15, Issue 11
Submitted-by: venta@i2ack.sublink.org (Paolo Ventafridda)
Archive-name: rnalib2/part01

#!/bin/sh
# This is RNALIB_20, a shell archive (shar 3.24)
# made 09/18/1990 18:32 MET by venta@i2ack.sublink.org
# Source directory /usr/local/src/RNA/new
#
# existing files WILL be overwritten
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#   1190 -rw-r--r-- MANIFEST
#   2275 -rw-r--r-- NEXT.RELEASE
#  14189 -rw-r--r-- HELP
#  14206 -rw-r--r-- OPER.GUIDE
#   4155 -rw-r--r-- CREDITS
#    502 -rwxr-xr-x MAKE_RNA
#   5845 -rw-r--r-- PROBLEMS
#    130 -rw-r--r-- README.FIRST
#   1143 -rw-r--r-- black
#   2455 -rw-r--r-- deliver.sh
#    941 -rw-r--r-- libindex
#   1335 -rw-r--r-- pathsize
#    793 -rw-r--r-- white
#   1064 -rw-r--r-- strings.c
#   3442 -rw-r--r-- ptc.7000.a
#  53931 -rw-r--r-- RNA
#
if touch 2>&1 | fgrep '[-amc]' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= MANIFEST ==============
echo "x - extracting MANIFEST (Text)"
sed 's/^X//' << 'SHAR_EOF' > MANIFEST &&
X-----------------------------------------------------------
X   File Name		       Description
X-----------------------------------------------------------
X CREDITS                     	Who wrote it?
X HELP                        	User's Manual
X MAKE_RNA                    	Program to strip comments from RNA
X MANIFEST                    	This shipping list
X NEXT.RELEASE                	What's coming out with rna 2.1, and how
X				to contribute.
X OPER.GUIDE                  	Operator's Guide
X PROBLEMS                    	bugs hunting: problems & solutions
X README.FIRST                	Where to start from
X RNA                         	Remote Network Archive ;-)
X black                       	Blacklisting example (keep it as master)
X deliver.sh                  	Script for sequential processing of RNA mails
X				with Chip Salzenberg's 'deliver'. Unsupported.
X libindex                    	Library index example (keep it as master)
X pathsize                       Pathsizing example (keep it as master)
X ptc.7000.a                     patch for Unisys 7000/40
X strings.c                   	In case you don't have it
X white                       	Whitelisting example (keep it as master)
X 
SHAR_EOF
$TOUCH -am 0918104390 MANIFEST &&
chmod 0644 MANIFEST ||
echo "restore of MANIFEST failed"
set `wc -c MANIFEST`;Wc_c=$1
if test "$Wc_c" != "1190"; then
	echo original size 1190, current size $Wc_c
fi
# ============= NEXT.RELEASE ==============
echo "x - extracting NEXT.RELEASE (Text)"
sed 's/^X//' << 'SHAR_EOF' > NEXT.RELEASE &&
XWHAT'S NEXT? WHAT'S NEXT?
X******* important important ***********************
XI (we) DO PAY FOR INTERNATIONAL E-MAIL.
XSo do not send your 60K versions of RNA. At least use
X'diff', and let's talk about it anyway!
X***************************************************
X
XA new release of RNALIB, the 2.1, is almost ready, and includes
Xinteresting solutions for remote DOS users.
X
XAside 'compress', also 'lharc' and 'zoo' are available, for compatibility
Xwith the dos world.
XIs that all? Nope.
X
XYou are a unix operator, right? And you keep your files with compress.
X(Well, you might be a cute man, and though use GNU's tar which also
X allow compression, but...).
X
XSuppose you have a file named 'goofie.Z' and someone asks for it 
Xwilling to get it in 'zoo' format.
XRNA 2.1 will CONVERT your goofie.Z into goofie and THEN into goofie.zoo.
X
XNow the best part of 2.1:
X
Xa poor DOS user wants to get 'fortunes.tar.Z' from your clever
Xrna-archive ;-) . Of course, he has no tar, and no .Z. He wants
Xa vanilla 'lharc' file. He will ask for:
X
X@@ send fortunes.tar.Z from whatever_library with lharc
X
Xand rna 2.1 will:
X- uncompress fortunes.tar.Z
X- untar fortunes.tar
X- lharc the result
X- ship the new stuff
X
X(COMING SOON ON YOUR SITE...)
X
X=== What Else ? ===
X
XWe would like to:
X
X1- set up a networking environment for RNA-sites. A sort-of 
X   batch RFS. An RNA site declares its library 'docs' to be
X   shared with the rna network numbered '1'. In a table, there's
X   a list of hosts (*not on the same path!*) belonging to that net.
X   Those hosts will have their corrispondent 'docs' library with
X   the same stuff each other. So we will support 'library aliases'
X   and that kind of things.
X
X2- Do some utilities for RNA. Maybe someone out there in the US can
X   join our work here and send their contribution. For instance,
X   an automatic way of making INDEXes for libraries.
X   I was also thinking of a program which checks $REJECTED mails,
X   and automatically inserts inside $BLACKLIST those paths which
X   appears to be giving problems.
X   And so on. There are a lot of good ideas around.
X   Of course, this utilities must be written in bourne shell,
X   otherwise it's too easy!!
X
XWARNING WARNING
XKeep a copy of the original distribution, since patches will apply
Xon these sources.
SHAR_EOF
$TOUCH -am 0916231390 NEXT.RELEASE &&
chmod 0644 NEXT.RELEASE ||
echo "restore of NEXT.RELEASE failed"
set `wc -c NEXT.RELEASE`;Wc_c=$1
if test "$Wc_c" != "2275"; then
	echo original size 2275, current size $Wc_c
fi
# ============= HELP ==============
echo "x - extracting HELP (Text)"
sed 's/^X//' << 'SHAR_EOF' > HELP &&
X
X------------------------------------------------------------------------------
X
X	                                lll      ii    bbb     
X        	                        ll             bb     
X	     rr rrr  nnnnn    aaaa     ll     iii     bb     
X	     rrr rr nn  nn      aa    ll      ii     bbbbb  
X	    rr  rr nn  nn   aaaaa    ll      ii     bb  bb 
X	   rr     nn  nn  aa  aa    ll      ii     bb  bb 
X	 rrrr    nn  nn   aaa aa  llll    iiii   bb bbb    (c)
X
X 			     RNALIB 2.0  
X 
X                      U S E R S '   G U I D E
X
X            Copyright (c) 1989,1990, by Paolo Ventafridda
X	             (venta@i2ack.sublink.org)
X              Marco Lorenzini (marlor@gear.sublink.org)
X
X
X
XINTRODUCTION
X------------
XRNA  handles  files inside internal directories  named  'LIBRARIES'.
XThe  DEFAULT  LIBRARY is referred as 'system library'  and  contains
Xthis  HELP, system notes and anything that might interest you  about
XRNA itself, included the INDEX of available libraries.
X
XAs  a  remote  user you can 'list' contents  of  libraries:   files,
Xsizes,  creation date.  Furthermore you can get - if available - the
Xverbose  description of a library;  this is called 'index', and it's
Xup to the sysop.  An index might not exist for some libraries.
XThe 'system library' has a special index available:  it lists all of
Xavailable public libraries.
X
XYou can query RNA by sending normal e-mail to a user named 'rnalib'.
XThis user does not really exist:  it's a dummy login for a "daemon".
XYour  mail  is  read by a PROGRAM, not by a human, so you  must  pay
Xattention to fit some simple rules while 'talking' to him.
X
XCOMMAND SYNTAX
X--------------
XRNA recognizes command lines inside your email by grepping out of it
Xa  couple  of "@@".  So any line containing "@@"  potentially  might
Xcontain commands.
XOther  lines are IGNORED;  they are not processed, and not even read
Xby a human (again), so your greetings and thanks are useless ;-)
XA command SHOULD start with @@ and last a single line.
X
XYou  can leave spaces ahead, that's no problem, but you can't by any
Xmean  put  words.  RNA would not understand.  There's  an  exception
Xhowever:   the  magic world 'Subject:' is correctly  recognized  and
Xskipped,  so that you can forward requests using the 'subject' field
Xof  your mail without bothering further on.  After '@@' there HAS to
Xbe  at  least  one space or a tab.  A command  line  cannot  contain
X'magic characters' like :  *\/'`"| .
X
X***** BEWARE: DO NOT PUT <TABS> instead of spaces. *****
X
XADDRESS FOR THE ANSWER
X----------------------
XRNA is capable of recognizing automatically your email address.  You
Xdon't  need to tell RNA were to ship its answers.  RNA will use your
Xemail headers to figure out which path replies should go on.
XMail  will  come  straight  forward  to  you,  using  a  'UUCP-BANG'
Xaddressing  style.  RNA will NOT consider headers declarations  such
Xas "Reply-To:" or "Sender:".
X
XASCII AND BINARY FILES
X----------------------
XYou can ask for any files you 'list' inside libraries;  they will be
Xship  inside ordinary email.  Unfortunately, email cannot be used to
Xtransfer  binary  files,  so  we had to use something  in  order  to
Xtranslate binaries into pure-ascii text.
X
XRNA  currently  uses  two kind of such converters:   "uuencode"  and
X"btoa".   Both of them do the same job;  the only difference is that
X"btoa" is more recent than "uuencode", and saves some 15% size while
X'expanding'  the binary code into ascii .  However, you might expect
Xa  binary file sized -say- 100 to be encoded to a size of 150;  this
Xkind of translators do their best, but keep their limits.
X
XNow  you  got the situation:  if you need a binary file, BE SURE  to
Xhave  a  copy of either "uuencode" or "btoa" available, so that  you
Xwill  convert  them  back to their original format as  soon  as  you
Xreceive rna mail.
X
XOf course, since "btoa" is much better than uuencode, if you have it
Xthen USE it!  We'll see how to specify a 'btoa encoding' later on.
X
XFILE COMPRESSION
X----------------
X
XIf you are dealing with ascii files, then it's worth while trying
Xto use the famous 'compress' utility.  This will reduce up to 50%
Xor more file's sizes. Once a file has been compressed, you need
Xto convert it back to ascii with uuencode or btoa. These utilities
Xwill expand a compressed file from 15-25% . Overall, you get a
Xsize reduction of some 35-25%, which is not bad. 
X
XLAYERS
X------
X
XNormally, RNA will use e-mail for delivering requested stuff.
XE-mail needs to be ascii, that's why we use convertors.
XIf you use 'uucp' or 'uusend', there's no need to re-convert
Xa compressed file! In this case, go for a simple 'compress'
Xshipping through binary layers such as uucp.
XCaution: using uucp/uusend presumes that the network you're on
Xallows - host by host - these remote commands.
XNot always this is true; ask your postmaster!
X
XSTANDARD RNA COMMANDS
X---------------------
XA  list of available RNAlib commands follows.  Parameters inside  {}
Xmean  that it is not necessary.  Parameters inside [] means that  an
Xargument  is  required.  Commands can be both upper and lower  case;
Xarguments  ARE case-sensitive.  With 'origin' we mean the  user/host
Xwho sent the query.
X***** BEWARE: DO NOT PUT <TABS> instead of spaces. *****
X
X----------------------------|--------------------------------------------
X       command              |                  action
X----------------------------|--------------------------------------------
X        
X        help                      sends back this help
X        
X        index {library}           sends a verbose description of
X                                  library contents. If no library is
X                                  specified, the system library is assumed
X                                  and a list of available libraries is
X                                  sent. At the end, a 'list' command is
X                                  automatically executed. So you get a full
X                                  description of what's inside a lib.
X
X
X        list {library}            sends a list of library's contents.
X                                  If no library is specified, system 
X                                  library is assumed. This is useful
X                                  whenever you need file names and their
X                                  lenght, while you already know their
X                                  meaning.
X
X        find [filename]           searches inside ALL available libraries
X                                  for files whose names match 'filename'.
X                                  A result of the research is returned.
X
X	credits                   will return how many bytes you are
X                                  authorized to request before being denied.
X                                  This is to prevent abnormal network traffic.
X                                  Remember that someone is always PAYING for
X                                  your requests. This command will report
X                                  your credit left.
X
X        send [filename] {from [library]} {with [encode_type]} {via [layer]}
X
X                                  sends 'filename' from selected library;
X                                  If no library is specified, system 
X                                  library is assumed.
X
X	* AVAILABLE ENCODE-TYPES and some of their aliases:
X
X	  	uuencode		encode, ascii, DEFAULT
X		btoa
X		compress		compr
X		compress-uuencode	compress-encode
X		compress-btoa
X
X	* AVAILABLE VIA-LAYERS and some of their aliases:
X
X		uusend			
X		uucp
X		email			DEFAULT, mail, e-mail
X		
X	* Note: upper/lowercase allowed for all choices except DEFAULT
X	  which is always uppercase.
X
X	* Note: you can use also following internal aliases:
X
X		with			using
X		via			over, through 
X		from			inside, in
X
XImportant Notes on 'send' 
X------------------------
X
X1-      When you ask for a file to be sent, RNA checks if it's ASCII or
X        BINARY automatically. 
X
X2-      You can ask for compression of files; obviously the result has
X	to be converted to ascii, either with uuencode or btoa.
X	If you don't specify btoa, uuencode will be used as default.
X
X3-	If file is already compressed (its name is terminated by a .Z)
X	rnalib will ignore your compress-request.
X
X4-	If you ask for a file 'with uuencode' or 'with btoa', and this 
X	file is a simple ascii-text, RNA will NOT follow your
X	indication and ship the file as-it-is. In fact, there's no
X	need to increase sizes and higher usenet's traffic!
X
X5-	If you ask for a file 'via uucp' or 'via uusend', ascii convertors
X	(btoa and uuencode) will NOT be used. See #4 for the reason.
X	You are welcome to use 'compress', instead!
X
X
X6-      If it's a binary file, RNA will AUTOMATICALLY encode it using:
X        
X                I) "uuencode" as a default
X               II) "btoa" if specified and if locally available
X        
X        You may notice at this point that a declaration like
X                        "with uuencode"
X        is useless, since if the file needs to be encoded it will actually
X        be treated just with this method; and if file is already ascii,
X        this declaration will simply be discarded. The specification was
X        allowed for future versions of RNA.
X
XBLACKLISTS
X----------
XBlacklisting means that you are off-limits from this rna-site.
XIt could be as well that one of the hosts you're going through
Xhas been blacklisted.
XBlacklisting is applied for different reasons. One is 'credits':
Xthis 'variable' can be fixed for hosts, for users and for gateways.
XIf rna keeps saying you're blacklisted, try asking around if 
Xsomeone else has been using rna as hell. The whole network you're on
Xmight have been isolated.
XAnother reason is SECURITY: rna here traces all requests and analyzes
Xtheir contents. Whenever there's a 'strange' attempt to hurt itself,
Xa mail to postmaster is generated automatically.
XPlease do not send requests containing funny characters like
X' $ * and so on. Note that wildcards are not allowed too.
X
X
X
XRNALIB COMMAND EXAMPLES
X-----------------------
X
X(1)     You want to know which libraries are available.
X
X                @@ index
X
X
X(2)     You want to know what's inside  'games'.
X
X                @@ index games
X
X(3)     You just want to list a library named 'games'.
X
X                @@ list games
X
X(4)     You want to get a file named 'tetris' inside library 'games'.
X
X                @@ send tetris from games
X
X	This file will reach you via e-mail once transformed into
X	ascii with uuencode.
X
X(5)	You want tetris via e-mail using btoa.
X
X		@@ send tetris from games using btoa
X		or
X		@@ send tetris from games with btoa
X
X(6)	You want to reduce tetris's size:
X
X		@@ send tetris from games using compress
X
X	This file will reach you via e-mail after being
X	compressed and uuencoded.
X
X(7)	As (6), but using btoa instead of uuencode:
X
X		@@ send tetris from games using compress-btoa
X
X(8)	You are willing to try uucp transfer instead of email:
X
X		@@ send tetris from games using compress over uucp
X
X(9)     You want to search for files whose names contain 'rfc'.
X
X                @@ find rfc
X
X        You will get back a list of files with their related library.
X        For instance you might get a message telling you that a file
X        called 'rfc822' is available inside library 'documents'.
X        At this point you can get it with:
X
X                @@ send rfc822 from documents
X
X	or any other valid syntax.
X
XDIAGNOSTICS
X-----------
XRNA  will send you as much error diagnostics as possible, suggesting
Xyou alternative commands and query methods.  If something goes wrong
Xyou will receive a complete diagnostic of the problem and a possible
Xsolution.
X
X
XEXTERNAL DESTINATIONS (privileged origins only)
X---------------------  ---------- ------ ----
XNormally RNAlib sends its output to the origin of the query-message.
XHowever, if you are a 'privileged origin' you may also specify for a
X'send'  command a different destination, i.e.  another user, also on
Xanother system.
X
XTo  do this, simply add to the normal 'send' command a 'to' followed
Xby the email address of the destination user.  This address might be
Xa UUCP-BANG or an ARPA format;  the address WILL NOT BE CHECKED.
X
XExample:
X                @@ send tetris from games with btoa to bob@usixth
X
XOf course you can also use:
X                                to usixth!bob
X                                to onesys!twosys!user
X                                to user@host.domain
X                                etc.etc.
X
XIf  your  request is not a valid one for any reasons  -  nonexistent
Xlibrary  or  files, syntax errors etc.  - response messages will  be
Xsent  to  YOU, NOT to the 'external destination'.  So if  you  don't
Xreceive  anything  back from RNAlib, then your request was  accepted
Xand the stuff was sent to the specified external user.
X
XBEWARE:   if  something goes wrong, at this point, the message  will
Xcome  back  to RNAlib and archived as 'rejected mail'.   This  would
Xhappen when your 'external destination' does not exist (user or host
Xunknown).  IT'S UP TO YOU that the 'to' argument is VALID.
X
X
XUSING EXTERNAL DESTINATIONS
X---------------------------
XRNA will only allow you to use 'to' inside a 'send' request.
XThis is not a real limitation, since :
X
X-       It's no use to send a 'list' of files to another one.
X        He might serve himself as well, right?
X
X-       This HELP file is available inside the system library (default),
X        and it's called 'HELP'.
X        So if you want to send this file to a friend, all you have to
X        do is :
X                        @@ send HELP to user@host
X
X-       Index is a simple file inside each library, called "INDEX".
X        Index might not be available, though. System library however
X        HAS an 'INDEX' containing list of available libraries.
X        So you might always try:
X
X                        @@ send INDEX to user@host
X
X        which is equivalent to '@@ index'
X
X                        @@ send INDEX from games to user@host
X
X        which is equivalent to '@@ index games'.
X
X
X                  -- END OF RNALIB 2.0 USERS' GUIDE --
X
X------------------------------------------------------------------------------
SHAR_EOF
$TOUCH -am 0913093390 HELP &&
chmod 0644 HELP ||
echo "restore of HELP failed"
set `wc -c HELP`;Wc_c=$1
if test "$Wc_c" != "14189"; then
	echo original size 14189, current size $Wc_c
fi
# ============= OPER.GUIDE ==============
echo "x - extracting OPER.GUIDE (Text)"
sed 's/^X//' << 'SHAR_EOF' > OPER.GUIDE &&
X------------------------------------------------------------------------------
X
X	                                lll      ii    bbb     
X        	                        ll             bb     
X	     rr rrr  nnnnn    aaaa     ll     iii     bb     
X	     rrr rr nn  nn      aa    ll      ii     bbbbb  
X	    rr  rr nn  nn   aaaaa    ll      ii     bb  bb 
X	   rr     nn  nn  aa  aa    ll      ii     bb  bb 
X	 rrrr    nn  nn   aaa aa  llll    iiii   bb bbb    (c)
X
X 			     RNALIB 2.0  
X 
X                  O P E R A T O R ' S     G U I D E 
X
X            Copyright (c) 1989,1990, by Paolo Ventafridda
X                  Contributions by Marco Lorenzini
X
X    Permission  is hereby granted to copy, distribute or otherwise 
X    use any part of this package as long as you do not try to make 
X            money from it or pretend that you wrote it.  
X       The copyright notice must be maintained in any copy made.
X  
X    If  you  make  modifications  to  this  software  that you feel 
X    increases its usefulness for the rest of the community,  please 
X    email  the  changes, enhancements, bug fixes as well as any and 
X    all  ideas to me.  This  software is going to be maintained and 
X          enhanced as deemed necessary by the community.
X  		
X  	  	              Paolo 
X    		     (venta@i2ack.sublink.org)
X
X
X                        BOURNE STRIKES AGAIN
X                        --------------------
XSurprise! RNA is a Bourne Shell script! I know what you are mumbling:
X"if it's not C it's not serious". Well, this thing is serious ;-)
XWe did it in shell because:
X	- people was saying 'you can't do it in shell'
X	- it was funny to work with, hacking problems.
X	- we did not need speed. 
X	- it's much more portable than C, you'll agree.
X	- not everybody have a C compiler on the machine
X	- users will not believe it's written in shell ;-)
X	>> Rnalib does not use 'awk'. <<
X
X
X
X                         IT WON'T TAKE LONG! 
X                         -------------------
X
XI hate long docs, so i tried my best to facilitate an RNA installation
Xwithout too many efforts. How long? Say 15 minutes.
XJust the time to do some 'mv' and some 'mkdir'. Sounds easy, isn't it?
XMost of the (little) work you need to do is inside the main program,
Xthat is RNA; you'll fix the source as you read the docs! That's all
Xtogether, so you don't need to do any printout. By the way, if you want
Xto get an hardcopy of RNA, set your printer to 160 columns.
X
XThe source contains comments (notes) about possible configuration-dependent
Xproblems; these comments refer to tested (verified working) installations
Xmade on various operating systems. If your system  is listed among these
Xmachines, you are going to have a very short configuration. If it's not,
Xdon't worry; i collected all problems found while doing the 'porting'.
XThere's a file named 'PROBLEMS' which you might find really useful, in case
Xsomething does not work.
X
X
X                THIS VERSION OF RNA WAS RUN SUCCESSFULLY ON:
X
X	AT&T 3B2 UNIX SYSTEM V.3.2 
X	SCO-UNIX SYSTEM V 
X	UNISYS 7000/40 running UNIX sysV R.2.21.02  (see PROBLEMS)
X
X
X               A COUPLE OF BETA-RELEASES AGO, RNA WAS RUN ON:
X
X	HP-UX          (should work with no problems)
X	OLIVETTI LSX   (weird things happens on this unix)
X	SCO-XENIX 386  (i guess RNA will work with no problems)
X	 
X		
X                         RNA WILL NOT WORK ON:
X
X	SCO Xenix 286 and Microport Unix 286:  forget them.
X	RNA will crash /bin/sh and it's stupid 'fixed stack'.
X	Either you'll get stack errors or 'no data space'!
X	Probably it won't run on VMS/VM/RTX machines also...
X
X
X------------------------------------------------------------------------------
X
X		STEP-BY-STEP SETUP
X
X	1-	Read the 'HELP' file. That's the USER'S GUIDE. An
X		operator should at least know as much as the users
X		(this is not always true, though ;-) ).
X		You'll learn about RNA and its facilities.
X
X
X	2-	Configure the program editing RNA: it's not long.
X		Everything you need to know is inside that piece of
X		code. Just start from the beginning and follow 
X		instructions inside comments. Set DEBUG on..(remind!) 
X		You'll learn about RNA files, and you'll be ready for
X		the 3rd point here. Do not edit anything but 'RNA'.
X
X
X	..	SO WHAT? Follow step 1 and 2. I'll wait for you right here.
X
X
X	3-	Welcome back. I assume you are not cheating and you did
X		really complete first two steps.
X		Now, as you read inside RNA, you need to configure a file
X		named 'libindex' (referenced as LIBIND), and two optional
X		files named 'black' and 'white'.
X		These files have their own simple explanations inside.
X		
X		Still reading? Go editing 'libindex','black','white'.
X		I'll wait for you right here.
X
X	
X	4-	INSTALLATION. 
X		
X		I. - creation of LOGNAME
X
X		Create a user named 'rnalib' inside /etc/passwd.
X		His home directory will be referenced as RNADIR
X		(see RNA configuration..).
X		Any user/group id will do; the default shell does not
X		matter since the 'daemon' will not  use this account.
X		Here is my entry:
X 
X                rnalib:mypassword:24:20:RNALIB server:/usr/rnalib:/bin/csh
X
X		Check your rnalib directory now: is it the same as the
X		'DEFAULT' you configured inside 'libindex'?
X		If so, you did NOT get the point. Start back from step 1 :-(
X		It has to be different or you are giving any user from remote
X		the ability to read internal files, such as privileged paths!
X		Better clear up this point: 'rnalib' and its files is living
X		inside a home directory,which we call RNADIR. This place is
X		closed to the world. Rnalib will access 'libraries' declared
X		inside 'libindex'; one of these is named 'DEFAULT', and
X		is the default library which will be accessed by users not
X		declaring a specific one. Since users commonly ask things
X		like 'help' or 'send help', we will use the default library
X		as place to contain these things. For this reason, we also
X		refer to the DEFAULT library as 'system library'.
X		Of course, you can use the system library also as a normal
X		one, i.e. a place containing files, docs etc.
X		It's up to you.
X
X		
X		II. - creation of RNADIR and its subdirectories
X
X		This directory is the 'administrator's directory' quoted 
X		in the very first lines of RNA. Move here files:
X			RNA
X			libindex
X			white
X			black
X			pathsize
X			MAKE_RNA
X
X		If you configured 'TMPDIR' inside RNA as: $RNADIR/tmp
X		(which is what i suggest), then create this 'tmp'
X		directory.
X		If you allow file compression, then you need also a 
X		CONVDIR inside RNADIR, as $RNADIR/convert (which is
X		what i suggest).
X 		Now everything needed inside administration's
X		dir is ready. Hey. Don't forget to change the owner of
X		these files. Remember, the new owner is 'rnalib'.
X		
X		III. - put HELP online
X
X		Copy 'HELP' inside the directory configured to be 'DEFAULT'
X		as in 'libindex'.  This will allow your poor users to get 
X		some help, if they ask so. You can edit 'HELP' and cut off
X		useless parts which might not fit your configuration.
X		For instance, if you don't run pathsizing, cut off all
X		references about 'credits', and so on.
X		**** PLEASE: leave the header. That's not 'useless'!
X		That's the copyright. Your users will be using MY program.
X		I don't ask money for it; just leave all copyrights were
X		they are. Expecially in the public HELP file. Thank You.
X
X		IV. - put INDEX online
X
X		In the latter directory (DEFAULT), aside HELP, create a file
X		named 'INDEX' (UPPERCASE). When your users ask for a list
X		of available LIBRARIES, this is the file they'll get.
X		So make them happy and write down a notice or whatever.
X
X		The 'INDEX' might look like:
X
X	       "AVAILABLE LIBRARIES HERE ON RNALIB SERVER 'i2ack'
X		
X		RFC		Requests For Comments, from 820 to 1035.
X		documents	Various documents, text files.
X		netware		Network software, including RNA
X		games		binary executables for Sperry-Univaq 1100
X		
X		Please help yourself."
X
X		This INDEX file has to be updated. At least put in all
X		of your libraries. You can also put:
X		DEFAULT		Home directory, where HELP is available.
X		
X	
X		V.
X
X		If everything seems ok to you, run 'MAKE_RNA' inside
X		new rnalib home directory (don't forget to su rnalib).
X				
X		We are ready for a test: AS ANOTHER USER, send mail to
X		rnalib, giving this request:
X			@@ credits
X			@@ help
X			@@ index
X		
X		Now su rnalib and execute XRNA. Good luck!
X		At the end, you'll see 'RNA SESSION COMPLETED SUCCESSFULLY'
X		and program will terminate. Check the mail for the user
X		who sent requests to RNA. 
X
X		If everything worked out fine, edit back RNA and disable
X		DEBUG. 
X		IF YOU GOT ERRORS, PLEASE READ FILE 'PROBLEMS' and look for
X		anything which might reflect your situation. RNA has been
X		tested on as many configurations as possible; if 'PROBLEMS'
X		does not come to anything useful, you are out of luck ;-(
X		Get a cup of black coffee and a printout of RNA; carefully
X		study the source and if you find out the problem please let
X		me know! If you don't, grasp a bottle of Wild Turkey...
X		
X
X		VI.
X		I assume XRNA did not give you any error (*any means *ANY).
X		>> Disable DEBUG mode inside RNA source. Run MAKE_RNA again.
X		Execute XRNA from cron once every 30 minutes: to do this,
X		login as rnalib and type (example):
X
X		$ crontab 
X		25,55 * * * * /usr/local/usr/rnalib/XRNA >/dev/null
X
X		DO THIS ONLY AFTER DISABLING DEBUG MODE.
X		If you don't, here it is what's gonna happen.
X		Cron executes XRNA as rnalib. The debug of the session
X		is then mailed to.. rnalib (owner of its crontab entry).
X		RNA does not understand the cron mail, and mails back
X		the stuff to 'root' (owner of cron) . Funny...
X		If you are out of luck, RNA will go crazy and will send
X 		its output to an unexistent user. Mailer will reject this
X		request and send it back to rnalib. The cicle closes here
X		and the mail is processed again, without ever stopping.
X		Rna logs will get bigger and bigger.. argh!
X
X		You can omit '>/dev/null', assuming everything is ok.
X		If something is giving errors like 'cannot shift',
X		try applying the unisys 7000/40 patch. A reason could be
X		a wrong path to a utility like 'strings' 'head' or 'sed'.
X
X
X	5-	IT WORKS!
X		
X		Congratulations, enjoy RNA !
X		If you are going to use RNA as a file server for
X		your users, please send a note to the author; i'll
X		be glad to know that someone is using my software :-))
X		Beside, you'll be informed as soon as new patches,
X		releases etc. come out.
X
X
X	6-	Read 'CREDITS' for author's details and official credits.
X		This file also contains an historical description of the
X		program, and how it came out to the current release.
X
X
XTransmission's Layers
X---------------------
XAs we all know, e-mail does not like binary files. So whenever RNA sends
Xa file, it converts it into ascii with common utilities like 'uuencode' 
Xand 'btoa'. This means also increasing sizes. 
XRnalib allows files to be sent using other 'layers' than e-mail. This way
Xfiles need not to be encoded, since these are binary layers. Together
Xwith file's compression, using rna this way will reduce considerably
Xnetwork overloads.
X
X1- UUCP
X
X	Using this choice, file will be sent to the host using a 
X	bang-syntax with uucp (the commands itself).
X	Syntax used is:
X
X	uucp -r -C filename path!path!host!/destination_dir/filename
X
X	This kind of delivery is not always granted. It presumes that
X	all of the hosts the file is going through allows a remote
X	uux command like 'uucp'.  Sites running HDB UUCP should normally
X	let this command available; sites running V7 unix, or non-hdb
X	uucp, probably will not, due to some security problems.
X	In italy, all of the hosts on our network do declare what remote
X	commands are supported, inside a remark field of their maps.
X
X2- UUSEND
X
X	This utility basically is an enhanced version of uucp. Probably
X	was born at the time of those V7 uucp systems which could not
X	put 'uucp' inside their ancient L.cmds. 
X	Around here, in the land of Leonardo Da Vinci ( HeHe ;-)) ), we
X	ask our users to run a custom release of uusend, which is good
X	for V7/Xenix systems and for new UNIXes as well.
X	This release allows arpa-addressing of files. It should come out
X	on usenet pretty soon. If you are reading this line in 1993, 
X	then probably it's already around ;-)) .
X	Anyway, uusend here is used with bang-addressing, so if you have 
X	a copy of this old utility you can use it without problems.
X	Syntax used is:
X	
X	uusend -r -f -m 666 filename path!path!host/destination_dir/filename
X
XAs you understand, an operator should carefully consider the opportunity
Xto leave uucp and uusend available online, since they might not be granted
Xsome 'hops' beyond, and the file would be lost somewhere.
XWell, the thing is here; what can i tell you? Ask around!
X
X
XHow to personalize RNA
X----------------------
XIf you want that every answer given by RNA contains some text from
Xyou, just create a file $RNADIR/notice  (i.e. a file named 'notice'
Xinside $RNADIR ). 
X
XHow to stop your RNA service
X----------------------------
XWhenever you need to stop rnalib for some time, there is no need to
Xtouch cron files or do special things. 
XSimply create a file inside $RNADIR named 'hold' (i.e. $RNADIR/hold).
XEach time RNA finds new mail inside its mailbox, it will copy (append)
Xit into $RNADIR/pending. This mail will not be processed by the time
Xbeing; instead, a message will be sent to the origin, saying that
XRNA is on hold and his request will be processed as soon as the
Xservice is resumed. Content of $RNADIR/hold will be added to this mail,
Xthus allowing you to give some details about what's going on.
XOf course, you can just 'touch' $RNADIR/hold not putting anything inside.
X
XAs soon as RNA starts again and finds a 'pending' file, it checks if
Xthe system is still on hold. If it's not, RNA processes these requests
Xand removes 'pending'.
XWarning: do not create fake 'pending' files.
X
X
X
XTHANKS FOR READING
X==================
XWe hope rnalib is what you were looking for. Concluding, please note 
Xthat 'anything coming free, comes with no warranty', and we assume no
Xresponsability for whatever damage/problem/network-traffic this
Xsoftware might cause.
X
Xventa@i2ack and marlor@gear
X   .sublink.ORG		
X
XMilano, Bologna
XSeptember, 1990
XSublink Network, Italy
X
X-----------------------------------------------------------------------the end
SHAR_EOF
$TOUCH -am 0918181890 OPER.GUIDE &&
chmod 0644 OPER.GUIDE ||
echo "restore of OPER.GUIDE failed"
set `wc -c OPER.GUIDE`;Wc_c=$1
if test "$Wc_c" != "14206"; then
	echo original size 14206, current size $Wc_c
fi
echo "End of part 1, continue with part 2"
exit 0