X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=zotnet%2Fmts%2Fmts.c;h=7d9b718d108cf773777e901735660a64032868c1;hp=91944042e6889e9396c40ae919429ca4c70d03ca;hb=refs%2Ftags%2Fkim-before-sasl;hpb=077b355833f623241d5d145810b91da60e4c260c diff --git a/zotnet/mts/mts.c b/zotnet/mts/mts.c index 9194404..7d9b718 100644 --- a/zotnet/mts/mts.c +++ b/zotnet/mts/mts.c @@ -63,14 +63,15 @@ static char fullname[BUFSIZ]; /* Variables for username masquerading: */ boolean draft_from_masquerading = FALSE; /* also used from post.c */ static boolean mmailid_masquerading = FALSE; -static boolean username_extension_masquerading = FALSE; + boolean username_extension_masquerading = FALSE; /* " from addrsbr.c */ static char* masquerade = ""; - /* * MTS specific variables */ -#if defined(SENDMTS) || defined(SMTPMTS) +#if defined(SMTPMTS) +static char *sm_method = "smtp"; +int sm_mts = MTS_SMTP; char *hostable = nmhetcdir(/hosts); char *sendmail = SENDMAILPATH; #endif @@ -132,12 +133,10 @@ static struct bind binds[] = { { "mmdelim2", &mmdlm2 }, { "masquerade", &masquerade }, -#if defined(SENDMTS) || defined(SMTPMTS) - { "hostable", &hostable }, -#endif - -#ifdef SENDMTS - { "sendmail", &sendmail }, +#if defined(SMTPMTS) + { "mts", &sm_method }, + { "hostable", &hostable }, + { "sendmail", &sendmail }, #endif { "clientname", &clientname }, @@ -209,6 +208,17 @@ mts_init (char *name) if (strstr(masquerade, "username_extension") != NULL) username_extension_masquerading = TRUE; + +#ifdef SMTPMTS + if (strcmp(sm_method, "smtp") == 0) + sm_mts = MTS_SMTP; + else if (strcmp(sm_method, "sendmail") == 0) + sm_mts = MTS_SENDMAIL; + else { + advise(NULL, "unsupported \"mts\" value in mts.conf: %s", sm_method); + sm_mts = MTS_SMTP; + } +#endif } @@ -496,18 +506,6 @@ getuserinfo (void) if (!mmailid_masquerading || *np == '\0') strncpy (username, pw->pw_name, sizeof(username)); - if (username_extension_masquerading) { - char* username_extension = getenv("USERNAME_EXTENSION"); - - if (username_extension != NULL && *username_extension != '\0') - /* $USERNAME_EXTENSION environment variable has been set, so tack on - its value to the actual username. This is meant to interact with - qmail's "user-extension" feature and sendmail's "plussed user" - feature. */ - snprintf(username, sizeof(username), "%s%s", - username, username_extension); - } - /* The $SIGNATURE environment variable overrides the GECOS field's idea of your real name. */ if ((cp = getenv ("SIGNATURE")) && *cp)