|
|
1.1 root 1: /* config.c - master MH configuration file */
2:
3: /* This file is automatically generated. Do not edit! */
4:
5: /* LINTLIBRARY */
6:
7: #include "../h/mh.h"
8: #ifdef MHRC
9: #include <pwd.h>
10: #endif MHRC
11: #include <stdio.h>
12:
13:
14: char *options[] = {"BSD42", "BSD43", "BSD44", "BERK", "TTYD", "DUMB", "MHE", "NETWORK", "BIND", "RPATHS", "ATZ", "SBACKUP='\".\043\"'", "DBM", "SENDMTS", "SMTP", NULL};
15:
16:
17: #ifdef MHRC
18: #ifdef SYS5
19: struct passwd *getpwnam ();
20: #endif SYS5
21: #endif MHRC
22:
23: /* */
24:
25: static char lpath[BUFSIZ];
26:
27: char *libpath (file)
28: char *file;
29: {
30: char *cp;
31: #ifdef MHRC
32: char *pp;
33: struct passwd *pw;
34: #endif MHRC
35:
36: #ifdef MHRC
37: m_getdefs ();
38: #endif MHRC
39:
40: switch (*file) {
41: case '/':
42: return file;
43:
44: #ifdef MHRC
45: case '~':
46: if (cp = index (pp = file + 1, '/'))
47: *cp++ = NULL;
48: if (*pp == NULL)
49: pp = mypath;
50: else
51: if (pw = getpwnam (pp))
52: pp = pw -> pw_dir;
53: else {
54: if (cp)
55: *--cp = '/';
56: goto try_it;
57: }
58:
59: (void) sprintf (lpath, "%s/%s", pp, cp ? cp : "");
60: if (cp)
61: *--cp = '/';
62:
63: if (access (lpath, 04) != NOTOK)
64: return lpath; /* else fall */
65: try_it: ;
66: #endif MHRC
67:
68: default:
69: if (access ((cp = m_maildir (file)), 04) != NOTOK)
70: return cp;
71: }
72:
73: (void) sprintf (lpath, "/usr/contrib/mh/lib/%s", file);
74: return (access (lpath, 04) != NOTOK ? lpath : file);
75: }
76:
77: /* */
78:
79: /*
80: * Standard yes/no switches structure
81: */
82:
83: struct swit anoyes[] = {
84: "no", 0,
85: "yes", 0,
86: NULL, NULL
87: };
88:
89: /* */
90:
91: /*
92: * MH constants
93: */
94:
95: char *components = "components";
96: char *current = "cur";
97: char *defalt = "inbox";
98: char *digestcomps = "digestcomps";
99: char *distcomps = "distcomps";
100: char *draft = "draft";
101: char *forwcomps = "forwcomps";
102: char *mh_defaults = "/usr/contrib/mh/lib/mh.profile";
103: char *mh_profile = ".mh_profile";
104: char *mhlformat = "mhl.format";
105: char *mhlforward = "mhl.forward";
106: char *nsequence = "Sequence-Negation";
107: char *pfolder = "Current-Folder";
108: char *psequence = "Previous-Sequence";
109: char *rcvdistcomps = "rcvdistcomps";
110: char *replcomps = "replcomps";
111: char *usequence = "Unseen-Sequence";
112:
113:
114: /*
115: * MH not-so constants
116: */
117:
118: char *context = "context";
119: #ifndef NOMHSEQ
120: char *mh_seq = ".mh_sequences";
121: #else NOMHSEQ
122: char *mh_seq = NULL;
123: #endif NOMHSEQ
124:
125:
126: /*
127: * MH globals
128: */
129:
130: char ctxflags; /* status of user's context */
131:
132: char *invo_name; /* pgm invocation name */
133: char *mypath; /* user's $HOME */
134: char *defpath; /* pathname of user's profile */
135: char *ctxpath; /* pathname of user's context */
136:
137: struct node *m_defs; /* profile/context structure */
138:
139: /* */
140:
141: /*
142: * MH processes
143: */
144:
145:
146: /*
147: * This program is usually called directly by users, but it is
148: * also invoked by the post program to process an "fcc".
149: */
150:
151: char *fileproc = "/usr/contrib/mh/bin/refile";
152:
153:
154: /*
155: * This program is called to incorporate messages into a folder.
156: */
157:
158: char *incproc = "/usr/contrib/mh/bin/inc";
159:
160:
161: /*
162: * When a user runs an MH program for the first time, this program
163: * is called to create his MH profile, and mail directory.
164: */
165:
166: char *installproc = "/usr/contrib/mh/lib/install-mh";
167:
168:
169: /*
170: * This is the program invoked by a "list" response to "What now?"
171: * whereas, showproc is the program invoked by show, next, prev.
172: */
173:
174: #ifndef MORE
175: char *lproc = "/usr/ucb/more";
176: #else MORE
177: char *lproc = MORE;
178: #endif MORE
179:
180:
181: /*
182: * This is the path for the Bell equivalent mail program.
183: */
184:
185: char *mailproc = "/usr/contrib/mh/bin/mhmail";
186:
187:
188: /*
189: * mhl runs this program as a front-end.
190: */
191:
192: #ifndef MORE
193: char *moreproc = "/usr/ucb/more";
194: #else MORE
195: char *moreproc = MORE;
196: #endif MORE
197:
198:
199: /*
200: * This program is mhl - the nifty message lister
201: */
202:
203: char *mhlproc = "/usr/contrib/mh/lib/mhl";
204:
205:
206: /*
207: * This is the super handy BBoard reading program, which is really just the MH
208: * shell program
209: */
210:
211: char *mshproc = "/usr/contrib/mh/bin/msh";
212:
213:
214: /*
215: * This program is called to pack a folder.
216: */
217:
218: char *packproc = "/usr/contrib/mh/bin/packf";
219:
220:
221: /*
222: * This is the delivery program called through send to
223: * actually deliver mail to users. This is the interface to
224: * the MTS.
225: */
226:
227: #if BERK && SENDMTS
228: char *postproc = "/usr/contrib/mh/lib/spost";
229: #else
230: char *postproc = "/usr/contrib/mh/lib/post";
231: #endif BERK
232:
233:
234: /*
235: * This program is called to remove a folder.
236: */
237:
238: char *rmfproc = "/usr/contrib/mh/bin/rmf";
239:
240:
241: /*
242: * This program is called to remove a message by rmm or refile -nolink.
243: * It's usually empty, which means to rename the file to a backup name.
244: */
245:
246: char *rmmproc = NULL;
247:
248:
249: /*
250: * This program is usually called by the user's whatnowproc, but it
251: * may also be called directly to send a message previously composed.
252: */
253:
254: char *sendproc = "/usr/contrib/mh/bin/send";
255:
256:
257: /*
258: * This program is called to list messages by the show program.
259: * By setting showproc to mhl, the user can run mhl instead.
260: */
261:
262: #ifndef MORE
263: char *showproc = "/usr/ucb/more";
264: #else MORE
265: char *showproc = MORE;
266: #endif MORE
267:
268:
269: /*
270: * This program is called under stand-alone MH to deliver a message to
271: * a local user. Under other MTS's it can be used to emulate a
272: * MMDF-II .maildelivery mechanism.
273: */
274:
275: char *slocalproc = "/usr/contrib/mh/lib/slocal";
276:
277:
278: /*
279: * This program is called by vmh as the back-end to the window management
280: * protocol
281: */
282:
283: char *vmhproc = "/usr/contrib/mh/bin/msh";
284:
285:
286: /*
287: * This program is called after comp, et. al., have built a draft
288: */
289:
290: char *whatnowproc = "/usr/contrib/mh/bin/whatnow";
291:
292:
293: /*
294: * This program is called to list/validate the addresses in a message.
295: */
296:
297: char *whomproc = "/usr/contrib/mh/bin/whom";
298:
299: /* */
300:
301: /*
302: * This is the editor invoked by the various message composition
303: * programs. It SHOULD be a 2-D scope editor, such as Rand's ned
304: * or Berkeley's ex, but any editor will work. We use prompter as
305: * the default, since with -prepend it works just fine with forw.
306: */
307:
308: char *sysed = "prompter";
309:
310:
311: /*
312: * This is the MH alias file.
313: */
314:
315: char *AliasFile = "/usr/contrib/mh/lib/MailAliases";
316:
317: /* */
318:
319: /*
320: * File protections
321: */
322:
323:
324: /*
325: * Folders (directories) are created with this protection (mode)
326: */
327:
328: #ifndef FOLDPROT
329: #define FOLDPROT "0711"
330: #endif not FOLDPROT
331:
332: char *foldprot = FOLDPROT;
333:
334:
335: /*
336: * Every NEW message will be created with this protection. When a
337: * message is filed it retains its protection, so this only applies
338: * to messages coming in through inc.
339: */
340:
341: #ifndef MSGPROT
342: #define MSGPROT "0644"
343: #endif not MSGPROT
344:
345: char *msgprot = MSGPROT;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.