X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fmts.c;h=bf7d42b1a1c5025117ebf3dabe38e9ca19d41a79;hb=e69044f7624abe5cb2cb796d528c0cc5f29515f7;hp=661975b5ec7f42bbd2d219f8155275fd74f541f3;hpb=2b72292fe9a76e3e70b63a7cd639499214097bf8;p=mmh diff --git a/sbr/mts.c b/sbr/mts.c index 661975b..bf7d42b 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -62,8 +62,8 @@ static char localmbox[BUFSIZ]; /* * MTS specific variables */ -static char *sm_method = "smtp"; -int sm_mts = MTS_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") == 0) - sm_mts = MTS_SENDMAIL; - else if (strcmp(sm_method, "pipe") == 0) - sm_mts = MTS_PIPE; - else { - advise(NULL, "unsupported \"mts\" value in mts.conf: %s", sm_method); - sm_mts = MTS_SMTP; - } + save_mts_method (mts_method); }