X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fmts.c;h=bf7d42b1a1c5025117ebf3dabe38e9ca19d41a79;hb=7946a8c713bd43a52229345ad0289aaa461acfb3;hp=d28f285111045fb602bf17399050532cfdd03aee;hpb=84b65bad347129f751e3ed208516697bc3fe1820;p=mmh diff --git a/sbr/mts.c b/sbr/mts.c index d28f285..bf7d42b 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -62,7 +62,7 @@ static char localmbox[BUFSIZ]; /* * MTS specific variables */ -static char *sm_method = "smtp"; +static char *mts_method = "smtp"; int sm_mts = MTS_SENDMAIL_SMTP; char *sendmail = SENDMAILPATH; @@ -106,7 +106,7 @@ static struct bind binds[] = { { "uucplfil", &uucplfil }, { "mmdelim1", &mmdlm1 }, { "mmdelim2", &mmdlm2 }, - { "mts", &sm_method }, + { "mts", &mts_method }, { "sendmail", &sendmail }, { "clientname", &clientname }, { "servers", &servers }, @@ -119,6 +119,25 @@ 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")) { + mts_method = "smtp"; + sm_mts = MTS_SMTP; + } else if (! mh_strcasecmp (value, "sendmail/smtp") || + ! mh_strcasecmp (value, "sendmail")) { + mts_method = "sendmail/smtp"; + sm_mts = MTS_SENDMAIL_SMTP; + } else if (! mh_strcasecmp (value, "sendmail/pipe")) { + mts_method = "sendmail/pipe"; + sm_mts = MTS_SENDMAIL_PIPE; + } else { + adios (NULL, "unsupported mts selection \"%s\"", value); + } +} + + /* * Read the configuration file for the nmh interface * to the mail transport system (MTS). @@ -146,16 +165,7 @@ mts_init (char *name) Everyone = atoi (everyone); - if (strcmp(sm_method, "smtp") == 0) - sm_mts = MTS_SMTP; - else if (strcmp(sm_method, "sendmail/smtp") == 0) - sm_mts = MTS_SENDMAIL_SMTP; - else if (strcmp(sm_method, "sendmail/pipe") == 0) - sm_mts = MTS_SENDMAIL_PIPE; - else { - advise(NULL, "unsupported \"mts\" value in mts.conf: %s", sm_method); - sm_mts = MTS_SENDMAIL_SMTP; - } + save_mts_method (mts_method); }