home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume15 / mush6.3kit / part01 / README-6.3
Text File  |  1988-07-06  |  10KB  |  223 lines

  1.  
  2. The file, "README" is always being updated for brand new users on how
  3. to install mush for the first time.  It can be referenced for earlier
  4. info as well as previous README's.  A new README-<versionID> file (like
  5. this one) will accompany each new upgrade.
  6.  
  7. For those who wish to be on the mush-users mailing list, please
  8. send requests to:
  9.     mush-users-request@garp.mit.edu
  10. I do not maintain this list, so don't mail me.
  11. This mailing list discusses mush usage, internals, portability to new
  12. hardware or non-standard unix systems, future updates/enhancments,
  13. and exchange of general info.  Since mush works on all flavors of
  14. unix from bsd to sys-v and has three different user interfaces, the
  15. group of subscribers is quite diverse.  For those who are very
  16. interested in influencing the X interface, now is the time to get
  17. your opinions in for disucussion before it's too late.
  18.  
  19. New compiler defines:
  20.     DOT_LOCK
  21.     Define this if you want mush to use .lock to lock your mbox for
  22.     updates.  See very last section of this file for detailed info.
  23.  
  24.     UUCP
  25.     This should be defined if your MTA does not automatically create a
  26.     From: header *and* your machine talks to other computers via uucp
  27.     (probably true for default xenix/sys-v systems).
  28.  
  29.     NO_COMMAS
  30.     This should be defined if your mailer does *NOT* like commas
  31.     between addresses on its command line.  Last I heard, smail is
  32.     like this as well as default xenix/sys-v mail transport agents.
  33.     (This used to be defined by OLD_MAILER.)
  34.  
  35.     Note: if your MTA is "smail", OLD_MAILER should _not_ be set, but
  36.     NO_COMMAS should be set.  That is as of this release date.
  37.  
  38.     SIGRET
  39.     This is defined to be "int" by default.  If your signal() returns
  40.     void, SIGRET should be defined to be "void".  This mostly applies
  41.     to SVR3.
  42.  
  43.     For any of these defines, you do one of two things:
  44.     (UUCP used as example)
  45.     1) add -DUUCP in your makefile
  46.     2) In config.h, add a line which reads:
  47.        #define UUCP
  48.  
  49.     For SIGRET, use either "-DSIGRET=void" or "#define SIGRET void"
  50.  
  51. New variables:
  52.     realname (string)
  53.     Set to the user's real name by:
  54.     1) The user's real name is gotten from the environment variable NAME.
  55.     2) The gecos field in the password file
  56.     Once mush has been started, this name can only be reset by changing
  57.     the value of realname -- not by changing 1 or 2 above.
  58.  
  59.     hostname (string)
  60.     The hostname is automatically set by the system, but if circumstances
  61.     make this impossible or the hostname is wrong, the user can reset this.
  62.     See the manual under the VARIABLES section for more info.
  63.     Important Note to sys-v'ers who can't get their hostname from utsname(2)
  64.     (xenix, more?), the hostname should probably be set in the default Mailrc
  65.     defined in config.h.   "set hostname=whatever"
  66.  
  67.     save_empty (boolean)
  68.     If set, folders which have all messages deleted are not removed on
  69.     updates or change folder commands.  The folder is left at zero length.
  70.     Note, this does not affect the spool mailbox; it is never removed on
  71.     updates.
  72.  
  73.     date_received (boolean)
  74.     If set, message headers are printed with the date received rather than
  75.     the date sent.  This affects the sorting command; when sorting by date,
  76.     this variable is checked.
  77.  
  78. Misc:
  79.     Addresses that have long uucp paths from the sender would be so long
  80.     that the "important" part of the path --which includes the sender's
  81.     login and machine name, found at the tail end of the address, would
  82.     be cut off.  Such addresses are now shifted to the right if the whole
  83.     address cannot fit in the specified padding requested by the user.
  84.     This affects the hdr_format modifiers %a and %f.  If the addresses
  85.     are shorter than the speicified width, there is no change:
  86.     set hdr_format = "%11a"  # show no more than 11 chars of address
  87.     If the address is:
  88.     sun!island!argv
  89.     then the result will be:
  90.     island!argv
  91.     (previously, you'd get "sun!island!" losing the "argv" at the end.)
  92.  
  93.     Initialization file now udnerstands:
  94.     if -e filename
  95.     and
  96.     if -z filename
  97.     to test to see if a filename (folder) exists (-e) or zero-length (-z).
  98.  
  99.     Added SAVED flag to message status.  If a message is saved,
  100.     this flag is set rather than the DELETE flag.  Messages which
  101.     have been saved are marked with an 'S' in the status field.
  102.     All commands which deal with message status have been modified
  103.     to support this new flag (sort, headers (-H:s), etc...)
  104.  
  105.     $cdpath can now be read from the environment.  that is, it understands
  106.     the ':' as a path separator now.
  107.  
  108.     ":p" can be used to select "preserved" messages.  This adds to the
  109.     list of :c commands which select messages of status "c". headers -?
  110.     for more info.
  111.  
  112. main.c --
  113.     fixed up helpfile assignments for toolmode and removed useless
  114.     warning messages.
  115.  
  116.     ignore sigpipe in main() instead of in do_loop().  This fixes the
  117.     bug where you mail someone without entering the shell and ~p to
  118.     page your message.
  119.  
  120. mail.c --
  121.     Some mailers don't add the From: header.  Previous versions of
  122.     mush would add for these machines:
  123.     From: login
  124.     Now, the user's real name is added in parens.  Also, if UUCP is
  125.     defined, the From: line will look like:
  126.     From: host!user (Real Name)
  127.     If uucp is not defined:
  128.     From: user@host (Real Name)
  129.     This is mostly for uucp systems, so when the user mails to remote
  130.     sites, the From: line should be correct for accurate replies.
  131.  
  132.     If fork() failed in toolmode, the error message is no longer
  133.     overwritten before the user knew the mail couldn't not be sent.
  134.  
  135.     ~? now uses the internal pager so the help doesn't scroll off the screen.
  136.  
  137.     The command: "r addr" to reply to a message and add a new address
  138.     at the same time no longer removes the last character in the first address
  139.     before adding the new address.
  140.  
  141.     If autosign has \n's or \t's embedded in the string, they are now
  142.     expanded to newlines and tabs respectively.  This is also true for
  143.     using ~$variable to print a variable's value into a letter buffer.
  144.     For example, the command:
  145.     set autosign = "\Dan Heller\nisland!argv@sun.com"
  146.     will cause all outgoing letters to be signed with:
  147.  
  148.     -- 
  149.     Dan Heller
  150.     island!argv@sun.com
  151.  
  152. curses.c --
  153.     fixed scrn_line() (screen-line: get a line from the screen) so
  154.     that the following expression is evaluated correctly:
  155.     changed:
  156.         if ((buf = mvinch(line, n) & A_CHARTEXT) == '\0')
  157.     to:
  158.         if ((buf[n] = (mvinch(line, n) & A_CHARTEXT)) == '\0')
  159.  
  160. loop.c --
  161.     disp_hist() (display history) no longer core dumps if the history
  162.     command was given from the curses mode using ':' and there was no
  163.     history created yet.
  164.  
  165. doproc.c (suntools only) --
  166.     The save menu item would prompt to save in ~/mbox for both the
  167.     first and second menu items rather than just the first menu item.
  168.     The result was that you couldn't save to the file described by
  169.     the second menu item.
  170.  
  171. commands.c --
  172.     save_msg() modified to support SAVED flag.  Messages are not
  173.     deleted, but marked saved.  When updating folder, keep_save is
  174.     checked, and if not set, saved messages are deleted.
  175.  
  176. msgs.c --
  177.     changed lockf()'s last argument from 0 to 0L.
  178.  
  179. misc.c --
  180.     Sprintf() (for SYSV) has been modified to correctly deal with
  181.     varargs.  Sorry, the stuff in print.c still isn't, but someday...
  182.     Nevertheless, there are currently no bugs known or reported that
  183.     concern anything in print.c
  184.  
  185.     The internal pager now works with the -e flag (happy _now_ dave?)
  186.  
  187. pick.c --
  188.     picking patterns no longer requires the pattern to be in quotes
  189.     if it contains spaces.  You may now specify:
  190.     pick -f -i dan heller
  191.     This example will find messages from "Dan Heller" (-i ignores case).
  192.  
  193. What "dot-lock" is and why you may need it...
  194.  
  195.     When mush updates your mailbox, it needs to lock it so that if new
  196.     mail is being delivered at the same time, it will wait till mush
  197.     is done.  Or, if the mail is there first, mush should wait before
  198.     attempting to lock the file.  This should theoretically prevent new
  199.     mail from getting lost.  But...
  200.       Different systems use different locking mechanisms.  By default,
  201.     mush uses one of flock(), locking(), or lockf() (depending on your
  202.     system).  Some  systems use a file called the same name as the file
  203.     you're locking with an appended ".lock" at the end (some Xenix's use
  204.     /tmp/$USER.mlk).
  205.       If you define DOT_LOCK, mush will try to lock the mailbox using
  206.     first check for the .lock file.  If it exists, it loops until it
  207.     goes away and then it creates it mode 600.  Regardless of whether you
  208.     use dot-locking, mush will continue to try to use flock(), or whatever.
  209.       dot-locking requires mush to have write access to the directory where
  210.     your mailbox exists.  Normally, this directory isn't writeable by the
  211.     average user, so you may have to sgid mush to do this to the group id
  212.     of the owner of that directory. Mush will get the effective gid at the
  213.     beginning of the program and immediately reset it to your real gid until
  214.     the time it needs to lock the file occurs.  It changes back to the sgid,
  215.     locks, then returns to normal.  There shouldn't be a security problem.
  216.       If you don't know what I'm talking about here, ignore DOT_LOCK
  217.     as this is the first attempt at such locking methods and is likely
  218.     to change.
  219.       Another warning is that some MTA's don't even follow their own protcol.
  220.     System V, it has been reported, creates the .lock file without checking
  221.     to see if it exists (therefore ruining someone else's lock).
  222.  
  223.