]> diplodocus.org Git - nmh/blobdiff - config/config.c
new.c: Order two return statements to match comment.
[nmh] / config / config.c
index 63c272cf5479a05864cb6675bd4a593ba584d22b..fa3df3bd8068d99ad46772bac8c1a76fb701ee72 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * config.c -- master nmh configuration file
+/* config.c -- master nmh configuration file
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -8,12 +6,12 @@
  */
 
 #include <h/mh.h>
-#include <stdio.h>
+#include "sbr/m_maildir.h"
 #include <pwd.h>
 
 #define nmhbindir(file) NMHBINDIR#file
+#define nmhlibexecdir(file) NMHLIBEXECDIR#file
 #define nmhetcdir(file) NMHETCDIR#file
-#define nmhlibdir(file) NMHLIBDIR#file
 
 
 /*
@@ -58,23 +56,28 @@ etcpath (char *file)
                }
            }
 
-           snprintf (epath, sizeof(epath), "%s/%s", pp, cp ? cp : "");
+           snprintf (epath, sizeof(epath), "%s/%s", pp, FENDNULL(cp));
            if (cp)
                *--cp = '/';
 
            if (access (epath, R_OK) != NOTOK)
-               return epath;   /* else fall */
-try_it:
+               return epath;
 
+            /* FALLTHRU */
+try_it:
        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 */
     snprintf (epath, sizeof(epath), nmhetcdir(/%s), file);
-    return (access (epath, R_OK) != NOTOK ? epath : file);
+    return access(epath, R_OK) != NOTOK ? epath : file;
 }
 
 
@@ -83,9 +86,9 @@ try_it:
  */
 
 struct swit anoyes[] = {
-    { "no", 0 },
-    { "yes", 0 },
-    { NULL, 0 }
+    { "no", 0, 0 },
+    { "yes", 0, 1 },
+    { NULL, 0, 0 }
 };
 
 /* 
@@ -98,6 +101,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";
 
@@ -133,8 +142,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
@@ -146,15 +160,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
@@ -201,13 +211,6 @@ char *formatproc = NULL;
 
 char *incproc = nmhbindir (/inc);
 
-/*
- * When a user runs an nmh program for the first time, this program
- * is called to create his nmh profile, and mail directory.
- */
-
-char *installproc = nmhlibdir (/install-mh);
-
 /*
  * This is the default program invoked by a "list" response
  * at the "What now?" prompt.  It is also used by the draft
@@ -215,7 +218,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.
@@ -229,7 +232,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
@@ -240,14 +243,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.  
@@ -260,14 +256,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);
+char *rcvstoreproc = nmhlibexecdir (/rcvstore);
 
 /* 
  * This program is called to remove a message by rmm or refile -nolink.
@@ -297,14 +293,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
@@ -318,14 +307,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).
@@ -350,4 +331,3 @@ char *foldprot = "700";
  */
 
 char *msgprot = "600";
-