home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / MUSHP71.ZIP / README.DOS < prev    next >
Text File  |  1991-01-09  |  11KB  |  307 lines

  1. /* @(#)README.DOS 7.1.1   Mike O'Carroll 20 Dec 90 */
  2.  
  3. INTRO
  4. =====
  5.  
  6. The DOS (tm) patches for the Mail User's Shell were intended to allow Mush
  7. to be used as a font-end to UUPC, a PD implementation of UUCP for IBM PCs
  8. and compatibles.  Mush also runs under OS/2(tm).
  9.  
  10. The above notwithstanding, Mush should be usable with any MTA, given minor
  11. modifications, so long as the latter can be run with a command of the
  12. form:
  13.  
  14.     <mta> [flags] addressee
  15.  
  16. This may exclude some PC products with an integrated menu system on the
  17. front-end.
  18.  
  19. Needless to say, there are problems moving any significant body of
  20. software from Unix(tm) to DOS.  There now follows a brief discussion of
  21. some of these and their solutions (if any).
  22.  
  23.  
  24.  
  25. PROBLEMS
  26. ========
  27.  
  28. 1) Size!  These days, mini (and many micro) users tend to assume infinite
  29. memory.  DOS restricts one to 640K, barring a whole range of extensions,
  30. sidesteps and general kludges.  In its "straight" form, Mush 7.1 occupies
  31. about 240K, plus dynamically assigned memory.  While this in itself is no
  32. problem, remember that, to be useful, Mush needs to execute other programs
  33. such as an editor, pager, the MTA and so on.  Add to this all your
  34. favourite TSR programs, a decent shell (I prefer sh to command.com) and
  35. life soon becomes claustrophobic.
  36.  
  37.     As an example, the full Dos version allows use of the MKS port of vi,
  38. but not my port of e2 (the Rand editor - I like to use the same editor
  39. under Dos & Unix too :-)
  40.  
  41.    This leaves only 3 or 4 bytes [he exaggerates] for other things, so
  42. I have made Mush 7.1 run by the use of a swapper (refer to your local
  43. science museum, folks).  This in itself leads to a number of problems:
  44.  
  45.      i) It slows things down a bit, but with a decent disk, I believe
  46.     it to be acceptable.
  47.  
  48.     ii) Control-C's and other things causing longjump()s can cause problems.
  49.  
  50.    iii) For some reason, the MS free() function seems to screw up memory
  51.     so that subsequent swapping hangs.  So mush currently expands
  52.     continually with use.  Of course, you get the memory back when
  53.     you exit, and I haven't hit the limit on any "reasonable" session
  54.     with several hundred commands.  I hope this problem will go away
  55.     with MS C v6, or perhaps a new swapper.
  56.  
  57. I have retained a working version 5.7 which is mush [sorry] smaller, if anyone
  58. wants.  Of course, you lose some nice features.  There is no problem with
  59. OS/2.  I'll rephrase that.  There is plenty of room to run Mush 7.1 under
  60. OS/2.  NOTE THAT THE DOS VERSION WILL NOT RUN IN THE DOS BOX.  But with
  61. all that space in OS/2, who needs it?
  62.  
  63. OK, I exaggerate.
  64.  
  65. 2) Filenames are more restricted.  Things like '&' are acceptable to DOS,
  66. but when they appear in a system() call to OS/2, they are interpreted as
  67. separators.  I settled for things like "m_xxxxx.tmp" which are at least
  68. identifiable as temporaries by the suffix.
  69.  
  70. 3) DOS and OS/2 lack "standards" in the sense of PATHs, HOMEs and library
  71. directories.  Of course you can still use "/usr/lib/...", but is it on
  72. drive A:, or C:, or ...?  These systems do have environments, but they
  73. can rapidly become clogged and unmanageable when you have to specify HOME,
  74. MAILDIR, MAILBOX, HELPDIR, LIBDIR, SPOOLDIR, TEMPDIR, LOGNAME, REALNAME,
  75. ..., enuff said?
  76.  
  77. The procedure used by UUPC is to make the environment point to 2
  78. configuration files, a "system" config and a "user" config.  These have
  79. been adopted and adapted for Mush.
  80.  
  81. 4) Again, on the subject of paths.  Most DOS calls allow the use of '/' in
  82. place of the usual '\'.  However, some operations invoke a system() which
  83. calls up COMMAND.COM (or CMD.EXE for OS/2); unless you have discovered the
  84. secret operation which makes DOS flip its '/' and '\' and recognise '-' for
  85. flags, you are stuck with path\names\like\this.  Some experimentation with
  86. your mush.rc setup may be necessary here.
  87.  
  88. Don't be alarmed by messages like
  89.  
  90.         ... saving msg 1 in c:\usr\foo/junkmail
  91.  
  92. i.e. with mixed slashes.  However, if you get *error* messages saying
  93. things like "can't open \mixed/slashes", this *might* be the problem if it
  94. comes from an externally exec()ed program such as a pager.  A typical
  95. example is given in the next section.
  96.  
  97. 5) Pipes.  COMMAND.COM users may be fooled by their ability to do things
  98. like:
  99.  
  100.         C> verbose_prog | pg
  101.  
  102. However, this is just a cover-up for
  103.  
  104.        C> verbose_prog >temp
  105.       pg <temp
  106.       del temp
  107.  
  108. I have written a simple DOS piper which works so long as you don't expect
  109. the two ends really to play concurrently. [What?  It cheats just like
  110. COMMAND.COM, of course.]
  111.  
  112. The "pipes" are created in a temporary directory.  This may be defined as
  113.  
  114.     set tmpdir=c:\tmp
  115.  
  116. in your environment, or in the mush.rc file.  If it is not defined, mush
  117. will use the Home parameter in your usr.rc file (see below).  Since
  118. the "pipe" files are picked up by another command, this is one case
  119. where the slashes must\go\this\way.
  120.  
  121. 6) Unix users tend to be blase' about things like
  122.  
  123.     fopen("zork", "w");
  124.     ...
  125.     unlink("zork"); /* i.e. no fclose */
  126.  
  127. This can upset DOS and/or OS/2 in strange ways.  [And I now know yet another
  128. way to bring your network down, but I ain't telling ;-) ]
  129.  
  130. 7) The standard distribution of the uupc front-end is (i) Dos only and
  131. (ii) inserts its own headers as well as mush's.  A slightly modified
  132. "mailer.exe" is supplied which runs in either mode.  For completeness,
  133. "uuio.exe" (the MTA) is also available in versions for both systems.
  134. There is now a UUPC Extended which should interface with mush (I haven't
  135. tried it at the time of writing).  It is available from pd2:<msdos2.uucp>
  136. on simtel20.
  137.  
  138. CONFIGS
  139. =======
  140.  
  141. 1) The following are something like the author's UUPC config files.
  142. They are defined to the environment by
  143.  
  144.     set UUPCSYSRC=[<drive>:]<path>\sys.rc
  145.     set UUPCUSRRC=[<drive>:]<path>\usr.rc
  146.  
  147.    sys.rc
  148.  
  149.     Domain=ee.leeds.ac.uk
  150.     NodeName=mocpc
  151.     Mailserv=lena
  152.     MailDir=e:/usr/mail
  153.     MushDir=c:/usr/lib/mush
  154.     NewsDir=c:/u/usr1/moc/news
  155.     ConfDir=c:/usr/lib/uucp
  156.     SpoolDir=e:/usr/spool/uucp
  157.     PubDir=e:/usr/spool/uupublic
  158.     TempDir=e:/tmp
  159.     TZOffset=0000
  160.     TZName=GMT
  161.  
  162.    usr.rc
  163.     Mailbox=moc
  164.     Name=Mike O'Carroll
  165.     Home=c:\u\usr1\moc
  166.     Folders=folders
  167.     Editor=e2 %s
  168.     Pager=pg %s
  169.     Signature=Signatur.e
  170.  
  171. Only MushDir, MailDir, Mailbox and Home are required by Mush itself.  The
  172. slashes are not guarranteed to be right for all uses.
  173.  
  174. The NodeName and Domain may be the same.  On our system, they are different
  175. as there are various nodes hanging off a central host.  The latter
  176. is defined as the Domain, and is the only name to appear to the outside
  177. world (except that the NodeName is used in generating message IDs, to
  178. facilitate tracing).
  179.  
  180. The NewsDir is currently unused.  PubDir is currently unused.  If you allow
  181. direct uucp [sic] commands from your host, the only access allowed is to
  182. SpoolDir;  an extremely basic family mode uucp is supplied, though it only
  183. handles single hops - e.g. PC to local Unix host.
  184.  
  185. 2) A sample "mush.rc" file is included in this distribution. As with
  186. the Unix version, the local version (in Home) overrides the default in
  187. MushDir.
  188.  
  189.  
  190. INSTALLATION
  191. ============
  192.  
  193. 1) Put the .EXEs in a suitable directory in your PATH.  Mushn7 is the
  194. swapping Dos version and mushp is the OS/2 protected mode version.  Mailer is
  195. the uupc front-end, suitably modified for mush (and dual-mode), while
  196. uuio is the Dos MTA. For OS/2, uuiof is a family mode equivalent of uucico
  197. (the MTA).  However, it will only run in the Dos coffin, not on raw Dos.
  198. Uucpf is a dual mode version of the uucp command.
  199.  
  200. 2) Put the .rc files in a suitable library directory.  Set UUPCSYSRC
  201. and UUPCUSRRC to point to the correct locations of sys.rc and usr.rc.
  202. This might be done in your autoexec.bat.
  203.  
  204. 3) Create the directories defined in your sys.rc and usr.rc files.
  205.  
  206. 4) Put "cmd_help" and "mush.rc" in the directory defined as MushDir.
  207.  
  208. 5) Put the "systems" and "commands" file (if any) in the directory defined
  209. as ConfDir.
  210.  
  211. 6) Put your own "mush.rc" (if required) in your Home directory.
  212.  
  213.  
  214. RUNNING
  215. =======
  216.  
  217. [Substitute mushn7 or mushp as appropriate, or rename the .EXEs]
  218.  
  219. To read mail, type
  220.  
  221.     mush
  222.  
  223. To send mail, type
  224.  
  225.     mush user@address
  226. or
  227.     mush address!user
  228.  
  229. if your mail host is pure uucp!
  230.  
  231. There is a "-S" flag which leaves you in mush, even if there is no mail.
  232. The curses mode "-C" is not implemented.
  233.  
  234. Periodically, connect to your host using
  235.  
  236.     uuio [-n] [-xN]
  237.  
  238. The -n flag suppresses the name mangling for uucp commands, iff the Unix
  239. name is acceptable to Dos. There is a debug flag, "-xN" which may help sort
  240. out your "systems" file.  Try an N between 2 and 5 - it gets very verbose
  241. very quickly.
  242.  
  243.  
  244.  
  245. DOCUMENTATION
  246. =============
  247.  
  248. Apart from these READMEs, there is a Unix style "man" and a built-in
  249. online "help".  If you've used another mailer, you should pick things
  250. up quickly enough.
  251.  
  252.  
  253. THAT'S IT
  254. =========
  255.  
  256. All trademarks recognised.  Unless I failed to recognise any.
  257.  
  258. I am not the author of mush, nor uupc, nor the editor e2.  However, I
  259. am prepared to collate bug reports and provide fixes from time to time.
  260. I am in touch with the authors of mush, and will upgrade the Dos/OS-2
  261. versions some time after I receive fixes to the Unix one.
  262.  
  263. One day, there may be a PM front-end, and an OS/2 version of the MTA.
  264. One day.
  265.  
  266.  
  267.  
  268. DISCLAIMER
  269. ==========
  270.  
  271. I use mushp daily under OS/2 1.2 extended edition.  The Dos version,
  272. mushn7, is in daily use by others, but only under Dos 3.3.
  273.  
  274. Neither program has caused any serious problems to the best of my knowledge.
  275. The above notwithstanding, these programs are offered in good faith, but
  276. no reponsibility can be accepted for any crashes, loss of data, waste
  277. of time or any other problems caused by, or suspected to have been caused
  278. by, running of these and associated programs.
  279.  
  280.  
  281.  
  282. VERSION 7.1 UPDATE
  283. ==================
  284.  
  285. Most of the above remarks were written for v6.5, modified where appropriate
  286. for 7.1.  The latter is slightly larger, and the Dos overlay scheme used
  287. in 6.5 has been replaced by the swapper. This has speeded up initialisation
  288. dramatically.
  289.  
  290. I have checked this version for compatibility with **ix by uploading to
  291. our SCO system.  The same code compiles and runs, with only the appropriate
  292. -D defines to the compiler.  Just 1 source to maintain - bliss :-)))
  293.  
  294. There are some small deviations from the "standard" **ix mush (sorry
  295. Dan & Bart), mainly to make maintenance under the 2 (3?) operating
  296. systems easier, but these mainly have to do with locating things like
  297. the help file.  I have added a UK date format for those of our users
  298. who get confused by 6/5/90 ( == 6th of May to me).  The cmd_help file
  299. should be amended accordingly for %pick%. [ Many, many years ago, I
  300. was nearly refused admission to a bar in SF.  My ID gave my birthday
  301. as 12/6, and this was August.  Think about it. As it happens, I wish I
  302. had been refused entry, but that's another story :-) ]
  303.  
  304. I am still prepared to collect bug reports and provide occasional fixes.
  305. This version is fairly well hammered locally, but of course people tend
  306. to use only a small subset of all the features.
  307.