X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=mts%2Fsmtp%2Fsmtp.c;h=3ba9fbcdba619edb87f539cae007b8c9151575b4;hb=02c76189d63e4936b19ddd27fbcd97cbbaaf5e86;hp=620dabc547e9c933e1012a6adb6f4bfc3eaced46;hpb=3bede3fae77775088b8b66e7a26a5e2ee1f61fff;p=mmh diff --git a/mts/smtp/smtp.c b/mts/smtp/smtp.c index 620dabc..3ba9fbc 100644 --- a/mts/smtp/smtp.c +++ b/mts/smtp/smtp.c @@ -200,6 +200,7 @@ smtp_init (char *client, char *server, char *port, int watch, int verbose, char *server_mechs; #else /* CYRUS_SASL */ NMH_UNUSED (sasl); + NMH_UNUSED (saslssf); NMH_UNUSED (saslmech); NMH_UNUSED (user); #endif /* CYRUS_SASL */ @@ -315,7 +316,7 @@ smtp_init (char *client, char *server, char *port, int watch, int verbose, */ if (! sslctx) { - SSL_METHOD *method; + const SSL_METHOD *method; SSL_library_init(); SSL_load_error_strings(); @@ -385,7 +386,7 @@ smtp_init (char *client, char *server, char *port, int watch, int verbose, } if (sm_debug) { - SSL_CIPHER *cipher = SSL_get_current_cipher(ssl); + const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl); printf("SSL negotiation successful: %s(%d) %s\n", SSL_CIPHER_get_name(cipher), SSL_CIPHER_get_bits(cipher, NULL), @@ -638,33 +639,9 @@ rclient (char *server, char *service) } int -sm_winit (int mode, char *from) +sm_winit (char *from) { - char *smtpcom = NULL; - - switch (mode) { - case S_MAIL: - smtpcom = "MAIL"; - break; - - case S_SEND: - smtpcom = "SEND"; - break; - - case S_SOML: - smtpcom = "SOML"; - break; - - case S_SAML: - smtpcom = "SAML"; - break; - - default: - /* Hopefully, we do not get here. */ - break; - } - - switch (smtalk (SM_MAIL, "%s FROM:<%s>", smtpcom, from)) { + switch (smtalk (SM_MAIL, "MAIL FROM:<%s>", from)) { case 250: sm_addrs = 0; return RP_OK; @@ -956,7 +933,8 @@ sm_auth_sasl(char *user, int saslssf, char *mechlist, char *inhost) memset(&secprops, 0, sizeof(secprops)); secprops.maxbufsize = SASL_MAXRECVBUF; - secprops.max_ssf = tls_active ? 0 : (saslssf != -1 ? saslssf : UINT_MAX); + secprops.max_ssf = + tls_active ? 0 : (saslssf != -1 ? (unsigned int) saslssf : UINT_MAX); result = sasl_setprop(conn, SASL_SEC_PROPS, &secprops); @@ -1518,7 +1496,7 @@ sm_rrecord (char *buffer, int *len) buffer[*len = 0] = 0; if ((retval = sm_fgets (buffer, BUFSIZ, sm_rfp)) != RP_OK) - return retval; + return sm_rerror (retval); *len = strlen (buffer); /* *len should be >0 except on EOF, but check for safety's sake */ if (*len == 0)