home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume15 / rnalib2 / part01 < prev    next >
Encoding:
Text File  |  1990-10-05  |  34.4 KB  |  907 lines

  1. Newsgroups: comp.sources.misc
  2. X-UNIX-From: otello!i2ack!venta@italy.sublink.org
  3. from: venta@i2ack.sublink.org (Paolo Ventafridda)
  4. subject: v15i011: RNALIB_20/part01
  5. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  6.  
  7. Posting-number: Volume 15, Issue 11
  8. Submitted-by: venta@i2ack.sublink.org (Paolo Ventafridda)
  9. Archive-name: rnalib2/part01
  10.  
  11. #!/bin/sh
  12. # This is RNALIB_20, a shell archive (shar 3.24)
  13. # made 09/18/1990 18:32 MET by venta@i2ack.sublink.org
  14. # Source directory /usr/local/src/RNA/new
  15. #
  16. # existing files WILL be overwritten
  17. #
  18. # This shar contains:
  19. # length  mode       name
  20. # ------ ---------- ------------------------------------------
  21. #   1190 -rw-r--r-- MANIFEST
  22. #   2275 -rw-r--r-- NEXT.RELEASE
  23. #  14189 -rw-r--r-- HELP
  24. #  14206 -rw-r--r-- OPER.GUIDE
  25. #   4155 -rw-r--r-- CREDITS
  26. #    502 -rwxr-xr-x MAKE_RNA
  27. #   5845 -rw-r--r-- PROBLEMS
  28. #    130 -rw-r--r-- README.FIRST
  29. #   1143 -rw-r--r-- black
  30. #   2455 -rw-r--r-- deliver.sh
  31. #    941 -rw-r--r-- libindex
  32. #   1335 -rw-r--r-- pathsize
  33. #    793 -rw-r--r-- white
  34. #   1064 -rw-r--r-- strings.c
  35. #   3442 -rw-r--r-- ptc.7000.a
  36. #  53931 -rw-r--r-- RNA
  37. #
  38. if touch 2>&1 | fgrep '[-amc]' > /dev/null
  39.  then TOUCH=touch
  40.  else TOUCH=true
  41. fi
  42. # ============= MANIFEST ==============
  43. echo "x - extracting MANIFEST (Text)"
  44. sed 's/^X//' << 'SHAR_EOF' > MANIFEST &&
  45. X-----------------------------------------------------------
  46. X   File Name               Description
  47. X-----------------------------------------------------------
  48. X CREDITS                         Who wrote it?
  49. X HELP                            User's Manual
  50. X MAKE_RNA                        Program to strip comments from RNA
  51. X MANIFEST                        This shipping list
  52. X NEXT.RELEASE                    What's coming out with rna 2.1, and how
  53. X                to contribute.
  54. X OPER.GUIDE                      Operator's Guide
  55. X PROBLEMS                        bugs hunting: problems & solutions
  56. X README.FIRST                    Where to start from
  57. X RNA                             Remote Network Archive ;-)
  58. X black                           Blacklisting example (keep it as master)
  59. X deliver.sh                      Script for sequential processing of RNA mails
  60. X                with Chip Salzenberg's 'deliver'. Unsupported.
  61. X libindex                        Library index example (keep it as master)
  62. X pathsize                       Pathsizing example (keep it as master)
  63. X ptc.7000.a                     patch for Unisys 7000/40
  64. X strings.c                       In case you don't have it
  65. X white                           Whitelisting example (keep it as master)
  66. SHAR_EOF
  67. $TOUCH -am 0918104390 MANIFEST &&
  68. chmod 0644 MANIFEST ||
  69. echo "restore of MANIFEST failed"
  70. set `wc -c MANIFEST`;Wc_c=$1
  71. if test "$Wc_c" != "1190"; then
  72.     echo original size 1190, current size $Wc_c
  73. fi
  74. # ============= NEXT.RELEASE ==============
  75. echo "x - extracting NEXT.RELEASE (Text)"
  76. sed 's/^X//' << 'SHAR_EOF' > NEXT.RELEASE &&
  77. XWHAT'S NEXT? WHAT'S NEXT?
  78. X******* important important ***********************
  79. XI (we) DO PAY FOR INTERNATIONAL E-MAIL.
  80. XSo do not send your 60K versions of RNA. At least use
  81. X'diff', and let's talk about it anyway!
  82. X***************************************************
  83. X
  84. XA new release of RNALIB, the 2.1, is almost ready, and includes
  85. Xinteresting solutions for remote DOS users.
  86. X
  87. XAside 'compress', also 'lharc' and 'zoo' are available, for compatibility
  88. Xwith the dos world.
  89. XIs that all? Nope.
  90. X
  91. XYou are a unix operator, right? And you keep your files with compress.
  92. X(Well, you might be a cute man, and though use GNU's tar which also
  93. X allow compression, but...).
  94. X
  95. XSuppose you have a file named 'goofie.Z' and someone asks for it 
  96. Xwilling to get it in 'zoo' format.
  97. XRNA 2.1 will CONVERT your goofie.Z into goofie and THEN into goofie.zoo.
  98. X
  99. XNow the best part of 2.1:
  100. X
  101. Xa poor DOS user wants to get 'fortunes.tar.Z' from your clever
  102. Xrna-archive ;-) . Of course, he has no tar, and no .Z. He wants
  103. Xa vanilla 'lharc' file. He will ask for:
  104. X
  105. X@@ send fortunes.tar.Z from whatever_library with lharc
  106. X
  107. Xand rna 2.1 will:
  108. X- uncompress fortunes.tar.Z
  109. X- untar fortunes.tar
  110. X- lharc the result
  111. X- ship the new stuff
  112. X
  113. X(COMING SOON ON YOUR SITE...)
  114. X
  115. X=== What Else ? ===
  116. X
  117. XWe would like to:
  118. X
  119. X1- set up a networking environment for RNA-sites. A sort-of 
  120. X   batch RFS. An RNA site declares its library 'docs' to be
  121. X   shared with the rna network numbered '1'. In a table, there's
  122. X   a list of hosts (*not on the same path!*) belonging to that net.
  123. X   Those hosts will have their corrispondent 'docs' library with
  124. X   the same stuff each other. So we will support 'library aliases'
  125. X   and that kind of things.
  126. X
  127. X2- Do some utilities for RNA. Maybe someone out there in the US can
  128. X   join our work here and send their contribution. For instance,
  129. X   an automatic way of making INDEXes for libraries.
  130. X   I was also thinking of a program which checks $REJECTED mails,
  131. X   and automatically inserts inside $BLACKLIST those paths which
  132. X   appears to be giving problems.
  133. X   And so on. There are a lot of good ideas around.
  134. X   Of course, this utilities must be written in bourne shell,
  135. X   otherwise it's too easy!!
  136. X
  137. XWARNING WARNING
  138. XKeep a copy of the original distribution, since patches will apply
  139. Xon these sources.
  140. SHAR_EOF
  141. $TOUCH -am 0916231390 NEXT.RELEASE &&
  142. chmod 0644 NEXT.RELEASE ||
  143. echo "restore of NEXT.RELEASE failed"
  144. set `wc -c NEXT.RELEASE`;Wc_c=$1
  145. if test "$Wc_c" != "2275"; then
  146.     echo original size 2275, current size $Wc_c
  147. fi
  148. # ============= HELP ==============
  149. echo "x - extracting HELP (Text)"
  150. sed 's/^X//' << 'SHAR_EOF' > HELP &&
  151. X
  152. X------------------------------------------------------------------------------
  153. X
  154. X                                    lll      ii    bbb     
  155. X                                    ll             bb     
  156. X         rr rrr  nnnnn    aaaa     ll     iii     bb     
  157. X         rrr rr nn  nn      aa    ll      ii     bbbbb  
  158. X        rr  rr nn  nn   aaaaa    ll      ii     bb  bb 
  159. X       rr     nn  nn  aa  aa    ll      ii     bb  bb 
  160. X     rrrr    nn  nn   aaa aa  llll    iiii   bb bbb    (c)
  161. X
  162. X                  RNALIB 2.0  
  163. X                      U S E R S '   G U I D E
  164. X
  165. X            Copyright (c) 1989,1990, by Paolo Ventafridda
  166. X                 (venta@i2ack.sublink.org)
  167. X              Marco Lorenzini (marlor@gear.sublink.org)
  168. X
  169. X
  170. X
  171. XINTRODUCTION
  172. X------------
  173. XRNA  handles  files inside internal directories  named  'LIBRARIES'.
  174. XThe  DEFAULT  LIBRARY is referred as 'system library'  and  contains
  175. Xthis  HELP, system notes and anything that might interest you  about
  176. XRNA itself, included the INDEX of available libraries.
  177. X
  178. XAs  a  remote  user you can 'list' contents  of  libraries:   files,
  179. Xsizes,  creation date.  Furthermore you can get - if available - the
  180. Xverbose  description of a library;  this is called 'index', and it's
  181. Xup to the sysop.  An index might not exist for some libraries.
  182. XThe 'system library' has a special index available:  it lists all of
  183. Xavailable public libraries.
  184. X
  185. XYou can query RNA by sending normal e-mail to a user named 'rnalib'.
  186. XThis user does not really exist:  it's a dummy login for a "daemon".
  187. XYour  mail  is  read by a PROGRAM, not by a human, so you  must  pay
  188. Xattention to fit some simple rules while 'talking' to him.
  189. X
  190. XCOMMAND SYNTAX
  191. X--------------
  192. XRNA recognizes command lines inside your email by grepping out of it
  193. Xa  couple  of "@@".  So any line containing "@@"  potentially  might
  194. Xcontain commands.
  195. XOther  lines are IGNORED;  they are not processed, and not even read
  196. Xby a human (again), so your greetings and thanks are useless ;-)
  197. XA command SHOULD start with @@ and last a single line.
  198. X
  199. XYou  can leave spaces ahead, that's no problem, but you can't by any
  200. Xmean  put  words.  RNA would not understand.  There's  an  exception
  201. Xhowever:   the  magic world 'Subject:' is correctly  recognized  and
  202. Xskipped,  so that you can forward requests using the 'subject' field
  203. Xof  your mail without bothering further on.  After '@@' there HAS to
  204. Xbe  at  least  one space or a tab.  A command  line  cannot  contain
  205. X'magic characters' like :  *\/'`"| .
  206. X
  207. X***** BEWARE: DO NOT PUT <TABS> instead of spaces. *****
  208. X
  209. XADDRESS FOR THE ANSWER
  210. X----------------------
  211. XRNA is capable of recognizing automatically your email address.  You
  212. Xdon't  need to tell RNA were to ship its answers.  RNA will use your
  213. Xemail headers to figure out which path replies should go on.
  214. XMail  will  come  straight  forward  to  you,  using  a  'UUCP-BANG'
  215. Xaddressing  style.  RNA will NOT consider headers declarations  such
  216. Xas "Reply-To:" or "Sender:".
  217. X
  218. XASCII AND BINARY FILES
  219. X----------------------
  220. XYou can ask for any files you 'list' inside libraries;  they will be
  221. Xship  inside ordinary email.  Unfortunately, email cannot be used to
  222. Xtransfer  binary  files,  so  we had to use something  in  order  to
  223. Xtranslate binaries into pure-ascii text.
  224. X
  225. XRNA  currently  uses  two kind of such converters:   "uuencode"  and
  226. X"btoa".   Both of them do the same job;  the only difference is that
  227. X"btoa" is more recent than "uuencode", and saves some 15% size while
  228. X'expanding'  the binary code into ascii .  However, you might expect
  229. Xa  binary file sized -say- 100 to be encoded to a size of 150;  this
  230. Xkind of translators do their best, but keep their limits.
  231. X
  232. XNow  you  got the situation:  if you need a binary file, BE SURE  to
  233. Xhave  a  copy of either "uuencode" or "btoa" available, so that  you
  234. Xwill  convert  them  back to their original format as  soon  as  you
  235. Xreceive rna mail.
  236. X
  237. XOf course, since "btoa" is much better than uuencode, if you have it
  238. Xthen USE it!  We'll see how to specify a 'btoa encoding' later on.
  239. X
  240. XFILE COMPRESSION
  241. X----------------
  242. X
  243. XIf you are dealing with ascii files, then it's worth while trying
  244. Xto use the famous 'compress' utility.  This will reduce up to 50%
  245. Xor more file's sizes. Once a file has been compressed, you need
  246. Xto convert it back to ascii with uuencode or btoa. These utilities
  247. Xwill expand a compressed file from 15-25% . Overall, you get a
  248. Xsize reduction of some 35-25%, which is not bad. 
  249. X
  250. XLAYERS
  251. X------
  252. X
  253. XNormally, RNA will use e-mail for delivering requested stuff.
  254. XE-mail needs to be ascii, that's why we use convertors.
  255. XIf you use 'uucp' or 'uusend', there's no need to re-convert
  256. Xa compressed file! In this case, go for a simple 'compress'
  257. Xshipping through binary layers such as uucp.
  258. XCaution: using uucp/uusend presumes that the network you're on
  259. Xallows - host by host - these remote commands.
  260. XNot always this is true; ask your postmaster!
  261. X
  262. XSTANDARD RNA COMMANDS
  263. X---------------------
  264. XA  list of available RNAlib commands follows.  Parameters inside  {}
  265. Xmean  that it is not necessary.  Parameters inside [] means that  an
  266. Xargument  is  required.  Commands can be both upper and lower  case;
  267. Xarguments  ARE case-sensitive.  With 'origin' we mean the  user/host
  268. Xwho sent the query.
  269. X***** BEWARE: DO NOT PUT <TABS> instead of spaces. *****
  270. X
  271. X----------------------------|--------------------------------------------
  272. X       command              |                  action
  273. X----------------------------|--------------------------------------------
  274. X        
  275. X        help                      sends back this help
  276. X        
  277. X        index {library}           sends a verbose description of
  278. X                                  library contents. If no library is
  279. X                                  specified, the system library is assumed
  280. X                                  and a list of available libraries is
  281. X                                  sent. At the end, a 'list' command is
  282. X                                  automatically executed. So you get a full
  283. X                                  description of what's inside a lib.
  284. X
  285. X
  286. X        list {library}            sends a list of library's contents.
  287. X                                  If no library is specified, system 
  288. X                                  library is assumed. This is useful
  289. X                                  whenever you need file names and their
  290. X                                  lenght, while you already know their
  291. X                                  meaning.
  292. X
  293. X        find [filename]           searches inside ALL available libraries
  294. X                                  for files whose names match 'filename'.
  295. X                                  A result of the research is returned.
  296. X
  297. X    credits                   will return how many bytes you are
  298. X                                  authorized to request before being denied.
  299. X                                  This is to prevent abnormal network traffic.
  300. X                                  Remember that someone is always PAYING for
  301. X                                  your requests. This command will report
  302. X                                  your credit left.
  303. X
  304. X        send [filename] {from [library]} {with [encode_type]} {via [layer]}
  305. X
  306. X                                  sends 'filename' from selected library;
  307. X                                  If no library is specified, system 
  308. X                                  library is assumed.
  309. X
  310. X    * AVAILABLE ENCODE-TYPES and some of their aliases:
  311. X
  312. X          uuencode        encode, ascii, DEFAULT
  313. X        btoa
  314. X        compress        compr
  315. X        compress-uuencode    compress-encode
  316. X        compress-btoa
  317. X
  318. X    * AVAILABLE VIA-LAYERS and some of their aliases:
  319. X
  320. X        uusend            
  321. X        uucp
  322. X        email            DEFAULT, mail, e-mail
  323. X        
  324. X    * Note: upper/lowercase allowed for all choices except DEFAULT
  325. X      which is always uppercase.
  326. X
  327. X    * Note: you can use also following internal aliases:
  328. X
  329. X        with            using
  330. X        via            over, through 
  331. X        from            inside, in
  332. X
  333. XImportant Notes on 'send' 
  334. X------------------------
  335. X
  336. X1-      When you ask for a file to be sent, RNA checks if it's ASCII or
  337. X        BINARY automatically. 
  338. X
  339. X2-      You can ask for compression of files; obviously the result has
  340. X    to be converted to ascii, either with uuencode or btoa.
  341. X    If you don't specify btoa, uuencode will be used as default.
  342. X
  343. X3-    If file is already compressed (its name is terminated by a .Z)
  344. X    rnalib will ignore your compress-request.
  345. X
  346. X4-    If you ask for a file 'with uuencode' or 'with btoa', and this 
  347. X    file is a simple ascii-text, RNA will NOT follow your
  348. X    indication and ship the file as-it-is. In fact, there's no
  349. X    need to increase sizes and higher usenet's traffic!
  350. X
  351. X5-    If you ask for a file 'via uucp' or 'via uusend', ascii convertors
  352. X    (btoa and uuencode) will NOT be used. See #4 for the reason.
  353. X    You are welcome to use 'compress', instead!
  354. X
  355. X
  356. X6-      If it's a binary file, RNA will AUTOMATICALLY encode it using:
  357. X        
  358. X                I) "uuencode" as a default
  359. X               II) "btoa" if specified and if locally available
  360. X        
  361. X        You may notice at this point that a declaration like
  362. X                        "with uuencode"
  363. X        is useless, since if the file needs to be encoded it will actually
  364. X        be treated just with this method; and if file is already ascii,
  365. X        this declaration will simply be discarded. The specification was
  366. X        allowed for future versions of RNA.
  367. X
  368. XBLACKLISTS
  369. X----------
  370. XBlacklisting means that you are off-limits from this rna-site.
  371. XIt could be as well that one of the hosts you're going through
  372. Xhas been blacklisted.
  373. XBlacklisting is applied for different reasons. One is 'credits':
  374. Xthis 'variable' can be fixed for hosts, for users and for gateways.
  375. XIf rna keeps saying you're blacklisted, try asking around if 
  376. Xsomeone else has been using rna as hell. The whole network you're on
  377. Xmight have been isolated.
  378. XAnother reason is SECURITY: rna here traces all requests and analyzes
  379. Xtheir contents. Whenever there's a 'strange' attempt to hurt itself,
  380. Xa mail to postmaster is generated automatically.
  381. XPlease do not send requests containing funny characters like
  382. X' $ * and so on. Note that wildcards are not allowed too.
  383. X
  384. X
  385. X
  386. XRNALIB COMMAND EXAMPLES
  387. X-----------------------
  388. X
  389. X(1)     You want to know which libraries are available.
  390. X
  391. X                @@ index
  392. X
  393. X
  394. X(2)     You want to know what's inside  'games'.
  395. X
  396. X                @@ index games
  397. X
  398. X(3)     You just want to list a library named 'games'.
  399. X
  400. X                @@ list games
  401. X
  402. X(4)     You want to get a file named 'tetris' inside library 'games'.
  403. X
  404. X                @@ send tetris from games
  405. X
  406. X    This file will reach you via e-mail once transformed into
  407. X    ascii with uuencode.
  408. X
  409. X(5)    You want tetris via e-mail using btoa.
  410. X
  411. X        @@ send tetris from games using btoa
  412. X        or
  413. X        @@ send tetris from games with btoa
  414. X
  415. X(6)    You want to reduce tetris's size:
  416. X
  417. X        @@ send tetris from games using compress
  418. X
  419. X    This file will reach you via e-mail after being
  420. X    compressed and uuencoded.
  421. X
  422. X(7)    As (6), but using btoa instead of uuencode:
  423. X
  424. X        @@ send tetris from games using compress-btoa
  425. X
  426. X(8)    You are willing to try uucp transfer instead of email:
  427. X
  428. X        @@ send tetris from games using compress over uucp
  429. X
  430. X(9)     You want to search for files whose names contain 'rfc'.
  431. X
  432. X                @@ find rfc
  433. X
  434. X        You will get back a list of files with their related library.
  435. X        For instance you might get a message telling you that a file
  436. X        called 'rfc822' is available inside library 'documents'.
  437. X        At this point you can get it with:
  438. X
  439. X                @@ send rfc822 from documents
  440. X
  441. X    or any other valid syntax.
  442. X
  443. XDIAGNOSTICS
  444. X-----------
  445. XRNA  will send you as much error diagnostics as possible, suggesting
  446. Xyou alternative commands and query methods.  If something goes wrong
  447. Xyou will receive a complete diagnostic of the problem and a possible
  448. Xsolution.
  449. X
  450. X
  451. XEXTERNAL DESTINATIONS (privileged origins only)
  452. X---------------------  ---------- ------ ----
  453. XNormally RNAlib sends its output to the origin of the query-message.
  454. XHowever, if you are a 'privileged origin' you may also specify for a
  455. X'send'  command a different destination, i.e.  another user, also on
  456. Xanother system.
  457. X
  458. XTo  do this, simply add to the normal 'send' command a 'to' followed
  459. Xby the email address of the destination user.  This address might be
  460. Xa UUCP-BANG or an ARPA format;  the address WILL NOT BE CHECKED.
  461. X
  462. XExample:
  463. X                @@ send tetris from games with btoa to bob@usixth
  464. X
  465. XOf course you can also use:
  466. X                                to usixth!bob
  467. X                                to onesys!twosys!user
  468. X                                to user@host.domain
  469. X                                etc.etc.
  470. X
  471. XIf  your  request is not a valid one for any reasons  -  nonexistent
  472. Xlibrary  or  files, syntax errors etc.  - response messages will  be
  473. Xsent  to  YOU, NOT to the 'external destination'.  So if  you  don't
  474. Xreceive  anything  back from RNAlib, then your request was  accepted
  475. Xand the stuff was sent to the specified external user.
  476. X
  477. XBEWARE:   if  something goes wrong, at this point, the message  will
  478. Xcome  back  to RNAlib and archived as 'rejected mail'.   This  would
  479. Xhappen when your 'external destination' does not exist (user or host
  480. Xunknown).  IT'S UP TO YOU that the 'to' argument is VALID.
  481. X
  482. X
  483. XUSING EXTERNAL DESTINATIONS
  484. X---------------------------
  485. XRNA will only allow you to use 'to' inside a 'send' request.
  486. XThis is not a real limitation, since :
  487. X
  488. X-       It's no use to send a 'list' of files to another one.
  489. X        He might serve himself as well, right?
  490. X
  491. X-       This HELP file is available inside the system library (default),
  492. X        and it's called 'HELP'.
  493. X        So if you want to send this file to a friend, all you have to
  494. X        do is :
  495. X                        @@ send HELP to user@host
  496. X
  497. X-       Index is a simple file inside each library, called "INDEX".
  498. X        Index might not be available, though. System library however
  499. X        HAS an 'INDEX' containing list of available libraries.
  500. X        So you might always try:
  501. X
  502. X                        @@ send INDEX to user@host
  503. X
  504. X        which is equivalent to '@@ index'
  505. X
  506. X                        @@ send INDEX from games to user@host
  507. X
  508. X        which is equivalent to '@@ index games'.
  509. X
  510. X
  511. X                  -- END OF RNALIB 2.0 USERS' GUIDE --
  512. X
  513. X------------------------------------------------------------------------------
  514. SHAR_EOF
  515. $TOUCH -am 0913093390 HELP &&
  516. chmod 0644 HELP ||
  517. echo "restore of HELP failed"
  518. set `wc -c HELP`;Wc_c=$1
  519. if test "$Wc_c" != "14189"; then
  520.     echo original size 14189, current size $Wc_c
  521. fi
  522. # ============= OPER.GUIDE ==============
  523. echo "x - extracting OPER.GUIDE (Text)"
  524. sed 's/^X//' << 'SHAR_EOF' > OPER.GUIDE &&
  525. X------------------------------------------------------------------------------
  526. X
  527. X                                    lll      ii    bbb     
  528. X                                    ll             bb     
  529. X         rr rrr  nnnnn    aaaa     ll     iii     bb     
  530. X         rrr rr nn  nn      aa    ll      ii     bbbbb  
  531. X        rr  rr nn  nn   aaaaa    ll      ii     bb  bb 
  532. X       rr     nn  nn  aa  aa    ll      ii     bb  bb 
  533. X     rrrr    nn  nn   aaa aa  llll    iiii   bb bbb    (c)
  534. X
  535. X                  RNALIB 2.0  
  536. X                  O P E R A T O R ' S     G U I D E 
  537. X
  538. X            Copyright (c) 1989,1990, by Paolo Ventafridda
  539. X                  Contributions by Marco Lorenzini
  540. X
  541. X    Permission  is hereby granted to copy, distribute or otherwise 
  542. X    use any part of this package as long as you do not try to make 
  543. X            money from it or pretend that you wrote it.  
  544. X       The copyright notice must be maintained in any copy made.
  545. X  
  546. X    If  you  make  modifications  to  this  software  that you feel 
  547. X    increases its usefulness for the rest of the community,  please 
  548. X    email  the  changes, enhancements, bug fixes as well as any and 
  549. X    all  ideas to me.  This  software is going to be maintained and 
  550. X          enhanced as deemed necessary by the community.
  551. X          
  552. X                          Paolo 
  553. X                 (venta@i2ack.sublink.org)
  554. X
  555. X
  556. X                        BOURNE STRIKES AGAIN
  557. X                        --------------------
  558. XSurprise! RNA is a Bourne Shell script! I know what you are mumbling:
  559. X"if it's not C it's not serious". Well, this thing is serious ;-)
  560. XWe did it in shell because:
  561. X    - people was saying 'you can't do it in shell'
  562. X    - it was funny to work with, hacking problems.
  563. X    - we did not need speed. 
  564. X    - it's much more portable than C, you'll agree.
  565. X    - not everybody have a C compiler on the machine
  566. X    - users will not believe it's written in shell ;-)
  567. X    >> Rnalib does not use 'awk'. <<
  568. X
  569. X
  570. X
  571. X                         IT WON'T TAKE LONG! 
  572. X                         -------------------
  573. X
  574. XI hate long docs, so i tried my best to facilitate an RNA installation
  575. Xwithout too many efforts. How long? Say 15 minutes.
  576. XJust the time to do some 'mv' and some 'mkdir'. Sounds easy, isn't it?
  577. XMost of the (little) work you need to do is inside the main program,
  578. Xthat is RNA; you'll fix the source as you read the docs! That's all
  579. Xtogether, so you don't need to do any printout. By the way, if you want
  580. Xto get an hardcopy of RNA, set your printer to 160 columns.
  581. X
  582. XThe source contains comments (notes) about possible configuration-dependent
  583. Xproblems; these comments refer to tested (verified working) installations
  584. Xmade on various operating systems. If your system  is listed among these
  585. Xmachines, you are going to have a very short configuration. If it's not,
  586. Xdon't worry; i collected all problems found while doing the 'porting'.
  587. XThere's a file named 'PROBLEMS' which you might find really useful, in case
  588. Xsomething does not work.
  589. X
  590. X
  591. X                THIS VERSION OF RNA WAS RUN SUCCESSFULLY ON:
  592. X
  593. X    AT&T 3B2 UNIX SYSTEM V.3.2 
  594. X    SCO-UNIX SYSTEM V 
  595. X    UNISYS 7000/40 running UNIX sysV R.2.21.02  (see PROBLEMS)
  596. X
  597. X
  598. X               A COUPLE OF BETA-RELEASES AGO, RNA WAS RUN ON:
  599. X
  600. X    HP-UX          (should work with no problems)
  601. X    OLIVETTI LSX   (weird things happens on this unix)
  602. X    SCO-XENIX 386  (i guess RNA will work with no problems)
  603. X     
  604. X        
  605. X                         RNA WILL NOT WORK ON:
  606. X
  607. X    SCO Xenix 286 and Microport Unix 286:  forget them.
  608. X    RNA will crash /bin/sh and it's stupid 'fixed stack'.
  609. X    Either you'll get stack errors or 'no data space'!
  610. X    Probably it won't run on VMS/VM/RTX machines also...
  611. X
  612. X
  613. X------------------------------------------------------------------------------
  614. X
  615. X        STEP-BY-STEP SETUP
  616. X
  617. X    1-    Read the 'HELP' file. That's the USER'S GUIDE. An
  618. X        operator should at least know as much as the users
  619. X        (this is not always true, though ;-) ).
  620. X        You'll learn about RNA and its facilities.
  621. X
  622. X
  623. X    2-    Configure the program editing RNA: it's not long.
  624. X        Everything you need to know is inside that piece of
  625. X        code. Just start from the beginning and follow 
  626. X        instructions inside comments. Set DEBUG on..(remind!) 
  627. X        You'll learn about RNA files, and you'll be ready for
  628. X        the 3rd point here. Do not edit anything but 'RNA'.
  629. X
  630. X
  631. X    ..    SO WHAT? Follow step 1 and 2. I'll wait for you right here.
  632. X
  633. X
  634. X    3-    Welcome back. I assume you are not cheating and you did
  635. X        really complete first two steps.
  636. X        Now, as you read inside RNA, you need to configure a file
  637. X        named 'libindex' (referenced as LIBIND), and two optional
  638. X        files named 'black' and 'white'.
  639. X        These files have their own simple explanations inside.
  640. X        
  641. X        Still reading? Go editing 'libindex','black','white'.
  642. X        I'll wait for you right here.
  643. X
  644. X    
  645. X    4-    INSTALLATION. 
  646. X        
  647. X        I. - creation of LOGNAME
  648. X
  649. X        Create a user named 'rnalib' inside /etc/passwd.
  650. X        His home directory will be referenced as RNADIR
  651. X        (see RNA configuration..).
  652. X        Any user/group id will do; the default shell does not
  653. X        matter since the 'daemon' will not  use this account.
  654. X        Here is my entry:
  655. X                rnalib:mypassword:24:20:RNALIB server:/usr/rnalib:/bin/csh
  656. X
  657. X        Check your rnalib directory now: is it the same as the
  658. X        'DEFAULT' you configured inside 'libindex'?
  659. X        If so, you did NOT get the point. Start back from step 1 :-(
  660. X        It has to be different or you are giving any user from remote
  661. X        the ability to read internal files, such as privileged paths!
  662. X        Better clear up this point: 'rnalib' and its files is living
  663. X        inside a home directory,which we call RNADIR. This place is
  664. X        closed to the world. Rnalib will access 'libraries' declared
  665. X        inside 'libindex'; one of these is named 'DEFAULT', and
  666. X        is the default library which will be accessed by users not
  667. X        declaring a specific one. Since users commonly ask things
  668. X        like 'help' or 'send help', we will use the default library
  669. X        as place to contain these things. For this reason, we also
  670. X        refer to the DEFAULT library as 'system library'.
  671. X        Of course, you can use the system library also as a normal
  672. X        one, i.e. a place containing files, docs etc.
  673. X        It's up to you.
  674. X
  675. X        
  676. X        II. - creation of RNADIR and its subdirectories
  677. X
  678. X        This directory is the 'administrator's directory' quoted 
  679. X        in the very first lines of RNA. Move here files:
  680. X            RNA
  681. X            libindex
  682. X            white
  683. X            black
  684. X            pathsize
  685. X            MAKE_RNA
  686. X
  687. X        If you configured 'TMPDIR' inside RNA as: $RNADIR/tmp
  688. X        (which is what i suggest), then create this 'tmp'
  689. X        directory.
  690. X        If you allow file compression, then you need also a 
  691. X        CONVDIR inside RNADIR, as $RNADIR/convert (which is
  692. X        what i suggest).
  693. X         Now everything needed inside administration's
  694. X        dir is ready. Hey. Don't forget to change the owner of
  695. X        these files. Remember, the new owner is 'rnalib'.
  696. X        
  697. X        III. - put HELP online
  698. X
  699. X        Copy 'HELP' inside the directory configured to be 'DEFAULT'
  700. X        as in 'libindex'.  This will allow your poor users to get 
  701. X        some help, if they ask so. You can edit 'HELP' and cut off
  702. X        useless parts which might not fit your configuration.
  703. X        For instance, if you don't run pathsizing, cut off all
  704. X        references about 'credits', and so on.
  705. X        **** PLEASE: leave the header. That's not 'useless'!
  706. X        That's the copyright. Your users will be using MY program.
  707. X        I don't ask money for it; just leave all copyrights were
  708. X        they are. Expecially in the public HELP file. Thank You.
  709. X
  710. X        IV. - put INDEX online
  711. X
  712. X        In the latter directory (DEFAULT), aside HELP, create a file
  713. X        named 'INDEX' (UPPERCASE). When your users ask for a list
  714. X        of available LIBRARIES, this is the file they'll get.
  715. X        So make them happy and write down a notice or whatever.
  716. X
  717. X        The 'INDEX' might look like:
  718. X
  719. X           "AVAILABLE LIBRARIES HERE ON RNALIB SERVER 'i2ack'
  720. X        
  721. X        RFC        Requests For Comments, from 820 to 1035.
  722. X        documents    Various documents, text files.
  723. X        netware        Network software, including RNA
  724. X        games        binary executables for Sperry-Univaq 1100
  725. X        
  726. X        Please help yourself."
  727. X
  728. X        This INDEX file has to be updated. At least put in all
  729. X        of your libraries. You can also put:
  730. X        DEFAULT        Home directory, where HELP is available.
  731. X        
  732. X    
  733. X        V.
  734. X
  735. X        If everything seems ok to you, run 'MAKE_RNA' inside
  736. X        new rnalib home directory (don't forget to su rnalib).
  737. X                
  738. X        We are ready for a test: AS ANOTHER USER, send mail to
  739. X        rnalib, giving this request:
  740. X            @@ credits
  741. X            @@ help
  742. X            @@ index
  743. X        
  744. X        Now su rnalib and execute XRNA. Good luck!
  745. X        At the end, you'll see 'RNA SESSION COMPLETED SUCCESSFULLY'
  746. X        and program will terminate. Check the mail for the user
  747. X        who sent requests to RNA. 
  748. X
  749. X        If everything worked out fine, edit back RNA and disable
  750. X        DEBUG. 
  751. X        IF YOU GOT ERRORS, PLEASE READ FILE 'PROBLEMS' and look for
  752. X        anything which might reflect your situation. RNA has been
  753. X        tested on as many configurations as possible; if 'PROBLEMS'
  754. X        does not come to anything useful, you are out of luck ;-(
  755. X        Get a cup of black coffee and a printout of RNA; carefully
  756. X        study the source and if you find out the problem please let
  757. X        me know! If you don't, grasp a bottle of Wild Turkey...
  758. X        
  759. X
  760. X        VI.
  761. X        I assume XRNA did not give you any error (*any means *ANY).
  762. X        >> Disable DEBUG mode inside RNA source. Run MAKE_RNA again.
  763. X        Execute XRNA from cron once every 30 minutes: to do this,
  764. X        login as rnalib and type (example):
  765. X
  766. X        $ crontab 
  767. X        25,55 * * * * /usr/local/usr/rnalib/XRNA >/dev/null
  768. X
  769. X        DO THIS ONLY AFTER DISABLING DEBUG MODE.
  770. X        If you don't, here it is what's gonna happen.
  771. X        Cron executes XRNA as rnalib. The debug of the session
  772. X        is then mailed to.. rnalib (owner of its crontab entry).
  773. X        RNA does not understand the cron mail, and mails back
  774. X        the stuff to 'root' (owner of cron) . Funny...
  775. X        If you are out of luck, RNA will go crazy and will send
  776. X         its output to an unexistent user. Mailer will reject this
  777. X        request and send it back to rnalib. The cicle closes here
  778. X        and the mail is processed again, without ever stopping.
  779. X        Rna logs will get bigger and bigger.. argh!
  780. X
  781. X        You can omit '>/dev/null', assuming everything is ok.
  782. X        If something is giving errors like 'cannot shift',
  783. X        try applying the unisys 7000/40 patch. A reason could be
  784. X        a wrong path to a utility like 'strings' 'head' or 'sed'.
  785. X
  786. X
  787. X    5-    IT WORKS!
  788. X        
  789. X        Congratulations, enjoy RNA !
  790. X        If you are going to use RNA as a file server for
  791. X        your users, please send a note to the author; i'll
  792. X        be glad to know that someone is using my software :-))
  793. X        Beside, you'll be informed as soon as new patches,
  794. X        releases etc. come out.
  795. X
  796. X
  797. X    6-    Read 'CREDITS' for author's details and official credits.
  798. X        This file also contains an historical description of the
  799. X        program, and how it came out to the current release.
  800. X
  801. X
  802. XTransmission's Layers
  803. X---------------------
  804. XAs we all know, e-mail does not like binary files. So whenever RNA sends
  805. Xa file, it converts it into ascii with common utilities like 'uuencode' 
  806. Xand 'btoa'. This means also increasing sizes. 
  807. XRnalib allows files to be sent using other 'layers' than e-mail. This way
  808. Xfiles need not to be encoded, since these are binary layers. Together
  809. Xwith file's compression, using rna this way will reduce considerably
  810. Xnetwork overloads.
  811. X
  812. X1- UUCP
  813. X
  814. X    Using this choice, file will be sent to the host using a 
  815. X    bang-syntax with uucp (the commands itself).
  816. X    Syntax used is:
  817. X
  818. X    uucp -r -C filename path!path!host!/destination_dir/filename
  819. X
  820. X    This kind of delivery is not always granted. It presumes that
  821. X    all of the hosts the file is going through allows a remote
  822. X    uux command like 'uucp'.  Sites running HDB UUCP should normally
  823. X    let this command available; sites running V7 unix, or non-hdb
  824. X    uucp, probably will not, due to some security problems.
  825. X    In italy, all of the hosts on our network do declare what remote
  826. X    commands are supported, inside a remark field of their maps.
  827. X
  828. X2- UUSEND
  829. X
  830. X    This utility basically is an enhanced version of uucp. Probably
  831. X    was born at the time of those V7 uucp systems which could not
  832. X    put 'uucp' inside their ancient L.cmds. 
  833. X    Around here, in the land of Leonardo Da Vinci ( HeHe ;-)) ), we
  834. X    ask our users to run a custom release of uusend, which is good
  835. X    for V7/Xenix systems and for new UNIXes as well.
  836. X    This release allows arpa-addressing of files. It should come out
  837. X    on usenet pretty soon. If you are reading this line in 1993, 
  838. X    then probably it's already around ;-)) .
  839. X    Anyway, uusend here is used with bang-addressing, so if you have 
  840. X    a copy of this old utility you can use it without problems.
  841. X    Syntax used is:
  842. X    
  843. X    uusend -r -f -m 666 filename path!path!host/destination_dir/filename
  844. X
  845. XAs you understand, an operator should carefully consider the opportunity
  846. Xto leave uucp and uusend available online, since they might not be granted
  847. Xsome 'hops' beyond, and the file would be lost somewhere.
  848. XWell, the thing is here; what can i tell you? Ask around!
  849. X
  850. X
  851. XHow to personalize RNA
  852. X----------------------
  853. XIf you want that every answer given by RNA contains some text from
  854. Xyou, just create a file $RNADIR/notice  (i.e. a file named 'notice'
  855. Xinside $RNADIR ). 
  856. X
  857. XHow to stop your RNA service
  858. X----------------------------
  859. XWhenever you need to stop rnalib for some time, there is no need to
  860. Xtouch cron files or do special things. 
  861. XSimply create a file inside $RNADIR named 'hold' (i.e. $RNADIR/hold).
  862. XEach time RNA finds new mail inside its mailbox, it will copy (append)
  863. Xit into $RNADIR/pending. This mail will not be processed by the time
  864. Xbeing; instead, a message will be sent to the origin, saying that
  865. XRNA is on hold and his request will be processed as soon as the
  866. Xservice is resumed. Content of $RNADIR/hold will be added to this mail,
  867. Xthus allowing you to give some details about what's going on.
  868. XOf course, you can just 'touch' $RNADIR/hold not putting anything inside.
  869. X
  870. XAs soon as RNA starts again and finds a 'pending' file, it checks if
  871. Xthe system is still on hold. If it's not, RNA processes these requests
  872. Xand removes 'pending'.
  873. XWarning: do not create fake 'pending' files.
  874. X
  875. X
  876. X
  877. XTHANKS FOR READING
  878. X==================
  879. XWe hope rnalib is what you were looking for. Concluding, please note 
  880. Xthat 'anything coming free, comes with no warranty', and we assume no
  881. Xresponsability for whatever damage/problem/network-traffic this
  882. Xsoftware might cause.
  883. X
  884. Xventa@i2ack and marlor@gear
  885. X   .sublink.ORG        
  886. X
  887. XMilano, Bologna
  888. XSeptember, 1990
  889. XSublink Network, Italy
  890. X
  891. X-----------------------------------------------------------------------the end
  892. SHAR_EOF
  893. $TOUCH -am 0918181890 OPER.GUIDE &&
  894. chmod 0644 OPER.GUIDE ||
  895. echo "restore of OPER.GUIDE failed"
  896. set `wc -c OPER.GUIDE`;Wc_c=$1
  897. if test "$Wc_c" != "14206"; then
  898.     echo original size 14206, current size $Wc_c
  899. fi
  900. echo "End of part 1, continue with part 2"
  901. exit 0
  902.  
  903.