X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=mts%2Fsmtp%2Fsmtp.c;h=404c463e82f059d418691ba0ac7d102358df5097;hb=61cf1467a9efaf4869f22eca6aa3ece2a74f10f6;hp=3ba9fbcdba619edb87f539cae007b8c9151575b4;hpb=de3930eed91e934f7842beb8932153ca7e568047;p=mmh diff --git a/mts/smtp/smtp.c b/mts/smtp/smtp.c index 3ba9fbc..404c463 100644 --- a/mts/smtp/smtp.c +++ b/mts/smtp/smtp.c @@ -147,9 +147,9 @@ char *EHLOkeys[MAXEHLO + 1]; * static prototypes */ static int smtp_init (char *, char *, char *, int, int, int, int, int, int, - int, char *, char *, int); + char *, char *, int); static int sendmail_init (char *, char *, int, int, int, int, int, int, - int, char *, char *); + char *, char *); static int rclient (char *, char *); static int sm_ierror (char *fmt, ...); @@ -178,24 +178,25 @@ static int sm_auth_sasl(char *, int, char *, char *); int sm_init (char *client, char *server, char *port, int watch, int verbose, - int debug, int onex, int queued, int sasl, int saslssf, + int debug, int queued, int sasl, int saslssf, char *saslmech, char *user, int tls) { if (sm_mts == MTS_SMTP) return smtp_init (client, server, port, watch, verbose, - debug, onex, queued, sasl, saslssf, saslmech, + debug, queued, sasl, saslssf, saslmech, user, tls); else return sendmail_init (client, server, watch, verbose, - debug, onex, queued, sasl, saslssf, saslmech, + debug, queued, sasl, saslssf, saslmech, user); } static int smtp_init (char *client, char *server, char *port, int watch, int verbose, - int debug, int onex, int queued, + int debug, int queued, int sasl, int saslssf, char *saslmech, char *user, int tls) { + int result, sd1, sd2; #ifdef CYRUS_SASL char *server_mechs; #else /* CYRUS_SASL */ @@ -204,7 +205,6 @@ smtp_init (char *client, char *server, char *port, int watch, int verbose, NMH_UNUSED (saslmech); NMH_UNUSED (user); #endif /* CYRUS_SASL */ - int result, sd1, sd2; if (watch) verbose = TRUE; @@ -441,8 +441,6 @@ smtp_init (char *client, char *server, char *port, int watch, int verbose, send_options: ; if (watch && EHLOset ("XVRB")) smtalk (SM_HELO, "VERB on"); - if (onex && EHLOset ("XONE")) - smtalk (SM_HELO, "ONEX"); if (queued && EHLOset ("XQUE")) smtalk (SM_HELO, "QUED"); @@ -451,9 +449,12 @@ send_options: ; int sendmail_init (char *client, char *server, int watch, int verbose, - int debug, int onex, int queued, + int debug, int queued, int sasl, int saslssf, char *saslmech, char *user) { + unsigned int i, result, vecp; + int pdi[2], pdo[2]; + char *vec[15]; #ifdef CYRUS_SASL char *server_mechs; #else /* CYRUS_SASL */ @@ -463,9 +464,6 @@ sendmail_init (char *client, char *server, int watch, int verbose, NMH_UNUSED (saslmech); NMH_UNUSED (user); #endif /* CYRUS_SASL */ - unsigned int i, result, vecp; - int pdi[2], pdo[2]; - char *vec[15]; if (watch) verbose = TRUE; @@ -531,10 +529,8 @@ sendmail_init (char *client, char *server, int watch, int verbose, vec[vecp++] = watch ? "-odi" : queued ? "-odq" : "-odb"; vec[vecp++] = "-oem"; vec[vecp++] = "-om"; -# ifndef RAND if (verbose) vec[vecp++] = "-ov"; -# endif /* not RAND */ vec[vecp++] = NULL; setgid (getegid ()); @@ -615,8 +611,6 @@ sendmail_init (char *client, char *server, int watch, int verbose, } #endif /* CYRUS_SASL */ - if (onex) - smtalk (SM_HELO, "ONEX"); if (watch) smtalk (SM_HELO, "VERB on"); @@ -768,7 +762,7 @@ sm_end (int type) int status; struct smtp sm_note; - if (sm_mts == MTS_SENDMAIL) { + if (sm_mts == MTS_SENDMAIL_SMTP) { switch (sm_child) { case NOTOK: case OK: @@ -1115,12 +1109,12 @@ static int sm_get_pass(sasl_conn_t *conn, void *context, int id, sasl_secret_t **psecret) { - NMH_UNUSED (conn); - char **pw_context = (char **) context; char *pass = NULL; int len; + NMH_UNUSED (conn); + if (! psecret || id != SASL_CB_PASS) return SASL_BADPARAM;