diff -ur mutt-1.0.original/Muttrc.in mutt-1.0/Muttrc.in --- mutt-1.0.original/Muttrc.in Thu Sep 30 21:52:21 1999 +++ mutt-1.0/Muttrc.in Fri Dec 10 18:51:55 1999 @@ -38,7 +38,7 @@ # set abort_nosubject=ask-yes # set abort_unmodified=yes -# set alias_file="~/.muttrc" +# set alias_file="~/etc/mail_aliases" # set alias_format=""%2n %t %-10a %r" # set allow_8bit # set alternates="" @@ -141,7 +141,7 @@ # set sendmail_wait=0 # set shell="" # set sig_dashes -# set signature="~/.signature" +# set signature="~/etc/signature" # set simple_search="~f %s | ~s %s" # set smart_wrap # set smileys="(>From )|(:[-^]?[][)(><}{|/DP])" diff -ur mutt-1.0.original/contrib/sample.muttrc mutt-1.0/contrib/sample.muttrc --- mutt-1.0.original/contrib/sample.muttrc Fri Sep 3 23:42:16 1999 +++ mutt-1.0/contrib/sample.muttrc Fri Dec 10 18:29:33 1999 @@ -15,7 +15,7 @@ #set abort_unmodified=yes # automatically abort replies if I don't # change the message -set alias_file=~/.mail_aliases # where I keep my aliases +set alias_file=~/etc/mutt/mail_aliases # where I keep my aliases #set allow_8bit # never do Q-P encoding on legal 8-bit chars set arrow_cursor # use -> instead of hiliting the whole line #set ascii_chars # use ASCII instead of ACS chars for threads @@ -47,7 +47,7 @@ set include # always include messages when replying #set indent_string="> " # how to quote replied text #set locale="C" # locale to use for printing time -#set mailcap_path="~/.mailcap:/usr/local/share/mailcap" +#set mailcap_path="~/etc/mutt/mailcap:~/etc/mailcap:~/.mailcap:/usr/local/share/mailcap" set nomark_old # i don't care about whether a message is old set mail_check=10 # how often to poll for new mail set mbox=+mbox # where to store read messages @@ -80,7 +80,7 @@ #set save_name # save outgoing messages by recipient, if the #set sendmail="/usr/lib/sendmail -oi -oem" # how to deliver mail #set shell="/bin/zsh" # program to use for shell escapes -#set signature="~/.signature" # file which contains my signature +#set signature="~/etc/signature" # file which contains my signature # I subscribe to a lot of mailing lists, so this is _very_ useful. This # groups messages on the same subject to make it easier to follow a @@ -228,7 +228,7 @@ # # is executed when sending mail to an address matching -#send-hook mutt- 'set signature=~/.sigmutt; my_hdr From: Mutt User ' +#send-hook mutt- 'set signature=~/etc/signatures/sigmutt; my_hdr From: Mutt User ' # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # @@ -303,7 +303,7 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # -# Automatically use entries from ~/.mailcap to view these MIME types +# Automatically use entries from ~/etc/mailcap to view these MIME types # # auto_view [ ... ] @@ -331,6 +331,6 @@ # machines. # -source ~/.muttrc-local # config commands local to this site +source ~/etc/mutt/muttrc-local # config commands local to this site # EOF diff -ur mutt-1.0.original/doc/PGP-Notes.txt mutt-1.0/doc/PGP-Notes.txt --- mutt-1.0.original/doc/PGP-Notes.txt Wed Jul 28 21:27:12 1999 +++ mutt-1.0/doc/PGP-Notes.txt Fri Dec 10 18:32:22 1999 @@ -96,7 +96,7 @@ Q: "How do it get PGP 5 support working?" It should work out of the box - just put the following -into your ~/.muttrc: +into your ~/.muttrc (~/etc/mutt/muttrc): set pgp_default_version=pgp5 @@ -104,8 +104,8 @@ Q: "People are sending PGP messages which mutt doesn't recognize. What can I do?" -Add the following lines to your ~/.procmailrc (you are -using procmail, aren't you?): +Add the following lines to your ~/.procmailrc (or to ~/etc/procmailrc if your +procmail supports ~/etc/) [you are using procmail, aren't you?]: ------------------------------ @@ -143,7 +143,7 @@ No. Application/pgp is not really suited to a world with MIME, non-textual body parts and similar things. Anyway, if you really want to generate these old-style -attachments, include the following macro in your ~/.muttrc +attachments, include the following macro in your ~/etc/mutt/muttrc (line breaks for readability, this is actually one line): macro compose S "Fpgp +verbose=0 -fast diff -ur mutt-1.0.original/doc/manual.sgml.in mutt-1.0/doc/manual.sgml.in --- mutt-1.0.original/doc/manual.sgml.in Thu Sep 30 21:39:23 1999 +++ mutt-1.0/doc/manual.sgml.in Fri Dec 10 18:29:53 1999 @@ -697,8 +697,8 @@ source /usr/local/share/Mutt.aliases -source ~/.mail_aliases -set alias_file=~/.mail_aliases +source ~/etc/mail_aliases +set alias_file=~/etc/mail_aliases To use aliases, you merely use the alias at any place in mutt where mutt diff -ur mutt-1.0.original/doc/manual.txt mutt-1.0/doc/manual.txt --- mutt-1.0.original/doc/manual.txt Fri Oct 22 09:42:22 1999 +++ mutt-1.0/doc/manual.txt Fri Dec 10 19:43:21 1999 @@ -792,18 +792,18 @@ On the other hand, the ``create-alias'' function can use only one file, the one pointed to by the ``$alias_file'' variable (which is - ~/.muttrc by default). This file is not special either, in the sense - that Mutt will happily append aliases to any file, but in order for - the new aliases to take effect you need to explicitly ``source'' this - file too. + ~/etc/mutt/muttrc by default). This file is not special either, in + the sense that Mutt will happily append aliases to any file, but in + order for the new aliases to take effect you need to explicitly + ``source'' this file too. For example: source /usr/local/share/Mutt.aliases - source ~/.mail_aliases - set alias_file=~/.mail_aliases + source ~/etc/mutt/mail_aliases + set alias_file=~/etc/mutt/mail_aliases @@ -1438,8 +1438,8 @@ This command allows the inclusion of initialization commands from other files. For example, I place all of my aliases in - ~/.mail_aliases so that I can make my ~/.muttrc readable and keep my - aliases private. + ~/etc/mutt/mail_aliases so that I can make my ~/etc/mutt/muttrc readable + and keep my aliases private. If the filename begins with a tilde (``~''), it will be expanded to the path of your home directory. @@ -2832,7 +2832,7 @@ 66..33..33.. aalliiaass__ffiillee Type: string - Default: ~/.muttrc + Default: ~/etc/mutt/mail_aliases The default file in which to save aliases created by the ``create- alias'' function. @@ -3570,7 +3570,7 @@ Type: string Default: $MAILCAPS or - ~/.mailcap:/usr/local/share/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap + ~/etc/mailcap:~/etc/mutt/mailcap:~/.mailcap:/usr/local/share/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap This variable specifies which files to consult when attempting to display MIME bodies not directly supported by Mutt. @@ -4000,8 +4000,10 @@ 66..33..110000.. ppggpp__vv22__ppuubbrriinngg Type: string - Default: $PGPPATH/pubring.pgp or ~/.pgp/pubring.pgp if $PGPPATH isn't - set. + Default: $PGPPATH/pubring.pgp or ~/etc/pgp/pubring.pgp or ~/.pgp/pubring.pgp + if $PGPPATH isn't set. This variable is ~/etc/pgp directory dependent. It + means that if $PGPPATH is not set it will be set to ~/etc/pgp/pubring.pgp if + ~/etc/pgp directory is found, or to ~/.pgp/pubring.pgp if not. Points to the PGP 2.* public keyring. @@ -4009,8 +4011,8 @@ 66..33..110011.. ppggpp__vv22__sseeccrriinngg Type: string - Default: $PGPPATH/secring.pgp or ~/.pgp/secring.pgp if $PGPPATH isn't - set. + Default: $PGPPATH/secring.pgp or ~/etc/pgp/pubring.pgp or ~/.pgp/secring.pgp + if $PGPPATH isn't set. This variable is ~/etc/pgp directory dependent. Points to the PGP 2.* secret keyring. @@ -4037,8 +4039,8 @@ 66..33..110044.. ppggpp__vv55__ppuubbrriinngg Type: string - Default: $PGPPATH/pubring.pkr or ~/.pgp/pubring.pkr if $PGPPATH isn't - set. + Default: $PGPPATH/pubring.pkr or ~/etc/pgp/pubring.pkr or ~/.pgp/pubring.pkr + if $PGPPATH isn't set. This variable is ~/etc/pgp directory dependent. Points to the PGP 5.* public keyring. @@ -4046,8 +4048,8 @@ 66..33..110055.. ppggpp__vv55__sseeccrriinngg Type: string - Default: $PGPPATH/secring.skr or ~/.pgp/secring.skr if $PGPPATH isn't - set. + Default: $PGPPATH/secring.skr or ~/etc/pgp/secring.skr or ~/.pgp/secring.skr + if $PGPPATH isn't set. This variable is ~/etc/pgp directory dependent. Points to the PGP 5.* secret keyring. @@ -4465,7 +4467,7 @@ 66..33..114422.. ssiiggnnaattuurree Type: string - Default: ~/.signature + Default: ~/etc/signature Specifies the filename of your signature, which is appended to all outgoing messages. If the filename ends with a pipe (``|''), it is diff -ur mutt-1.0.original/doc/mutt.man.in mutt-1.0/doc/mutt.man.in --- mutt-1.0.original/doc/mutt.man.in Wed Jul 28 21:09:02 1999 +++ mutt-1.0/doc/mutt.man.in Fri Dec 10 18:31:12 1999 @@ -54,7 +54,7 @@ .IP "-f \fImailbox\fP" Specify which mailbox to load. .IP "-F \fImuttrc\fP" -Specify an initialization file to read instead of ~/.muttrc +Specify an initialization file to read instead of ~/etc/mutt/muttrc .IP "-h" Display help. .IP "-H \fIdraft\fP" @@ -108,12 +108,18 @@ .SH FILES .PP .IP "~/.muttrc" +or +.IP "~/etc/muttrc" +or +.IP "~/etc/mutt/muttrc" User configuration file. .IP "@sysconfdir@/Muttrc" System-wide configuration file. .IP "/tmp/muttXXXXXX" Temporary files created by Mutt. .IP "~/.mailcap" +or +.IP "~/etc/mailcap" User definition for handling non-text MIME types. .IP "@sysconfdir@/mailcap" System definition for handing non-text MIME types. diff -ur mutt-1.0.original/init.c mutt-1.0/init.c --- mutt-1.0.original/init.c Sun Sep 5 10:27:11 1999 +++ mutt-1.0/init.c Fri Dec 10 19:43:49 1999 @@ -42,6 +42,7 @@ #include #include #include +#include #define toggle_quadoption(opt) QuadOptions ^= (1 << (2 * opt)) @@ -1536,8 +1537,11 @@ { struct passwd *pw; struct utsname utsname; - char *p, buffer[STRING], error[STRING]; + struct stat st; + char *p, buffer[STRING], error[STRING], rcpath[STRING]; int i, default_rc = 0, need_pause = 0; + int useetc; /* do we have ~/etc/ ? */ + int usepgpetc; /* do we have ~/etc/pgp/ ? - realy not used, for future */ BUFFER err; memset (&err, 0, sizeof (err)); @@ -1546,6 +1550,7 @@ /* on one of the systems I use, getcwd() does not return the same prefix as is listed in the passwd file */ + if ((p = getenv ("HOME"))) Homedir = safe_strdup (p); @@ -1580,6 +1585,25 @@ Shell = safe_strdup ((p = getenv ("SHELL")) ? p : "/bin/sh"); } + /* Check if user would like to use ~/etc/[mutt/] for all config files */ + /* instead of ~ */ + + useetc = 0; + snprintf (buffer, sizeof(buffer), "%s/etc/mutt", NONULL(Homedir)); + if (stat(buffer,&st) != -1 && S_ISDIR(st.st_mode)) { useetc = 1; } + else + { + snprintf (buffer, sizeof(buffer), "%s/etc/muttrc", NONULL(Homedir)); + if (stat(buffer,&st) != -1 && (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode))) + { useetc = 1; } + else + { + snprintf (buffer, sizeof(buffer), "%s/etc/muttrc-%s", NONULL(Homedir), MUTT_VERSION); + if (stat(buffer,&st) != -1 && (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode))) + { useetc = 1; } + } + } + #ifdef DEBUG /* Start up debugging mode if requested */ if (debuglevel > 0) @@ -1628,8 +1652,8 @@ MailcapPath = safe_strdup (p); else { - /* Default search path from RFC1524 */ - MailcapPath = safe_strdup ("~/.mailcap:" SHAREDIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"); + /* Default search path from RFC1524 - expanded to support ~/etc/ directory */ + MailcapPath = safe_strdup ("~/etc/mutt/mailcap:~/etc/mailcap:~/.mailcap:" SHAREDIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"); } Tempdir = safe_strdup ((p = getenv ("TMPDIR")) ? p : "/tmp"); @@ -1637,6 +1661,18 @@ #ifdef _PGPPATH + + usepgpetc = 0; + snprintf (rcpath, sizeof(rcpath), "%s/etc/pgp", NONULL(Homedir)); + if (stat(rcpath,&st) != -1 && S_ISDIR(st.st_mode)) + { + usepgpetc = 1; + } + else + { + snprintf (rcpath, sizeof(rcpath), "%s/.pgp", NONULL(Homedir)); + } + #ifdef _PGPV2PATH PgpV2 = safe_strdup (_PGPV2PATH); if ((p = getenv("PGPPATH")) != NULL) @@ -1648,9 +1684,9 @@ } else { - snprintf (buffer, sizeof (buffer), "%s/.pgp/pubring.pgp", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%s/pubring.pgp", rcpath); PgpV2Pubring = safe_strdup (buffer); - snprintf (buffer, sizeof (buffer), "%s/.pgp/secring.pgp", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%s/secring.pgp", rcpath); PgpV2Secring = safe_strdup (buffer); } #endif @@ -1666,9 +1702,9 @@ } else { - snprintf (buffer, sizeof (buffer), "%s/.pgp/pubring.pkr", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%s/pubring.pkr", rcpath); PgpV3Pubring = safe_strdup (buffer); - snprintf (buffer, sizeof (buffer), "%s/.pgp/secring.skr", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%s/secring.skr", rcpath); PgpV3Secring = safe_strdup (buffer); } #endif @@ -1684,9 +1720,9 @@ } else { - snprintf (buffer, sizeof (buffer), "%s/.pgp/pubring.pkr", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%s/pubring.pkr", rcpath); PgpV6Pubring = safe_strdup (buffer); - snprintf (buffer, sizeof (buffer), "%s/.pgp/secring.skr", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%s/secring.skr", rcpath); PgpV6Secring = safe_strdup (buffer); } #endif @@ -1739,13 +1775,18 @@ if (!Muttrc) { - snprintf (buffer, sizeof(buffer), "%s/.muttrc-%s", NONULL(Homedir), MUTT_VERSION); + if (useetc) snprintf (rcpath, sizeof(rcpath), "%s/etc/", NONULL(Homedir)); + else snprintf (rcpath, sizeof(rcpath), "%s/.", NONULL(Homedir)); + + snprintf (buffer, sizeof(buffer), "%smuttrc-%s", rcpath, MUTT_VERSION); + if (access(buffer, F_OK) == -1) + snprintf (buffer, sizeof(buffer), "%smuttrc-%s", rcpath, MUTT_VERSION); if (access(buffer, F_OK) == -1) - snprintf (buffer, sizeof(buffer), "%s/.muttrc", NONULL(Homedir)); + snprintf (buffer, sizeof(buffer), "%smuttrc", rcpath); if (access(buffer, F_OK) == -1) - snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc-%s", NONULL(Homedir), MUTT_VERSION); + snprintf (buffer, sizeof (buffer), "%smutt/muttrc-%s", rcpath, MUTT_VERSION); if (access(buffer, F_OK) == -1) - snprintf (buffer, sizeof (buffer), "%s/.mutt/muttrc", NONULL(Homedir)); + snprintf (buffer, sizeof (buffer), "%smutt/muttrc", rcpath); default_rc = 1; Muttrc = safe_strdup (buffer); Only in mutt-1.0: init.c.orig diff -ur mutt-1.0.original/init.h mutt-1.0/init.h --- mutt-1.0.original/init.h Thu Sep 30 21:38:51 1999 +++ mutt-1.0/init.h Fri Dec 10 18:37:03 1999 @@ -69,7 +69,7 @@ struct option_t MuttVars[] = { { "abort_nosubject", DT_QUAD, R_NONE, OPT_SUBJECT, M_ASKYES }, { "abort_unmodified", DT_QUAD, R_NONE, OPT_ABORT, M_YES }, - { "alias_file", DT_PATH, R_NONE, UL &AliasFile, UL "~/.muttrc" }, + { "alias_file", DT_PATH, R_NONE, UL &AliasFile, UL "~/etc/mutt/mail_aliases" }, { "alias_format", DT_STR, R_NONE, UL &AliasFmt, UL "%2n %t %-10a %r" }, { "allow_8bit", DT_BOOL, R_NONE, OPTALLOW8BIT, 1 }, { "alternates", DT_RX, R_BOTH, UL &Alternates, 0 }, @@ -258,7 +258,7 @@ { "sendmail_wait", DT_NUM, R_NONE, UL &SendmailWait, 0 }, { "shell", DT_PATH, R_NONE, UL &Shell, 0 }, { "sig_dashes", DT_BOOL, R_NONE, OPTSIGDASHES, 1 }, - { "signature", DT_PATH, R_NONE, UL &Signature, UL "~/.signature" }, + { "signature", DT_PATH, R_NONE, UL &Signature, UL "~/etc/signature" }, { "simple_search", DT_STR, R_NONE, UL &SimpleSearch, UL "~f %s | ~s %s" }, { "smart_wrap", DT_BOOL, R_PAGER, OPTWRAP, 1 }, { "smileys", DT_RX, R_PAGER, UL &Smileys, UL "(>From )|(:[-^]?[][)(><}{|/DP])" }, diff -ur mutt-1.0.original/sendlib.c mutt-1.0/sendlib.c --- mutt-1.0.original/sendlib.c Tue Sep 28 18:44:30 1999 +++ mutt-1.0/sendlib.c Fri Dec 10 18:59:55 1999 @@ -685,7 +685,7 @@ cur_sze = 0; szf = mutt_strlen (s); - for (count = 0 ; count < 3 ; count++) + for (count = 0 ; count < 4 ; count++) { /* * can't use strtok() because we use it in an inner loop below, so use @@ -694,12 +694,15 @@ switch (count) { case 0: + snprintf (buf, sizeof (buf), "%s/etc/mime.types", NONULL(Homedir)); + break; + case 1: snprintf (buf, sizeof (buf), "%s/.mime.types", NONULL(Homedir)); break; - case 1: + case 2: strfcpy (buf, SYSCONFDIR"/mime.types", sizeof(buf)); break; - case 2: + case 3: strfcpy (buf, SHAREDIR"/mime.types", sizeof (buf)); break; default: