X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2c5c74d8aff556e5cd7bc10c9d555a0b2a026ed7..c4bc9ed8bee57f8fd58ad10fb5d8941e090993db:/sbr/mts.c diff --git a/sbr/mts.c b/sbr/mts.c index c7378c71..452dc735 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -5,12 +5,15 @@ * 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 @@ -46,15 +49,12 @@ 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 */ static char username[BUFSIZ]; static char fullname[BUFSIZ]; -static char localmbox[BUFSIZ]; +static char localmbox[2*BUFSIZ+3]; /* * MTS specific variables @@ -95,8 +95,6 @@ static struct bind binds[] = { { "spoollocking", &spoollocking }, { "uucpldir", &uucpldir }, { "uucplfil", &uucplfil }, - { "mmdelim1", &mmdlm1 }, - { "mmdelim2", &mmdlm2 }, { "mts", &mts_method }, { "sendmail", &sendmail }, { "clientname", &clientname }, @@ -110,7 +108,8 @@ static struct bind binds[] = { /* 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; @@ -122,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); } } @@ -240,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) { @@ -358,8 +357,8 @@ getuserinfo (void) /* If there's a Local-Mailbox profile component, try to extract the username from it. But don't try very hard, this assumes the very simple User Name form. - Note that post(8) and whom(1) use context_foil (), so they - won't see the profile component. */ + Note that post(8) uses context_foil(), so it won't see the profile + component. */ if ((np = context_find("Local-Mailbox")) != NULL) { char *left_angle_bracket = strchr (np, '<'); char *at_sign = strchr (np, '@'); @@ -398,8 +397,8 @@ getuserinfo (void) /* The $SIGNATURE environment variable overrides the GECOS field's idea of your real name. If SIGNATURE isn't set, use the Signature profile setting if it exists. - Note that post(8) and whom(1) use context_foil (), so they - won't see the profile component. */ + Note that post(8) uses context_foil(), so it won't see the profile + component. */ if ((cp = getenv ("SIGNATURE")) && *cp) strncpy (fullname, cp, sizeof(fullname)); else if ((cp = context_find("Signature")))