]> diplodocus.org Git - nmh/blobdiff - config/config.c
Alter mh-chart(7)'s NAME to be lowercase.
[nmh] / config / config.c
index 2a01c1bbb9a918e13a3b8da5cb9bd95a364e70f6..81c3683fff1ba0178d9cf46a46582ee79bd18199 100644 (file)
@@ -2,18 +2,18 @@
 /*
  * config.c -- master nmh configuration file
  *
- * $Id$
+ * This code is Copyright (c) 2002, by the authors of nmh.  See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
  */
 
 #include <h/mh.h>
-
-#ifdef MHRC
-# include <pwd.h>
-#endif
+#include <pwd.h>
 
 #define nmhbindir(file) NMHBINDIR#file
+#define nmhlibexecdir(file) NMHLIBEXECDIR#file
 #define nmhetcdir(file) NMHETCDIR#file
-#define nmhlibdir(file) NMHLIBDIR#file
+#define nmhdocdir(file) NMHDOCDIR#file
 
 
 /*
@@ -32,21 +32,16 @@ etcpath (char *file)
 {
     static char epath[PATH_MAX];
     char *cp;
-#ifdef MHRC
     char *pp;
     struct passwd *pw;
-#endif
 
-#ifdef MHRC
     context_read();
-#endif
 
     switch (*file) {
        case '/': 
            /* If already absolute pathname, return it */
            return file;
 
-#ifdef MHRC
        case '~': 
            /* Expand ~username */
            if ((cp = strchr(pp = file + 1, '/')))
@@ -68,14 +63,18 @@ etcpath (char *file)
                *--cp = '/';
 
            if (access (epath, R_OK) != NOTOK)
-               return epath;   /* else fall */
+               return epath;
+               /* FALLTHRU */
 try_it:
-#endif /* MHRC */
 
        default: 
            /* Check nmh Mail directory */
-           if (access ((cp = m_mailpath (file)), R_OK) != NOTOK)
+           if (access ((cp = m_mailpath (file)), R_OK) != NOTOK) {
+               /* Will leak because caller doesn't know cp was
+                  dynamically allocated. */
                return cp;
+           }
+            free (cp);
     }
 
     /* Check nmh `etc' directory */
@@ -89,9 +88,9 @@ try_it:
  */
 
 struct swit anoyes[] = {
-    { "no", 0 },
-    { "yes", 0 },
-    { NULL, 0 }
+    { "no", 0, 0 },
+    { "yes", 0, 1 },
+    { NULL, 0, 0 }
 };
 
 /* 
@@ -104,6 +103,12 @@ char *mh_defaults = nmhetcdir (/mh.profile);
 /* default name of user profile */
 char *mh_profile = ".mh_profile";
 
+/* name of credentials file, defaults to .netrc in either Path or $HOME. */
+char *credentials_file;
+
+/* if set to 1, do not check permissions on credentials file */
+int credentials_no_perm_check = 0;
+
 /* name of current message "sequence" */
 char *current = "cur";
 
@@ -139,8 +144,13 @@ char *nmhprivcache = "nmh-private-cache";
 /* profile entry for external ftp access command */
 char *nmhaccessftp = "nmh-access-ftp";
 
-char *mhlibdir = NMHLIBDIR;
+/* profile entry for external url access command */
+char *nmhaccessurl = "nmh-access-url";
+
+char *mhbindir = NMHBINDIR;
+char *mhlibexecdir = NMHLIBEXECDIR;
 char *mhetcdir = NMHETCDIR;
+char *mhdocdir = NMHDOCDIR;
 
 /* 
  * nmh not-so constants
@@ -152,15 +162,11 @@ char *mhetcdir = NMHETCDIR;
 char *context = "context";
 
 /*
- * Default name of file for public sequences.  If NULL,
- * then nmh will use private sequences by default, unless the
- * user defines a value using the "mh-sequences" profile entry.
+ * Default name of file for public sequences.  If "\0" (an empty
+ * "mh-sequences" profile entry), then nmh will use private sequences by
+ * default.
  */
-#ifdef NOPUBLICSEQ
-char *mh_seq = NULL;
-#else
 char *mh_seq = ".mh_sequences";
-#endif
 
 /* 
  * nmh globals
@@ -186,12 +192,6 @@ char *buildmimeproc = nmhbindir (/mhbuild);
  */
 char *catproc = "/bin/cat";
 
-/*
- * mhl runs this program as a visual-end.
- */
-
-char *faceproc = NULL;
-
 /*
  * This program is usually called directly by users, but it is
  * also invoked by the post program to process an "Fcc", or by
@@ -200,18 +200,18 @@ char *faceproc = NULL;
 
 char *fileproc = nmhbindir (/refile);
 
-/* 
- * This program is called to incorporate messages into a folder.
+/*
+ * This program is used to optionally format the bodies of messages by
+ * "mhl".
  */
 
-char *incproc = nmhbindir (/inc);
+char *formatproc = NULL;
 
-/*
- * When a user runs an nmh program for the first time, this program
- * is called to create his nmh profile, and mail directory.
+/* 
+ * This program is called to incorporate messages into a folder.
  */
 
-char *installproc = nmhlibdir (/install-mh);
+char *incproc = nmhbindir (/inc);
 
 /*
  * This is the default program invoked by a "list" response
@@ -220,7 +220,7 @@ char *installproc = nmhlibdir (/install-mh);
  * draft message.
  */
 
-char *lproc = DEFAULT_PAGER;
+char *lproc = NULL;
 
 /*
  * This is the path for the Bell equivalent mail program.
@@ -234,7 +234,7 @@ char *mailproc = nmhbindir (/mhmail);
  * or message parts of type text/plain.
  */
 
-char *moreproc = DEFAULT_PAGER;
+char *moreproc = NULL;
 
 /* 
  * This is the program (mhl) used to filter messages.  It is
@@ -245,14 +245,7 @@ char *moreproc = DEFAULT_PAGER;
  * for "Bcc:" recipients.
  */
 
-char *mhlproc = nmhlibdir (/mhl);
-
-/* 
- * This is the super handy BBoard reading program, which is
- * really just the nmh shell program.
- */
-
-char *mshproc = nmhbindir (/msh);
+char *mhlproc = nmhlibexecdir (/mhl);
 
 /* 
  * This program is called to pack a folder.  
@@ -265,20 +258,14 @@ char *packproc = nmhbindir (/packf);
  * deliver mail to users.  This is the interface to the MTS.
  */
 
-char *postproc = nmhlibdir (/post);
+char *postproc = nmhlibexecdir (/post);
 
 /*
  * This is program is called by slocal to handle
  * the action `folder' or `+'.
  */
 
-char *rcvstoreproc = nmhlibdir (/rcvstore);
-
-/* 
- * This program is called to remove a folder.  
- */
-
-char *rmfproc = nmhbindir (/rmf);
+char *rcvstoreproc = nmhlibexecdir (/rcvstore);
 
 /* 
  * This program is called to remove a message by rmm or refile -nolink.
@@ -308,14 +295,7 @@ char *showmimeproc = nmhbindir (/mhshow);
  * that such message not be filtered in any way.
  */
 
-char *showproc = nmhlibdir (/mhl);
-
-/* 
- * This program is called by vmh as the back-end to the window management
- * protocol
- */
-
-char *vmhproc = nmhbindir (/msh);
+char *showproc = nmhlibexecdir (/mhl);
 
 /* 
  * This program is called after comp, et. al., have built a draft
@@ -329,14 +309,6 @@ char *whatnowproc = nmhbindir (/whatnow);
 
 char *whomproc = nmhbindir (/whom);
 
-/*
- * This is the editor invoked by the various message
- * composition programs.  It SHOULD be a full screen
- * editor, such as vi or emacs, but any editor will work.
- */
-
-char *defaulteditor = DEFAULT_EDITOR;
-
 /* 
  * This is the global nmh alias file.  It is somewhat obsolete, since
  * global aliases should be handled by the Mail Transport Agent (MTA).
@@ -352,7 +324,7 @@ char *AliasFile = nmhetcdir (/MailAliases);
  * Folders (directories) are created with this protection (mode)
  */
 
-char *foldprot = DEFAULT_FOLDER_MODE;
+char *foldprot = "700";
 
 /*
  * Every NEW message will be created with this protection.  When a
@@ -360,5 +332,5 @@ char *foldprot = DEFAULT_FOLDER_MODE;
  * to messages coming in through inc.
  */
 
-char *msgprot = DEFAULT_MESSAGE_MODE;
+char *msgprot = "600";