X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/5dd6771b28c257af405d7248639ed0e3bcdce38b..9cca3d060843239d619fa41168cb6342d6ac5461:/config/config.c diff --git a/config/config.c b/config/config.c index c2d307eb..020d610d 100644 --- a/config/config.c +++ b/config/config.c @@ -8,14 +8,12 @@ */ #include - -#ifdef MHRC -# include -#endif +#include #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 /* @@ -34,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, '/'))) @@ -72,12 +65,15 @@ etcpath (char *file) if (access (epath, R_OK) != NOTOK) return epath; /* else fall */ 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 */ @@ -91,9 +87,9 @@ try_it: */ struct swit anoyes[] = { - { "no", 0 }, - { "yes", 0 }, - { NULL, 0 } + { "no", 0, 0 }, + { "yes", 0, 1 }, + { NULL, 0, 0 } }; /* @@ -106,6 +102,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 +143,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 @@ -154,15 +161,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 @@ -188,12 +191,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 @@ -202,18 +199,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 @@ -222,7 +219,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. @@ -236,7 +233,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 @@ -247,14 +244,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. @@ -267,20 +257,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. @@ -310,14 +294,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 @@ -331,14 +308,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). @@ -354,7 +323,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 @@ -362,5 +331,5 @@ char *foldprot = DEFAULT_FOLDER_MODE; * to messages coming in through inc. */ -char *msgprot = DEFAULT_MESSAGE_MODE; +char *msgprot = "600";