X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/ce399941039778944bc5bc8d10c5f3603089af30..394a751fd883d2bbfc769fed7e254e008a2ef45e:/sbr/mts.c diff --git a/sbr/mts.c b/sbr/mts.c index 4a44c442..60e4c3c2 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -1,18 +1,19 @@ - -/* - * mts.c -- definitions for the mail transport system +/* mts.c -- definitions for the mail transport system * * 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 /* for snprintf() */ -#include +#include "h/mh.h" +#include "escape_addresses.h" +#include "context_find.h" +#include "error.h" +#include "h/utils.h" #define nmhetcdir(file) NMHETCDIR#file -#include +#include "h/mts.h" #include #include #include @@ -48,9 +49,6 @@ char *mmdflfil = ""; char *uucpldir = "/usr/spool/mail"; 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 */ @@ -62,7 +60,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; /* @@ -78,13 +76,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. @@ -104,8 +95,6 @@ static struct bind binds[] = { { "spoollocking", &spoollocking }, { "uucpldir", &uucpldir }, { "uucplfil", &uucplfil }, - { "mmdelim1", &mmdlm1 }, - { "mmdelim2", &mmdlm2 }, { "mts", &mts_method }, { "sendmail", &sendmail }, { "clientname", &clientname }, @@ -113,15 +102,14 @@ static struct bind binds[] = { { "pophost", &pophost }, { "maildelivery", &maildelivery }, - { "everyone", &everyone }, - { "noshell", &NoShell }, { NULL, NULL } }; /* Convert name of mts method to integer value and store it. */ void -save_mts_method (const char *value) { +save_mts_method (const char *value) +{ if (! strcasecmp (value, "smtp")) { mts_method = "smtp"; sm_mts = MTS_SMTP; @@ -133,7 +121,7 @@ save_mts_method (const char *value) { mts_method = "sendmail/pipe"; sm_mts = MTS_SENDMAIL_PIPE; } else { - adios (NULL, "unsupported mts selection \"%s\"", value); + die("unsupported mts selection \"%s\"", value); } } @@ -144,12 +132,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 +150,6 @@ mts_init (char *name) fclose (fp); } - Everyone = atoi (everyone); - save_mts_method (mts_method); } @@ -182,7 +167,6 @@ tailor_value (char *s) int i, r; char *bp; char buffer[BUFSIZ]; - size_t len; for (bp = buffer; *s; bp++, s++) { if (*s != QUOTE) { @@ -195,6 +179,7 @@ tailor_value (char *s) case 't': *bp = '\t'; break; case 0: s--; + /* FALLTHRU */ case QUOTE: *bp = QUOTE; break; @@ -206,7 +191,7 @@ tailor_value (char *s) } r = ((unsigned char) *s) != '0' ? 10 : 8; for (i = 0; isdigit ((unsigned char) *s); s++) - i = i * r + ((unsigned char) *s) - '0'; + i *= r + ((unsigned char) *s) - '0'; s--; *bp = toascii (i); break; @@ -215,11 +200,7 @@ tailor_value (char *s) } *bp = 0; - len = strlen (buffer) + 1; - bp = mh_xmalloc (len); - memcpy (bp, buffer, len); - - return bp; + return mh_xstrdup(buffer); } /* @@ -247,7 +228,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) { @@ -258,7 +239,7 @@ LocalName (int flag) gethostname (buf, sizeof(buffer0) - 1); /* now fully qualify our name */ - memset(&hints, 0, sizeof(hints)); + ZERO(&hints); hints.ai_flags = AI_CANONNAME; hints.ai_family = PF_UNSPEC; if (getaddrinfo(buf, NULL, &hints, &res) == 0) { @@ -294,7 +275,7 @@ SystemName (void) if (buffer[0]) return buffer; - mts_init ("mts"); + mts_init (); /* check if mts.conf file specifies a "systemname" */ if (*systemname) {