X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b5d9d6e4b1b05797ad7b2d86bdaf7cbf86d5e3da..9291a5f82480f2458e04cb9ea7e6749bc952b308:/config/config.c?ds=sidebyside diff --git a/config/config.c b/config/config.c index 63c272cf..55d862e7 100644 --- a/config/config.c +++ b/config/config.c @@ -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 -#include +#include "h/mh.h" +#include "sbr/context_read.h" +#include "sbr/m_maildir.h" #include #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,23 +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) + 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 +88,9 @@ try_it: */ struct swit anoyes[] = { - { "no", 0 }, - { "yes", 0 }, - { NULL, 0 } + { "no", 0, 0 }, + { "yes", 0, 1 }, + { NULL, 0, 0 } }; /* @@ -98,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"; @@ -133,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 @@ -146,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 @@ -201,13 +213,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 +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. @@ -229,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 @@ -240,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. @@ -260,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. @@ -297,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 @@ -318,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). @@ -350,4 +333,3 @@ char *foldprot = "700"; */ char *msgprot = "600"; -