]> diplodocus.org Git - nmh/blobdiff - config/config.c
context_foil.c: Move interface to own file.
[nmh] / config / config.c
index 4024d305cbe9c86ac82203701d5be3dc3c9543c1..55d862e71c19f6e17a4f857debfc37d3e401c0e0 100644 (file)
@@ -1,19 +1,18 @@
-
-/*
- * 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
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <stdio.h>
+#include "h/mh.h"
+#include "sbr/context_read.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
 
 
 /*
@@ -25,6 +24,7 @@
  * 3) Next, check in nmh Mail directory.
  * 4) Next, check in nmh `etc' directory.
  *
+ * Does not return NULL.
  */
 
 char *
@@ -58,28 +58,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) {
                /* Will leak because caller doesn't know cp was
                   dynamically allocated. */
                return cp;
-           } else {
-               free (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;
 }
 
 
@@ -103,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";
 
@@ -141,8 +147,10 @@ char *nmhaccessftp = "nmh-access-ftp";
 /* profile entry for external url access command */
 char *nmhaccessurl = "nmh-access-url";
 
-char *mhlibdir = NMHLIBDIR;
+char *mhbindir = NMHBINDIR;
+char *mhlibexecdir = NMHLIBEXECDIR;
 char *mhetcdir = NMHETCDIR;
+char *mhdocdir = NMHDOCDIR;
 
 /* 
  * nmh not-so constants
@@ -154,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
@@ -241,14 +245,7 @@ char *moreproc = NULL;
  * 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.  
@@ -261,14 +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);
+char *rcvstoreproc = nmhlibexecdir (/rcvstore);
 
 /* 
  * This program is called to remove a message by rmm or refile -nolink.
@@ -298,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
@@ -343,4 +333,3 @@ char *foldprot = "700";
  */
 
 char *msgprot = "600";
-