X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/374ece2e88368afd6e0a29c4ee4b75ffa9e28b39..db744b85cee9eccd9840823d06fa8ea1ff124993:/sbr/mts.c?ds=inline diff --git a/sbr/mts.c b/sbr/mts.c index bf7d42b1..285ced5d 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -8,13 +8,10 @@ */ #include /* for snprintf() */ -#include #include #define nmhetcdir(file) NMHETCDIR#file -#include -#include #include #include #include @@ -23,7 +20,7 @@ /* * static prototypes */ -static char *tailor_value (unsigned char *); +static char *tailor_value (char *); static void getuserinfo (void); static const char *get_mtsconf_pathname(void); static const char *get_mtsuserconf_pathname(void); @@ -54,6 +51,8 @@ char *uucplfil = ""; char *mmdlm1 = "\001\001\001\001\n"; char *mmdlm2 = "\001\001\001\001\n"; +char *spoollocking = DEFAULT_LOCKING; + /* Cache the username, fullname, and mailbox of the user */ static char username[BUFSIZ]; static char fullname[BUFSIZ]; @@ -63,7 +62,7 @@ static char localmbox[BUFSIZ]; * MTS specific variables */ static char *mts_method = "smtp"; -int sm_mts = MTS_SENDMAIL_SMTP; +int sm_mts = MTS_SMTP; char *sendmail = SENDMAILPATH; /* @@ -79,13 +78,6 @@ char *pophost = ""; char *maildelivery = nmhetcdir(/maildelivery); -/* - * Aliasing Facility (doesn't belong here) - */ -int Everyone = NOTOK; -static char *everyone = "-1"; -char *NoShell = ""; - /* * Customize the MTS settings for nmh by adjusting * the file mts.conf in the nmh etc directory. @@ -102,6 +94,7 @@ static struct bind binds[] = { { "systemname", &systemname }, { "mmdfldir", &mmdfldir }, { "mmdflfil", &mmdflfil }, + { "spoollocking", &spoollocking }, { "uucpldir", &uucpldir }, { "uucplfil", &uucplfil }, { "mmdelim1", &mmdlm1 }, @@ -113,8 +106,6 @@ static struct bind binds[] = { { "pophost", &pophost }, { "maildelivery", &maildelivery }, - { "everyone", &everyone }, - { "noshell", &NoShell }, { NULL, NULL } }; @@ -122,14 +113,14 @@ static struct bind binds[] = { /* Convert name of mts method to integer value and store it. */ void save_mts_method (const char *value) { - if (! mh_strcasecmp (value, "smtp")) { + if (! strcasecmp (value, "smtp")) { mts_method = "smtp"; sm_mts = MTS_SMTP; - } else if (! mh_strcasecmp (value, "sendmail/smtp") || - ! mh_strcasecmp (value, "sendmail")) { + } else if (! strcasecmp (value, "sendmail/smtp") || + ! strcasecmp (value, "sendmail")) { mts_method = "sendmail/smtp"; sm_mts = MTS_SENDMAIL_SMTP; - } else if (! mh_strcasecmp (value, "sendmail/pipe")) { + } else if (! strcasecmp (value, "sendmail/pipe")) { mts_method = "sendmail/pipe"; sm_mts = MTS_SENDMAIL_PIPE; } else { @@ -144,12 +135,11 @@ save_mts_method (const char *value) { */ void -mts_init (char *name) +mts_init (void) { const char *cp; FILE *fp; static int inited = 0; - NMH_UNUSED (name); if (inited++ || (fp = fopen (get_mtsconf_pathname(), "r")) == NULL) return; @@ -163,8 +153,6 @@ mts_init (char *name) fclose (fp); } - Everyone = atoi (everyone); - save_mts_method (mts_method); } @@ -177,12 +165,11 @@ mts_init (char *name) */ static char * -tailor_value (unsigned char *s) +tailor_value (char *s) { int i, r; char *bp; char buffer[BUFSIZ]; - size_t len; for (bp = buffer; *s; bp++, s++) { if (*s != QUOTE) { @@ -200,13 +187,13 @@ tailor_value (unsigned char *s) break; default: - if (!isdigit (*s)) { + if (!isdigit ((unsigned char) *s)) { *bp++ = QUOTE; *bp = *s; } - r = *s != '0' ? 10 : 8; - for (i = 0; isdigit (*s); s++) - i = i * r + *s - '0'; + r = ((unsigned char) *s) != '0' ? 10 : 8; + for (i = 0; isdigit ((unsigned char) *s); s++) + i = i * r + ((unsigned char) *s) - '0'; s--; *bp = toascii (i); break; @@ -215,11 +202,7 @@ tailor_value (unsigned char *s) } *bp = 0; - len = strlen (buffer) + 1; - bp = mh_xmalloc (len); - memcpy (bp, buffer, len); - - return bp; + return mh_xstrdup(buffer); } /* @@ -247,7 +230,7 @@ LocalName (int flag) if (buf[0]) return buf; - mts_init ("mts"); + mts_init (); /* check if the mts.conf file specifies a "localname" */ if (*localname && flag == 0) { @@ -294,7 +277,7 @@ SystemName (void) if (buffer[0]) return buffer; - mts_init ("mts"); + mts_init (); /* check if mts.conf file specifies a "systemname" */ if (*systemname) { @@ -359,9 +342,8 @@ getlocalmbox (void) static void getuserinfo (void) { - register unsigned char *cp; - register char *np; - register struct passwd *pw; + char *cp, *np; + struct passwd *pw; if ((pw = getpwuid (getuid ())) == NULL || pw->pw_name == NULL @@ -461,8 +443,7 @@ get_mtsuserconf_pathname (void) static void mts_read_conf_file (FILE *fp) { - unsigned char *bp; - char *cp, buffer[BUFSIZ]; + char *bp, *cp, buffer[BUFSIZ]; struct bind *b; while (fgets (buffer, sizeof(buffer), fp)) { @@ -474,7 +455,7 @@ mts_read_conf_file (FILE *fp) if (!(bp = strchr(buffer, ':'))) break; *bp++ = 0; - while (isspace (*bp)) + while (isspace ((unsigned char) *bp)) *bp++ = 0; for (b = binds; b->keyword; b++)