RNALIB 2.2 beta - part 2 of 4

Paolo Ventafridda venta at otello.sublink.org
Mon Feb 11 06:53:57 AEST 1991


Archive-name: RNALIB-22_b1/part02

---- Cut Here and unpack ----
#!/bin/sh
# this is z-rnalib.02 (part 2 of RNALIB-22_b1)
# do not concatenate these parts, unpack them in order with /bin/sh
# file helpfiles continued
#
if touch 2>&1 | fgrep '[-amc]' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
if test ! -r shar3_seq_.tmp; then
	echo "Please unpack part 1 first!"
	exit 1
fi
(read Scheck
 if test "$Scheck" != 2; then
	echo "Please unpack part $Scheck next!"
	exit 1
 else
	exit 0
 fi
) < shar3_seq_.tmp || exit 1
echo "x - Continuing file helpfiles"
sed 's/^X//' << 'zXqzXqzXq' >> helpfiles &&
XXThis list doesn't include LISTSERV commands; mailing lists might not be
XXconfigured here. For a list of LISTs commands ask for "@@ help listserv".
XX
XXNOTE: a LOT of command aliases are supported and correctly understood by
XX====  rnalib. Normally, uppercase/lowercase and some of their combinations
XX      work fine all the way. You can get the whole alias list with:
XX      @@ help aliases
XX
XX
XX----------------------------|--------------------------------------------
XX       command              |                  action
XX----------------------------|--------------------------------------------
XX        
XX        help                      sends back a quick help
XX
XX	help  {topic}             sends back help on 'topic'.
XX
XX	release                   sends RNALIB's release number, and some
XX                                  notes about its current configuration.
XX                                  RNALIB is a public domain software for
XX                                  all unix/xenix machines.
XX        
XX        index {library}           sends a verbose description of
XX                                  library contents. If no library is
XX                                  specified, the system library is assumed
XX                                  and a list of available libraries is
XX                                  sent. At the end, a 'list' command is
XX                                  automatically executed. So you get a full
XX                                  description of what's inside a lib.
XX
XX        list {library}            sends a list of library's contents.
XX                                  If no library is specified, system 
XX                                  library is assumed. This is useful
XX                                  whenever you need file names and their
XX                                  lenght, while you already know their
XX                                  meaning.
XX
XX        find [filename]           searches inside ALL available libraries
XX                                  for files whose names match 'filename'.
XX                                  A result of the research is returned.
XX
XX	credits                   will return how many bytes you are
XX                                  authorized to request before being denied.
XX                                  This is to prevent abnormal network traffic.
XX                                  Remember that someone is always PAYING for
XX                                  your requests. This command will report
XX                                  your credit left. 
XX
XX
XX	split [Kbytes]            Will force a file-splitting into several 
XX                                  smaller parts, each one [Kbytes] long. 
XX                                  Original file can be rebuilt using 'sh', since
XX                                  splitting is done with 'shar'.
XX
XX	--------
XX	  send  
XX	--------
XX	Since this command is very important, we'll spend some more words
XX	on him. A complete help is available on "send", so if there's
XX	something you don't understand, use  "@@ help send" .
XX	Here's the full "send" syntax:
XX	
XX        send [file] {from [library]} {with [encode_type]} {via [layer]}
XX        ---- ------ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~
XX
XX	[file]		is the file name selected. For instance:
XX			rnalib.tar.Z
XX
XX	[library]	is the name of the library where [file] is located.
XX			A list of libraries is usually obtainable with
XX			@@ index . If no library is specified, the 'DEFAULT'
XX			one is assumed (also known as 'system' library).
XX
XX	[encode_type]	is used whenever requested file is binary and you
XX			are asking for an email shipping. The default type
XX			is uuencode. If you ask for a binary file through
XX			email (@@ send binfile from library) without 
XX			choosing any special encoding type, you'll get your
XX			file treated with uuencode automatically.
XX			Beside encoding, you can ask for special compressions
XX			types, and combine compress + encode if you like.
XX			Available types are:
XX			
XX			uuencode		(default)
XX			btoa
XX			compress	
XX			compress-uuencode	(default for compress)
XX			compress-btoa
XX			lharc
XX			lharc-uuencode		(default for lharc)
XX			lharc-btoa
XX			zoo
XX			zoo-uuencode		(default for zoo)
XX			zoo-btoa
XX
XX
XX	[layer]		is the way any rnalib answer will travel back to you.
XX			Usually through email (that's the default). 
XX			You might also prefer 'uucp', if the network you're on
XX			allows you to use uucp over the full path to this site.
XX			Since uucp allows binary file transfers, you can get
XX			your file compressed without being encoded, saving at
XX			least 35%-50% of time transfer. Same for uusend.
XX			Available layers are:
XX
XX			email			(default)
XX			uucp
XX			uusend
XX
XX
XSHAR_EOF
X$TOUCH -am 0204184491 commands &&
Xchmod 0600 commands ||
Xecho "restore of commands failed"
Xset `wc -c commands`;Wc_c=$1
Xif test "$Wc_c" != "5047"; then
X	echo original size 5047, current size $Wc_c
Xfi
X# ============= external ==============
Xecho "x - extracting external (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > external &&
XX
XX======================================================
XXRNALIB EXTERNAL DESTINATIONS (privileged origins only)
XX======================================================
XX
XXNormally RNAlib sends its output to the origin of the query-message.
XXHowever, if you are a 'privileged origin' you may also specify  a
XX'send'  command for a different destination, i.e.  another user, 
XXalso on another system.
XX
XXTo  do this, simply add to the normal 'send' command a 'to' followed
XXby the email address of the destination user.  This address might be
XXa UUCP-BANG or an ARPA format (*);  the address WILL NOT BE CHECKED.
XX
XXExample:
XX          @@ send tetris from games with btoa to bob at usixth
XX
XXOf course you can also use:
XX                                              to usixth!bob
XX                                              to onesys!twosys!user
XX                                              to user at host.domain
XX                                              etc.etc.
XX
XXIf  your  request is not a valid one for any reasons  -  nonexistent
XXlibrary  or  files, syntax errors etc.  - response messages will  be
XXsent  to  YOU, NOT to the 'external destination'.  So if  you  don't
XXreceive  anything  back from RNAlib, then your request was  accepted
XXand the stuff was sent to the specified external user.
XX
XXBEWARE:   if  something goes wrong, at this point, the message  will
XXcome  back  to RNAlib and archived as 'rejected mail'.   This  would
XXhappen when your 'external destination' does not exist (user or host
XXunknown).  IT'S UP TO YOU that the 'to' argument is VALID.
XX
XX(*) EXTERNAL DESTINATION FOR LAYER UUCP
XX=======================================
XX
XXExternal destinations can apply also to the uucp layer. That is, a user
XXcan send a file using uucp instead of email.
XXThe only limitation is the 'to' address: it has to be in a BANG format.
XXNo arpa addresses can be specified in these cases.
XXExample:
XX
XX@@ send tetris from games with compress via uucp to usixth!bob
XX@@ send tetris from games with compress via uucp to onesys!twosys!user
XX
XX
XXUSING EXTERNAL DESTINATIONS
XX---------------------------
XXRNA will only allow you to use 'to' inside a 'send' request.
XXIf you need to send a list of files to a friend, here's how
XXto do it.
XX
XX        Index is a simple file inside each library, called "INDEX".
XX        Index might not be available, though. System library however
XX        HAS an 'INDEX' containing list of available libraries.
XX        So you might always try:
XX
XX                        @@ send INDEX to user at host
XX
XX        which is equivalent to '@@ index'
XX
XX                        @@ send INDEX from games to user at host
XX
XX        which is equivalent to '@@ index games'.
XX
XXEXAMPLE:
XX--------
XXYour friend marcus on machine foobar (standing 2 'hops' away from you)
XXwould like to get 'bigdoc.tar.Z', which is a compressed tar file inside
XXthe 'documents' library. Marcus' system doesn't have 'compress' and 'tar',
XXsince this guy is running DOS (he's brain limited). However, foobar has
XXan executable copy of "zoo"! Wow. So, we need to send him bigdoc in zoo
XXformat, while actually it's stored as a tar+compress.
XXNO BIG DEAL!
XX
XX@@ send bigdoc.tar.Z from documents to hop!hop!foobar!marcus using zoo over uucp
XX
XXPretty long isn't it... but marcus will get bigdoc.zoo!
XXRnalib is doing uncompress>untar>zoo for you.
XX
XXAs soon as marcus will try to unzoo the file, his hard disk will be low-level
XXformatted and he'll be finally forced to use unix (Just Joking!!).
XX
XX
XSHAR_EOF
X$TOUCH -am 0204191191 external &&
Xchmod 0600 external ||
Xecho "restore of external failed"
Xset `wc -c external`;Wc_c=$1
Xif test "$Wc_c" != "3425"; then
X	echo original size 3425, current size $Wc_c
Xfi
X# ============= help ==============
Xecho "x - extracting help (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > help &&
XX
XX	--------------------------------------------------------
XX	R N A L I B    Q U I C K    H E L P    S U B S Y S T E M
XX	--------------------------------------------------------
XX
XXCommands are basically compatible with other mail and list servers, like
XX"netlib" and "LISTSERV". A simple request could look like @@ send file .
XXReturn address for the answer is automatically generated; binary files are
XXgenerally automatically converted into vanilla ASCII formats.
XX
XXGet some more informations with:
XX
XX@@ help rnalib 		This is the RNALIB USER'S GUIDE, a complete tutorial
XX			on the mail server, its commands, its facilities.
XX
XX@@ help commands	Returns a list of all commands and their syntax.
XX			This list is also included inside the User's Guide.
XX
XX@@ help listserv	Returns LISTSERV commands and their syntax: these
XX			commands apply only to mailing-lists (if enabled).
XX			Not included inside User's Guide.
XX
XX@@ help aliases		Returns a list of all commands/listserv aliases:
XX			alternate keywords understood by rnalib.
XX			Not included inside User's Guide.
XX
XX@@ help external	How to use "external destinations" (restricted usage)
XX			Not included inside User's Guide.
XX
XSHAR_EOF
X$TOUCH -am 0204185691 help &&
Xchmod 0600 help ||
Xecho "restore of help failed"
Xset `wc -c help`;Wc_c=$1
Xif test "$Wc_c" != "1156"; then
X	echo original size 1156, current size $Wc_c
Xfi
X# ============= listserv ==============
Xecho "x - extracting listserv (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > listserv &&
XX
XX             ==========================================
XX             R N A L I B   (LISTSERV)   C O M M A N D S 
XX             ==========================================
XX
XXThese commands are valid only if the 'LISTSERV' facilities of RNALIB
XXare configured and enabled. LISTSERV commands are used to handle
XXmailing lists, basically a collection of net-addresses.
XX
XXCommands can be both upper and lower case; arguments ARE case-sensitive.
XXWe call 'origin' the  user/host who sent the query.
XXThis list doesn't include standard rnalib commands; the general list
XXis available with "@@ help commands".
XX{ }   means parameter not necessary
XX[ ]   means parameter compulsory
XX
XXNOTE: a LOT of command aliases are supported and correctly understood by
XX====  rnalib. Normally, uppercase/lowercase and some of their combinations
XX      work fine all the way. You can get the whole alias list with:
XX      @@ help aliases
XX
XX		----------------------------------
XX
XX			lindex [listname]
XX			review [listname]
XX			signon [listname]
XX			signoff [listname]
XX			findme
XX
XX		----------------------------------
XX
XX                         DESCRIPTIONS
XX
XX---------------------------------------------------------------------
XXSyntax:  lindex [listname]
XX
XXReturns the listname description, also known as 'NOTES'.
XXUsually it describes what the mailing list is about, what
XXyou can expect to get, how often and how much.
XX
XXOf course, this kind of information is up to the rnalib's
XXadmnistrator, and sometimes could not be available.
XX
XXThe lindex command WITHOUT an argument is applied to the
XXso called 'DEFAULT' (or 'system') mailing list. 
XXNOTES about this list usually describe which mailing lists
XXare available within the LISTSERV environment of RNALIB.
XX
XXExamples:
XX
XX          @@ lindex
XX
XX          normally returns a general description of all available
XX          mailing lists on the system.
XX
XX          @@ lindex listname
XX
XX          returns a verbose description of the mailing-list 'listname'.
XX
XX
XX---------------------------------------------------------------------
XX
XXSyntax:  review [listname]
XX
XXReturns the content of the "listname" mailing list; that is, the
XXdatabase of user's addresses either in arpa or uucp format.
XX
XXA mailing list can be "Read Protected" (R-CLOSED); in this case 
XXuser's are not allowed to view it, and a warning is sent about this
XXmatter.
XX
XXThe review command WITHOUT an argument is applied to the
XXso called 'DEFAULT' (or 'system') mailing list. 
XX
XX
XXExample:
XX         @@ review rnalib
XX
XX
XX---------------------------------------------------------------------
XX
XXSyntax:  signon [listname]
XX
XXAdds incoming mail's address into the "listname" mailing list.
XXThe address is stored in ARPA format (user at host.domain), or in
XXUUCP format if ARPA is not found.
XXIf the user's address already exists inside the mailing list,
XXa warning is sent back to the user and his name is not added.
XXThus, an address cannot appear twice in the same mailing list.
XXOnce the user's address is added, a confirmation message is sent
XXback to the user.
XX
XXA mailing list can be configured to be "Write Protected" (W-CLOSED).
XXIn this case, users are not allowed to subscribe; normally, such 
XXprotections are announced inside the 'NOTES' file of the mailing
XXlist, which can be retrieved with @@ lindex listname  .
XX
XXA list of available mailing lists can be obtained with @@ lindex .
XX
XXThe signon command WITHOUT an argument is applied to the
XXso called 'DEFAULT' (or 'system') mailing list. 
XX
XX
XXExample:
XX           @@ signon rnalib
XX
XX
XX---------------------------------------------------------------------
XX
XXSyntax:  signoff [listname]
XX
XXRemoves incoming mail's address from the "listname" mailing list.
XXBoth ARPA and UUCP addresses (if available) are searched.
XXIf the user's address does'nt exist inside the mailing list,
XXa warning is sent back to the user.
XXOnce the user's address has been removed, a confirmation message is sent
XXback to the user.
XX
XXA mailing list can be configured to be "Write Protected" (W-CLOSED).
XXIn this case, users are not allowed to unsubscribe; normally, such 
XXprotections are announced inside the 'NOTES' file of the mailing
XXlist, which can be retrieved with @@ lindex listname  .
XX
XXA user can get the mailing lists' names where he's subscribed 
XXwith command @@ findme .
XX
XXThe signoff command WITHOUT an argument is applied to the
XXso called 'DEFAULT' (or 'system') mailing list. 
XX
XXExample:
XX           @@ signoff rnalib
XX
XX
XX---------------------------------------------------------------------
XX
XXSyntax:  findme
XX
XXScans all available mailing lists, and returns those where the user's
XXaddress appears. 
XX
XX
XX---------------------------------------------------------------------
XX
XSHAR_EOF
X$TOUCH -am 0204175791 listserv &&
Xchmod 0600 listserv ||
Xecho "restore of listserv failed"
Xset `wc -c listserv`;Wc_c=$1
Xif test "$Wc_c" != "4623"; then
X	echo original size 4623, current size $Wc_c
Xfi
X# ============= me ==============
Xecho "x - extracting me (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > me &&
XX
XXI'm always glad to help you, dear.
XXJust gimme some hints on WHAT!
XXTry a simpler @@ help 
XX
XXbyebye
XSHAR_EOF
X$TOUCH -am 0203214391 me &&
Xchmod 0600 me ||
Xecho "restore of me failed"
Xset `wc -c me`;Wc_c=$1
Xif test "$Wc_c" != "98"; then
X	echo original size 98, current size $Wc_c
Xfi
X# ============= rnalib ==============
Xecho "x - extracting rnalib (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > rnalib &&
XX
XX
XX------------------------------------------------------------------------------
XX
XX	                                lll      ii    bbb     
XX        	                        ll             bb     
XX	     rr rrr  nnnnn    aaaa     ll     iii     bb     
XX	     rrr rr nn  nn      aa    ll      ii     bbbbb  
XX	    rr  rr nn  nn   aaaaa    ll      ii     bb  bb 
XX	   rr     nn  nn  aa  aa    ll      ii     bb  bb 
XX	 rrrr    nn  nn   aaa aa  llll    iiii   bb bbb    (c)
XX                      THE ITALIAN MAIL SERVER
XX
XX 			     RNALIB 2.2  
XX 
XX                      U S E R ' S   G U I D E
XX
XX          Copyright (c) 1989,1990,1991 by Paolo Ventafridda
XX	             (venta at i2ack.sublink.org)
XX              Marco Lorenzini (marlor at gear.sublink.org)
XX		      Milano, Bologna - ITALY
XX
XX
XX------------------------------------------------------------------------------
XX
XX
XXINTRODUCTION
XX------------
XXRNA  handles  files inside internal directories  named  'LIBRARIES'.
XXThe  DEFAULT  LIBRARY is referred as 'system library'  and  contains
XXthis  HELP, system notes and anything that might interest you  about
XXRNA itself, included the INDEX of available libraries.
XX
XXAs  a  remote  user you can 'list' contents  of  libraries:   files,
XXsizes,  creation date.  Furthermore you can get - if available - the
XXverbose  description of a library;  this is called 'index', and it's
XXup to the sysop.  An index might not exist for some libraries.
XXThe 'system library' has a special index available:  it lists all of
XXavailable public libraries.
XX
XXYou can query RNA by sending normal e-mail to a user named 'rnalib'.
XXThis user does not really exist:  it's a dummy login for a "daemon".
XXYour  mail  is  read by a PROGRAM, not by a human, so you  must  pay
XXattention to fit some simple rules while 'talking' to him.
XX
XXCOMMAND SYNTAX
XX--------------
XXRNA recognizes command lines inside your email by grepping out of it
XXa  couple  of "@@".  So any line containing "@@"  potentially  might
XXcontain commands.
XXOther  lines are IGNORED;  they are not processed, and not even read
XXby a human (again), so your greetings and thanks are useless ;-)
XXA command SHOULD start with @@ and last a single line.
XXYou can put multiple @@ lines in the same message.
XX
XXYou  can leave spaces ahead, that's no problem, but you can't by any
XXmean  put  words.  RNA could not understand.  There's  an  exception
XXhowever:   the  magic world 'Subject:' is correctly  recognized  and
XXskipped,  so that you can forward requests using the 'subject' field
XXof  your mail without bothering further on.  After '@@' there HAS to
XXbe  at  least  one space.  A command  line  cannot  contain
XX'magic characters' like :  *\/'`"| .
XX
XXADDRESS FOR THE ANSWER
XX----------------------
XXRNA is capable of recognizing automatically your email address.  You
XXdon't  need to tell RNA were to ship its answers.  RNA will use your
XXemail headers to figure out which path replies should go on.
XXMail  will  come  straight  forward  to you, using either 'UUCP-BANG'
XXor 'ARPA' addressing style. RNA will NOT consider headers declarations
XXsuch as "Reply-To:" or "Sender:".
XX
XXRnalib understands two kind of addresses:
XX
XX(1)  UUCP addresses ("bang addresses") like
XX     host!host!user
XX(2)  ARPA addresses ("domain addresses") like
XX     user at host.domain
XX
XXThe (1) is usually got from the very first From line in your message's
XXheader, and is assumed to be the real one.
XXThe (2) is searched inside the header's body and is parsed following
XXsome RFC-822 rules. If it doesn't exist, no problem, the (1) is always
XXavailable.
XX
XXFollowing under the (2) are some combinations of UUCP and ARPA addresses.
XXSome mailers (like sendmail) like to change original From: lines adding
XXtheir own thoughts. 
XX
XXRNALIB can be configured to use UUCP addresses for requests concerning
XXlibraries (files), and ARPA for those concerning mailing lists (if
XXenabled). The way RNALIB uses addresses is up to the system administrator
XXand usually depends much on which mailer is installed.
XX
XX"The nice thing about standards is that there are so many to choose from."
XX
XXRNALIB knows this truth....
XX
XX
XXCREDITS (BYTES)
XX---------------
XXEvery rnalib request sends - usually - back an answer, via e-mail
XXor whatever transport layer. Rnalib calculates the size of this reply
XXand subtracts this size to the amount left as credits.
XX
XXRnalib can be configured to give a certain amount of bytes as
XXdefault credits for new users, or to leave this credit without
XXlimits. An rnalib operator can also choose to 'lock' credits
XXfor new users: in this case new users have to subscribe by mailing
XXthe rnalib manager asking for an rnalib account.
XX
XXRnalib can be configured to 'size' certain paths just like users,
XXfor instance a long-distance link, or big hosts. In this case,
XXcredits are applied as a 'forfait' for the whole network/users
XXon that chosen path.
XX
XXOnce credits have expired, the rnalib operator can be asked for 
XXa credit reset.
XX
XXThe mechanism of credits within rnalib is called 'pathsizing' 
XXand can also be disabled (no control over requests).
XX
XX
XXRNALIB BLACKLISTS
XX-----------------
XXBlacklisting means that you are off-limits from this rna-site.
XXIt could be as well that one of the hosts you're going through
XXhas been blacklisted.
XXBlacklisting is applied for different reasons. One is 'credits':
XXthis 'variable' can be fixed for hosts, for users and for gateways.
XXIf rna keeps saying you're blacklisted, try asking around if 
XXsomeone else has been using rna as hell. The whole network you're on
XXmight have been isolated.
XXAnother reason is SECURITY: rna here traces all requests and analyzes
XXtheir contents. Whenever there's a 'strange' attempt to hurt itself,
XXa mail to postmaster is generated automatically.
XXPlease do not send requests containing funny characters like
XX' $ * and so on. Note that wildcards are not allowed too.
XX
XX
XXASCII AND BINARY FILES
XX----------------------
XXYou can ask for any files you 'list' inside libraries;  they will be
XXship  inside ordinary email.  Unfortunately, email cannot be used to
XXtransfer  binary  files,  so  we had to use something  in  order  to
XXtranslate binaries into pure-ascii text.
XX
XXRNA  currently  uses  two kind of such converters:   "uuencode"  and
XX"btoa".   Both of them do the same job;  the only difference is that
XX"btoa" is more recent than "uuencode", and saves some 15% size while
XX'expanding'  the binary code into ascii .  However, you might expect
XXa  binary file sized -say- 100 to be encoded to a size of 150;  this
XXkind of translators do their best, but keep their limits.
XX
XXNow  you  got the situation:  if you need a binary file, BE SURE  to
XXhave  a  copy of either "uuencode" or "btoa" available, so that  you
XXwill  convert  them  back to their original format as  soon  as  you
XXreceive rna mail.
XX
XXOf course, since "btoa" is much better than uuencode, if you have it
XXthen USE it!  We'll see how to specify a 'btoa encoding' later on.
XX
XXFILE COMPRESSION
XX----------------
XX
XXIf you are dealing with ascii files, then it's worth while trying
XXto use the famous 'compress' utility.  This will reduce up to 50%
XXor more file's sizes. Once a file has been compressed, you need
XXto convert it back to ascii with uuencode or btoa. These utilities
XXwill expand a compressed file from 15-25% . Overall, you get a
XXsize reduction of some 35-25%, which is not bad. 
XX
XXLAYERS
XX------
XX
XXNormally, RNA will use e-mail for delivering requested stuff.
XXE-mail needs to be ascii, that's why we use convertors.
XXIf you use 'uucp' or 'uusend', there's no need to re-convert
XXa compressed file! In this case, go for a simple 'compress'
XXshipping through binary layers such as uucp.
XXCaution: using uucp/uusend presumes that the network you're on
XXallows - host by host - these remote commands.
XXNot always this is true; ask your postmaster!
XX
XXSPLIT
XX-----
XXIt is sometimes necessary to split a long file into several smaller
XXparts. Sometimes this is not optional! Certain gateways allow only
XXa limited number of kilobytes per mail to be sent, and email longer
XXthan -say- 100K is rejected/discarded/removed/who knows (?!?).
XX
XXFor this reason RNALIB can be configured to let users split their own
XXfiles, choosing the maximum size of each subpart.
XXThat's very easy to do: simply put this command inside the same mail
XXcontaining the 'send' request: @@ split nn   where nn is the decimal
XXnumber of Kbytes (30 = 30Kbytes).
XXThat splitting value lasts for all 'send' requests inside the same email.
XXYou can change the split size adding as many other @@ split as you want.
XX
XXThere's usually a MINIMUM and a MAXIMUM 'split size' configured internally
XXto rnalib, and a 'DEFAULT' split size as well. A user cannot ask for a
XXsplit size lower than MINIMUM or higher than MAXIMUM; any request
XXwhich is producing an output longer than MAXIMUM Kbytes is automatically
XXsplit into smaller parts of DEFAULT size.
XX
XX
XX==============================
XXR N A L I B    C O M M A N D S 
XX==============================
XX
XXHere comes a list of commonly used RNALIB commands.
XX{ }   means parameter not necessary
XX[ ]   means parameter compulsory
XXCommands can be both upper and lower case; arguments ARE case-sensitive.
XXWe call 'origin' the  user/host who sent the query.
XXThis list doesn't include LISTSERV commands; mailing lists might not be
XXconfigured here. For a list of LISTs commands ask for "@@ help listserv".
XX
XXNOTE: a LOT of command aliases are supported and correctly understood by
XX====  rnalib. Normally, uppercase/lowercase and some of their combinations
XX      work fine all the way. You can get the whole alias list with:
XX      @@ help aliases
XX
XX
XX----------------------------|--------------------------------------------
XX       command              |                  action
XX----------------------------|--------------------------------------------
XX        
XX        help                      sends back a quick help
XX
XX	help  {topic}             sends back help on 'topic'.
XX
XX	release                   sends RNALIB's release number, and some
XX                                  notes about its current configuration.
XX                                  RNALIB is a public domain software for
XX                                  all unix/xenix machines.
XX        
XX        index {library}           sends a verbose description of
XX                                  library contents. If no library is
XX                                  specified, the system library is assumed
XX                                  and a list of available libraries is
XX                                  sent. At the end, a 'list' command is
XX                                  automatically executed. So you get a full
XX                                  description of what's inside a lib.
XX
XX        list {library}            sends a list of library's contents.
XX                                  If no library is specified, system 
XX                                  library is assumed. This is useful
XX                                  whenever you need file names and their
XX                                  lenght, while you already know their
XX                                  meaning.
XX
XX        find [filename]           searches inside ALL available libraries
XX                                  for files whose names match 'filename'.
XX                                  A result of the research is returned.
XX
XX	credits                   will return how many bytes you are
XX                                  authorized to request before being denied.
XX                                  This is to prevent abnormal network traffic.
XX                                  Remember that someone is always PAYING for
XX                                  your requests. This command will report
XX                                  your credit left. 
XX
XX
XX	split [Kbytes]            Will force a file-splitting into several 
XX                                  smaller parts, each one [Kbytes] long. 
XX                                  Original file can be rebuilt using 'sh', since
XX                                  splitting is done with 'shar'.
XX
XX	--------
XX	  send  
XX	--------
XX	Since this command is very important, we'll spend some more words
XX	on him. A complete help is available on "send", so if there's
XX	something you don't understand, use  "@@ help send" .
XX	Here's the full "send" syntax:
XX	
XX        send [file] {from [library]} {with [encode_type]} {via [layer]}
XX        ---- ------ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~
XX
XX	[file]		is the file name selected. For instance:
XX			rnalib.tar.Z
XX
XX	[library]	is the name of the library where [file] is located.
XX			A list of libraries is usually obtainable with
XX			@@ index . If no library is specified, the 'DEFAULT'
XX			one is assumed (also known as 'system' library).
XX
XX	[encode_type]	is used whenever requested file is binary and you
XX			are asking for an email shipping. The default type
XX			is uuencode. If you ask for a binary file through
XX			email (@@ send binfile from library) without 
XX			choosing any special encoding type, you'll get your
XX			file treated with uuencode automatically.
XX			Beside encoding, you can ask for special compressions
XX			types, and combine compress + encode if you like.
XX			Available types are:
XX			
XX			uuencode		(default)
XX			btoa
XX			compress	
XX			compress-uuencode	(default for compress)
XX			compress-btoa
XX			lharc
XX			lharc-uuencode		(default for lharc)
XX			lharc-btoa
XX			zoo
XX			zoo-uuencode		(default for zoo)
XX			zoo-btoa
XX
XX
XX	[layer]		is the way any rnalib answer will travel back to you.
XX			Usually through email (that's the default). 
XX			You might also prefer 'uucp', if the network you're on
XX			allows you to use uucp over the full path to this site.
XX			Since uucp allows binary file transfers, you can get
XX			your file compressed without being encoded, saving at
XX			least 35%-50% of time transfer. Same for uusend.
XX			Available layers are:
XX
XX			email			(default)
XX			uucp
XX			uusend
XX
XX
XX
XXImportant Notes on 'send' 
XX------------------------
XX
XX1-      When you ask for a file to be sent, RNA checks if it's ASCII or
XX        BINARY automatically. 
XX
XX2-      You can ask for compression of files; obviously the result has
XX	to be converted to ascii, either with uuencode or btoa.
XX	If you don't specify btoa, uuencode will be used as default.
XX
XX3-	If file is already compressed (its name is terminated by a .Z)
XX	rnalib will ignore your compress-request.
XX
XX4-	If you ask for a file 'with uuencode' or 'with btoa', and this 
XX	file is a simple ascii-text, RNA will NOT follow your
XX	indication and ship the file as-it-is. In fact, there's no
XX	need to increase sizes and higher usenet's traffic!
XX
XX5-	If you ask for a file 'via uucp' or 'via uusend', ascii convertors
XX	(btoa and uuencode) will NOT be used. See #4 for the reason.
XX	You are welcome to use 'compress', instead!
XX
XX
XX6-      If it's a binary file, RNA will AUTOMATICALLY encode it using:
XX        
XX                I) "uuencode" as a default
XX               II) "btoa" if specified and if locally available
XX        
XX        You may notice at this point that a declaration like
XX                        "with uuencode"
XX        is useless, since if the file needs to be encoded it will actually
XX        be treated just with this method; and if file is already ascii,
XX        this declaration will simply be discarded. The specification was
XX        allowed for future versions of RNA.
XX
XX7-	AUTOMATIC FILE FORMAT CONVERSIONS.
XX	When you list files inside a library, normally you can understand
XX	what kind of format they have by looking at their suffixes.
XX	Standard suffixes are:
XX				.Z	compress
XX				.zoo	zoo 
XX				.tar	tar format
XX				.lharc	LHARC format
XX				.tar.Z	tar + compress
XX
XX	If you want to receive a file using an 'encode_type' different from
XX	the original one, rnalib will do all possible conversions for you
XX	automatically.
XX	For instance, tetris.tar.Z is a package archived with 'tar' and then
XX	compressed. If you want to get it in 'zoo' format you just have to
XX	add "with zoo" to your command line. Rnalib will:
XX	-uncompress tetris.tar.Z  getting: tetris.tar
XX	-untar tetris.tar  getting the original package
XX	-zoo the original package into: tetris.zoo
XX	This is 100% AUTOMATIC. No need to worry about it.
XX
XX	
XX
XX
XXRNALIB COMMAND EXAMPLES
XX-----------------------
XX
XX(1)     You want to know which libraries are available.
XX
XX                @@ index
XX
XX(2)     You want to know what's inside  'games' (a @@ list also performed)
XX
XX                @@ index games
XX
XX(3)     You just want to list a library named 'games'.
XX
XX                @@ list games
XX
XX(4)     You want to get a file named 'tetris' inside library 'games'.
XX
XX                @@ send tetris from games
XX
XX	This file will reach you via e-mail (default layer) once transformed
XX	into ascii with uuencode (default encoder).
XX
XX(5)	You want tetris via e-mail using btoa.
XX
XX		@@ send tetris from games using btoa
XX		or
XX		@@ send tetris from games with btoa
XX
XX	Tokens like 'from', 'with', 'send' etc. have many aliases:
XX	you might get them with @@ help aliases .
XX
XX(6)	You want to reduce tetris's size:
XX
XX		@@ send tetris from games using compress
XX
XX	This file will reach you via e-mail (default layer) after being
XX	compressed and uuencoded (default encoder).
XX
XX(7)	As (6), but using btoa instead of uuencode:
XX
XX		@@ send tetris from games using compress-btoa
XX
XX(8)	You are willing to try uucp transfer instead of email:
XX
XX		@@ send tetris from games over uucp
XX
XX	Since uucp is a binary layer, encoders will not be used.
XX
XX(9)	Hey, what about compressing the file before sending through uucp?
XX
XX		@@ send tetris from games using compress via uucp
XX
XX(10)     You want to search for files whose names contain 'rfc'.
XX
XX                @@ find rfc
XX
XX        You will get back a list of files with their related library.
XX        For instance you might get a message telling you that a file
XX        called 'rfc822' is available inside library 'documents'.
XX        At this point you can get it with:
XX
XX                @@ send rfc822 from documents
XX
XX	or any other valid syntax.
XX
XX(11)	Now let's consider a file named "package.tar.Z" in a library 
XX	named "archive". We might get it through email with a simple
XX	@@ send package.tar.Z from archive
XX	and this file would get encoded (since it's binary) with the
XX	default encoder: uuencode.
XX	If you need to get it in a 'lharc' format (usually under dos)
XX	you can ask:
XX	@@ send package.tar.Z from archive with lharc
XX	This time it will get to you as package.lharc ; encoded with
XX	uuencode. Need btoa encoding?
XX	@@ send package.tar.Z from archive with lharc-btoa
XX	
XX	See the previous: "AUTOMATIC FILE FORMAT CONVERSIONS" in this doc.
XX
XX(12)	You would like to get a big package named "bigdoc" inside the default
XX	library; you would like the file to be split into several smaller
XX	parts, each one max 30K bytes long.
XX	@@ split 30
XX	@@ send bigdoc
XX	or
XX	@@ send bigdoc from DEFAULT
XX
XX(13)	Same as (12), but need also little doc, and since it's only 40K you
XX	prefer to get it all in one.
XX	@@ split 30
XX	@@ send bigdoc
XX	@@ split 50
XX	@@ send littledoc
XX
XX	Please note that this is all together inside the same email.
XX
XX(14)	After all these requests, how many bytes are we still allowed to
XX	request from rnalib?
XX	@@ credits
XX
XX(15)	What system is rnalib running on?
XX	@@ release
XX
XX(16)	Now a long command...
XX	
XXSubject: @@ please send file.zoo from library using lharc over uucp
XX
XX
XX
XXDIAGNOSTICS
XX-----------
XXRNA  will send you as much error diagnostics as possible, suggesting
XXyou alternative commands and query methods.  If something goes wrong
XXyou will receive a complete diagnostic of the problem and a possible
XXsolution (WOW!).
XX
XX
XXEXTERNAL DESTINATIONS (privileged origins only)
XX--------------------- 
XXNormally RNAlib sends its output to the origin of the query-message.
XXHowever, if you are a 'privileged origin' you may also specify for a
XX'send'  command a different destination, i.e.  another user, also on
XXanother system.
XXAsk your postmaster, or read help's topic 'external' with command:
XX                          @@ help external
XXif you are interested.
XX
XX
XX                  -- END OF RNALIB 2.2 USER'S GUIDE --
XX
XX------------------------------------------------------------------------------
XSHAR_EOF
X$TOUCH -am 0206172191 rnalib &&
Xchmod 0644 rnalib ||
Xecho "restore of rnalib failed"
Xset `wc -c rnalib`;Wc_c=$1
Xif test "$Wc_c" != "19930"; then
X	echo original size 19930, current size $Wc_c
Xfi
Xexit 0
zXqzXqzXq
echo "File helpfiles is complete" &&
$TOUCH -am 0210163991 helpfiles &&
chmod 0666 helpfiles ||
echo "restore of helpfiles failed"
set `wc -c helpfiles`;Wc_c=$1
if test "$Wc_c" != "39153"; then
	echo original size 39153, current size $Wc_c
fi
# ============= binfiles ==============
echo "x - extracting binfiles (Text)"
sed 's/^X//' << 'zXqzXqzXq' > binfiles &&
X#!/bin/sh
X# This is a shell archive (shar 3.24)
X# made 02/10/1991 16:53 UTC by venta at otello
X# Source directory /usr/local/src/RNA/2_2
X#
X# existing files WILL be overwritten
X#
X# This shar contains:
X# length  mode       name
X# ------ ---------- ------------------------------------------
X#   1064 -rw-r--r-- strings.c
X#    860 -rwxr-xr-x check
X#
Xif touch 2>&1 | fgrep '[-amc]' > /dev/null
X then TOUCH=touch
X else TOUCH=true
Xfi
X# ============= strings.c ==============
Xecho "x - extracting strings.c (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > strings.c &&
XX/* A very poor "strings" clone; just what you need for RNA 2.0 ;-)
XX * I could do it in bourne shell as well, but -com'on- that would
XX * really mean wasting time!
XX * I still wonder why my 3b2-600 with UNIX V 3.2. has no "strings".
XX * Who cares after all...
XX * Use this 'strings' for 'MAKE_RNA' and inside RNA. The only
XX * common thing between original 'strings' and this one is the name.
XX * This is used twice in the whole package: once inside RNA, with 
XX * a single argument (filename), to grep out empty lines.
XX * Once also inside MAKE_RNA, with a necessary option '-1' to force it
XX * keeping lines with a single valid character (for instance a bracket).
XX * No need to do more.
XX */
XX
XX#include <stdio.h>
XX
XXmain(argc,argv) 
XXint argc;
XXchar *argv[];
XX{
XXFILE *fp, *fopen();
XXint car;
XX
XX
XXif ((strcmp(argv[1],"-1")) == 0) 
XX	fp=fopen(argv[2],"r"); 
XXelse 
XX	fp=fopen(argv[1],"r");
XX
XXwhile (( car=getc(fp)) != EOF) 
XX        if (car >32) {
XX                putc(car,stdout);
XX                while (( car=getc(fp)) != 10) putc(car,stdout);
XX		putc(10,stdout);
XX        }
XXfclose(fp);
XX}
XSHAR_EOF
X$TOUCH -am 0206174091 strings.c &&
Xchmod 0644 strings.c ||
Xecho "restore of strings.c failed"
Xset `wc -c strings.c`;Wc_c=$1
Xif test "$Wc_c" != "1064"; then
X	echo original size 1064, current size $Wc_c
Xfi
X# ============= check ==============
Xecho "x - extracting check (Text)"
Xsed 's/^X//' << 'SHAR_EOF' > check &&
XX:
XX# RNALIB Support Utilities 
XX# check 1.0
XX#
XX# This utility performs a bunch of checks upon the whole RNALIB's
XX# environment. It will not allow RNALIB to continue processing any
XX# mail unless specified.
XX# To let RNA continue its work, a $TMPDIR/status file should be
XX# created containing "RRUN".
XX#
XX
XXtest $RNADIR || {
XX#	Hey. Something is wrong with environment: i can't find the most
XX#	important variable!!
XX	test $DEBUG && echo "PANIC: ENVIRONMENT MISSING"
XX#	Let's do a core dump (!) inside tmp
XX	set >/tmp/core.rna
XX	exit
XX}
XX
XX# pathsize -whenever existing- HAS to be readable!
XXtest -n "$PATHSIZE" && {
XX	test -r $PATHSIZE || {
XX		test $DEBUG && echo "ERROR: cannot open $PATHSIZE"
XX		exit
XX	}
XX}
XX
XX# sorry, support utilities still under development
XX
XX# If we get here, all is OK, and RNA can continue.
XXtest $DEBUG && echo "DIAGNOSTIC COMPLETED"
XXecho RRUN >$TMPDIR/status
XSHAR_EOF
X$TOUCH -am 0210165291 check &&
Xchmod 0755 check ||
Xecho "restore of check failed"
Xset `wc -c check`;Wc_c=$1
Xif test "$Wc_c" != "860"; then
X	echo original size 860, current size $Wc_c
Xfi
Xexit 0
zXqzXqzXq
$TOUCH -am 0210165391 binfiles &&
chmod 0666 binfiles ||
echo "restore of binfiles failed"
set `wc -c binfiles`;Wc_c=$1
if test "$Wc_c" != "3066"; then
	echo original size 3066, current size $Wc_c
fi
# ============= notice ==============
echo "x - extracting notice (Text)"
sed 's/^X//' << 'zXqzXqzXq' > notice &&
X
X***************************************************************************
X*                                                                         *
X*                 WELCOME TO RNALIB 2.2 MAIL SERVER                       * 
X*       kindly offered by your italian friends Paolo & Marco              *
X*                                                                         *
X*            This is your 'notice' file inside $RNADIR                    *
X*                                                                         *
X***************************************************************************
X
zXqzXqzXq
$TOUCH -am 0206182191 notice &&
chmod 0666 notice ||
echo "restore of notice failed"
set `wc -c notice`;Wc_c=$1
if test "$Wc_c" != "611"; then
	echo original size 611, current size $Wc_c
fi
# ============= release ==============
echo "x - extracting release (Text)"
sed 's/^X//' << 'zXqzXqzXq' > release &&
X# RNALIB 2.2 MAIL SERVER -  custom site configuration module
X# ==========================================================
X# These informations can be retrieved with "@@ release"
X# Comments will be stripped out. Blank lines are kept.
X#
XHost name: 
XComputer:
XOperating System:                        Release: 
XOrganization: 
XCity:                                    State: 
XSystem administrator     (full name):
XSystem administrator (email address):
XShell: 
XRnalib server was installed:
XLast update/modification   :
X
X# Additional informations can be put here 
X# Ex: mail limits, automatic file splitting size, default credits etc.
zXqzXqzXq
$TOUCH -am 0210183491 release &&
chmod 0666 release ||
echo "restore of release failed"
set `wc -c release`;Wc_c=$1
if test "$Wc_c" != "629"; then
	echo original size 629, current size $Wc_c
fi
# ============= RNA ==============
echo "x - extracting RNA (Text)"
sed 's/^X//' << 'zXqzXqzXq' > RNA &&
X# @(#)RNA 2.2 [Revision A]  Feb 1991
XRNAVERS="RNALIB 2.2 [beta-1]"
X#
X#                 = WELCOME TO RNALIB CONFIGURATION = 
X# ------------------------------------------------------------------------
X# Your attention please: we strongly suggest that you read carefully
X# every comment in the following lines. This configuration comes together
X# with necessary documents, step by step. Skip comments at your own
X# risk: you may not understand the Operator's Guide later on!
X# We all hate reading long docs. This is not long, it's just the minimum
X# you need to know about the program. Consider these comments as 
X# part of the operator's manual. They are *not by any means 'optionals'.
X# If you are going through the whole source, i suggest a 132 col.monitor.
X# ------------------------------------------------------------------------
X#
X# DIRECTORIES AND FILE NAMES (a suggestion)
X# Most of the configuration is based on RNADIR (the following variable).
X# You are of course free to change all the names and path, BUT i suggest
X# you to keep the default ones, which are RNADIR-dependent. Basically, 
X# choose a 'home' directory for rnalib and try using default subdirs.
X# Manuals always refer to those default names.
X#
X# Administrator's directory: this is a dedicated directory for rna. System
X# files such as mail log, accounting etc. will be put here. Other sub-
X# directories normally start under here.
X# This directory will not be public, and should be closed to others 
X# but  rnalib owner. This directory will not contain garbage.
X# You can put the home directory of LOGNAME (see forward).
X# RNADIR=/usr/rnalib
XRNADIR=/usr/local/src/rnalib
X# 
X# Utility's directory. RNALIB's executable files will be searched here.
X# We're talking about shell or binary programs, like 'strings', 'check'
X# and any future external program. It's a bin dir for rnalib, not more.
X# We suggest $RNADIR/bin . You don't need to put XRNA here (later on this).
XBINDIR=$RNADIR/bin
X#
X# PATH: rna looks for 'sed', 'head' and other usual unix utilities inside
X# this path definition.  Note: under SunOS put /usr/5bin ahead!
X# We keep $BINDIR as first path, so it's easier to replace commands,
X# functions etc. We also let the . (current directory) as last chance.
X# Put here your usual paths, like..
X# PATH=$BINDIR:/bin:/usr/bin:/usr/local/bin:/etc:/usr/local/etc:.
XPATH=$BINDIR:/bin:/usr/bin:/usr/local/bin:/etc:/usr/local/etc:.
X#
X# HELP FILES directory. Here you put files a user can ask for with
X# @@ help <topic> . This is different from the main HELP file which
X# is just a general reference guide. I suggest you choose a subdirectory
X# of RNADIR, so it's easier to handle. You might select this directory
X# as a public library also, in order to let people ask for these files
X# (which have to be pure-ascii) with 'get' and all of its compression
X# utilities. f.i. get layers from help with compress via uucp.
X# If you don't plan to use it, LEAVE IT BLANK; i.e: nothing after =.
XHELPDIR=$RNADIR/help
X#
X# Temporary directory: garbage stuff is going to be put here. 
X# You might choose a subdirectory of RNADIR; do not choose /tmp, you might
X# get problems later on. Use a dedicated directory owned by rna.
X# This folder is not going to take much space anyway.
X# TMPDIR=$RNADIR/tmp
XTMPDIR=$RNADIR/tmp
X#
X# Temporary directory: IF you allow file compression, outgoing stuff will 
X# be put here and then compressed before ship. You might choose the same
X# place of TMPDIR. USE a dedicated directory, do not use /tmp.
X# CONVDIR=$RNADIR/convert
XCONVDIR=$RNADIR/convert
X#
X# Temporary directory: IF you allow file splitting, outgoing stuff will
X# be put here and then splitted before ship. You might choose the same
X# place of TMPDIR. USE a dedicated directory, do not use /tmp.
XSPLITDIR=$RNADIR/split
X#
X# The login used as rna entry: tipically 'rnalib'. Create this entry inside
X# /etc/passwd. Home directory is not really important: the only needed thing is 
X# that this user has to execute RNA and will receive query and rejected mail.
X# You'll get more info on how to create this user inside OPER.GUIDE .
X# By now, just pick up a name. Users will mail this name to access your
X# libraries. But they could use aliases as well. Don't worry now.
X# 
XLOGNAME=rnalib
X#
X# The name of your machine, as of 'uname -n' or similar.. Hey, dont put
X# another one, use the correct local machine name. Don't cheat.
X# If you are under some domain include it. Ex: i2ack.SUBLINK.ORG
X# UNAME=host.domain
XUNAME=otello.sublink.ORG
X#
X# The local postmaster, i.e. the person which will eventually solve
X# remote user's problems.
X# If you don't know what a Postmaster is, you are probably in the
X# wrong place. Put 'root@$UNAME' and go on, this is only a reference.
X# Remember to include username AND host (+ domain, if any), for instance
X# venta at i2ack.SUBLINK.ORG . Postmaster need not to be on the same machine
X# were RNALIB is placed! Just think of local networks...
X# POSTMASTER=boss at host.domain
XPOSTMASTER=venta at otello.sublink.ORG
X# 
X# The local listmaster, i.e. the person in charge of mantaining mailing
X# lists and solve user's problems.
X# If you are not going to use listserver's commands, i.e. you don;t care about
X# mailing lists handling by rnalib, you can omit it.
X# LISTMASTER=friend at otherhost.domain
XLISTMASTER=venta at otello.sublink.org
X#
X# When (IF) 'compress 'is used to ship files, their names are extended with
X# a '.Z'. If your UNIX is a System V, maximum file name lenght is 14; if you
X# are on BSD, it's 256; if you are on a Olivetti LSX it's 128 etc.
X# Subtract 2 from your maximum file name lenght and fill the following 
X# variable: for instance, if you have max 14 characters names, put (14-2)=12.
XMAXLENGTH=12
X# 
X# The mail file for LOGNAME, complete path. Usually:
X# /usr/spool/mail/$LOGNAME  on Xenix systems and SCO unix
X# /usr/mail/$LOGNAME  on Unix System V and BSD .
XMAILBOX=/usr/mail/$LOGNAME
X#
X# Name of the file containing all of rna logs, status etc. 
X# also called "accounting".. (automatically created)
X# Be tidy! Keep it inside RNADIR.
XLOGFILE=$RNADIR/account
X#
X# Name of the file which is going to keep record of ALL incoming mails 
X# (NOT the rejected mails...that would be stupid!). You may use this
zXqzXqzXq
echo "End of RNALIB-22_b1 part 2"
echo "File RNA is continued in part 3"
echo "3" > shar3_seq_.tmp
exit 0
-- 
Paolo Ventafridda     -*-     INTERNET: venta at otello.sublink.org
TELEMATIX MILANO - Via C.Gomes 10, 20124 Milano -  +39-2-6706012



More information about the Alt.sources mailing list