2 * Internet mail configurator for Citadel/UX
3 * see copyright.doc for copyright information
17 extern struct config config;
22 extern char ALIASES[128];
23 extern char CIT86NET[128];
24 extern char SENDMAIL[128];
25 extern char FALLBACK[128];
26 extern char GW_DOMAIN[128];
27 extern char TABLEFILE[128];
28 extern int RUN_NETPROC;
30 void StripLeadingAndTrailingWhitespace(char *str) {
31 if (strlen(str) == 0) return;
32 while (isspace(str[0])) strcpy(str, &str[1]);
33 while (isspace(str[strlen(str)-1])) str[strlen(str)-1] = 0;
36 void LoadInternetConfig() {
37 char ParamName[256], ParamValue[256], buf[256];
42 conf = fopen("network/internetmail.config", "r");
44 syslog(LOG_NOTICE, "Couldn't load internetmail.config");
48 while (fgets(buf, 256, conf) != NULL) {
49 if (strlen(buf) > 0) buf[strlen(buf) - 1] = 0;
50 strcpy(ParamName, "");
51 strcpy(ParamValue, "");
54 for (a=strlen(buf); a>=0; --a) {
55 if (buf[a] == '=') eqpos = a;
58 strcpy(ParamName, buf);
60 strcpy(ParamValue, &buf[eqpos+1]);
63 StripLeadingAndTrailingWhitespace(ParamName);
64 StripLeadingAndTrailingWhitespace(ParamValue);
66 if (!strcasecmp(ParamName, "aliases"))
67 strcpy(ALIASES, ParamValue);
68 if (!strcasecmp(ParamName, "cit86net spoolin"))
69 strcpy(CIT86NET, ParamValue);
70 if (!strcasecmp(ParamName, "sendmail"))
71 strcpy(SENDMAIL, ParamValue);
72 if (!strcasecmp(ParamName, "fallback"))
73 strcpy(FALLBACK, ParamValue);
74 if (!strcasecmp(ParamName, "gateway domain"))
75 strcpy(GW_DOMAIN, ParamValue);
76 if (!strcasecmp(ParamName, "table file"))
77 strcpy(TABLEFILE, ParamValue);
78 if (!strcasecmp(ParamName, "deliver local"))
79 strcpy(metoo[mecount++], ParamValue);
80 if (!strcasecmp(ParamName, "run netproc"))
81 RUN_NETPROC = atoi(ParamValue);
89 * returns nonzero if the specified host is listed as local
91 int IsHostLocal(char *WhichHost) {
94 if (!strcasecmp(WhichHost, FQDN)) return(1);
97 for (a=0; a<mecount; ++a) {
98 if (!strcasecmp(WhichHost, metoo[a])) return(1);