home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / telecomm / misc / rsp37_3.lha / RShell-Protector.doc < prev    next >
Encoding:
Text File  |  1994-11-22  |  5.5 KB  |  133 lines

  1. rshell-protector.doc
  2.  
  3.  INTRODUCTION
  4. As a sysop or networking-fan you are lucky if the following never
  5. happened to you:
  6. Some Cosys logs in, enters the shell to search a file and
  7. accidentially starts a GUI-driven program that's not
  8. self-detaching. POOF! Your BBS hangs! If you are at home - fine.
  9. If you aren't, your system will be down for a long time.
  10. Ever tried the same thing with X-Windows? If you start a
  11. GUI-driven program from a local shell - no problem. If you try
  12. it via a telnet link (and don't specify any "-display"
  13. parameters) it just says "Can't open display!" and exits.
  14. This is what RShell-Protector achieves on the Amiga.
  15.  
  16.  REQUIREMENTS
  17. RShell-Protector makes use of environment variables and therefore
  18. requires OS2.04. 
  19.  
  20.  INSTALLATION/USAGE
  21. The "rshell-protector" executable is intended to be run as a
  22. background task in the user-startup script. The install-script
  23. included in this archive should perform all necessary changes for
  24. you. The program patches intuition.library and then hangs in the
  25. background, waiting for a Ctrl-C signal. If you ever want to
  26. remove the patches, just use "break <processnumber> c". No fancy
  27. (and illegal) patching routines are used so RShell-Protector will
  28. work fine with SaferPatches.
  29. As only parameter RShell-Protector will take the name of a local
  30. variable, that is set in shells that should be protected.
  31. E.g. in the shell-startup script use:
  32.  set RSHELL-PROTECTOR 1
  33. and that shell will be protected.
  34. Programs started from this process (and their children which inherit
  35. local variables) will fail to open any window or screen. Using
  36. the "set" and "unset" commands you can switch between "protected"
  37. and "unprotected" while the shell is running.
  38. There might be programs which don't care if Intuition returns
  39. NULL on an OpenScreen()/OpenWindow() call. They will render into
  40. an invalid rastport and crash. The best place for such programs
  41. is your trashcan.
  42.  
  43.  CNET BBS INSTALLATION
  44. When running some network with remote-logins you will most likely
  45. have some kind of rlogin-startup script, which you don't have for
  46. the BBS shell in CNet. Let's change that:
  47. Load CNet's "bbstext" file into your favourite editor and move to
  48. line #632 where you will find a newshell-command and some options
  49. for the FIFO: handler. Just change the end of the line from
  50. "from S:shell-startup" to something like
  51. "from s:CNetShell-Startup" and save the file.
  52. Create a file called "CNetShell-Startup (or however you called
  53. it) in your s: directory. It sould contain at least:
  54.  execute s:shell-startup
  55.  set RSHELL-PROTECTOR 1
  56. and maybe some other tools/patches that you want to use from the
  57. BBS shell only. Now select "text/menu reload" from CNet's menu
  58. and you're done.
  59.  
  60.  INSTALLATION ON OTHER BBS-PROGRAMS
  61. Sorry, can't tell you much about this - you have to find out
  62. yourself. Using SnoopDos will help! For DLG the installation
  63. should be similar to CNet, AFAIK the command to call when opening
  64. a shell is also configurable through a textfile.
  65.  
  66.  TECHNICAL INFO/COMPATIBILITY
  67. RShell-Protector patches the following intuition-functions:
  68.  OpenScreen()
  69.  OpenWindow()
  70.  OpenScreenTagList()
  71.  OpenWindowTagList()
  72. On every call to these functions it checks for the environment
  73. variable specified for patching. If there is no such variable
  74. the original function is called. Otherwise an error-message is
  75. printed on stdout and zero returned, which means "failure" to the
  76. calling program.
  77. As the ones with good RKM-knowledge will have noticed, this
  78. method is not 100% system friendly. If a TASK (not a PROCESS)
  79. calls one of the above functions, there will be trouble. Only
  80. processes are allowed to call dos.library, tasks aren't. But no
  81. need to ban this patch from your HD forever! We know of only ONE
  82. task that ever calls OpenWindow(), which is the Fastlane's
  83. "z3scsi.device" - and this is only to display errors on very
  84. early system startup.
  85.  
  86. RShell-Protector has been tested on:
  87. A4000/040, OS3.0, 12MB RAM, Fastlane, Merlin
  88. A4000/030, OS3.0, 22MB RAM, GVP-II, Merlin, MFC-2, CNet/3
  89. A2000, A2630, OS3.1, 7MB RAM, Mastercard, MFC-2, CNet/3
  90. No 68030 or OS3.0+ specific features are used so it should also
  91. run on the 68000 and with OS2.04.
  92.  
  93.  BUGS
  94. Returncode is always 0, no matter if the patching succeeded or
  95. not. If this annoys you, fix it.
  96.  
  97.  COPYLEFT
  98. RShell-Protector is copylefted software. Do with it whatever you
  99. like. The sourcecode in asm is included so you can hack around
  100. with it - we used AsmOne V1.50 to write it. The only thing you
  101. must not do is redistribute hacked-up versions with our names in
  102. them - or thou shalt be marked a lamer forever!
  103. If you implement any improvements, please let us know. See below
  104. for addresses.
  105.  
  106.  AUTHORS
  107. If you can't find us on IRC, send comments, flames etc. to:
  108. Usenet:   Matthias.Bethke@mni.fh-giessen.de
  109. AmigaNet: Lunkwill@39:176/208.0
  110.           Skywalker@39:176/208.3
  111.  
  112. Call these BBSs:
  113. Sweet Dreams - +49-6404-61539 (Line 1, ZyXEL 19k2, 24h)
  114.                +49-6404-65106 (Line 2, ZyXEL 16k8, 22-15h)
  115. Thunder Dome - +49-6408-3249  (Line 1, ZyXEL 19k2, 24h)
  116.                +49-6408-3779  (Line 2, ZyXEL 19k2, 22-13h)
  117.  
  118.  
  119.  HISTORY
  120. V37.3, 18-11-94
  121. - removed some bogus code and useless variables from earlier test-versions
  122. - uses much less stack because only the necessary regs are saved inside the
  123.   functions, not the whole register file.
  124. V37.2, 10-11-94, unreleased
  125. - The env-variable's name is now selectable via commandline. So
  126.   you can save the "set RSHELL-PROTECTOR 1" in the shell-startup if
  127.   you run AUSH which has a variable "remote" by itself.
  128. - Some stupid sourcecode dox
  129. V37.1, 23-10-94, initial release
  130.  
  131.  FUTURE
  132. Maybe a WB emulation using RIP-term...? :^)
  133.