X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=mts%2Fsmtp%2Fsmtp.c;h=9527a5e1e8cfb1d0b082a22cc5426adf2ee5fbb7;hb=962408f5411cf543878b1e2de097f6376b459de4;hp=bf0804e171eef0911c12ac2ad8cd84a9b28f3b7b;hpb=f292123e4a8ff7bf829d2954ec838f677043ebd4;p=mmh diff --git a/mts/smtp/smtp.c b/mts/smtp/smtp.c index bf0804e..9527a5e 100644 --- a/mts/smtp/smtp.c +++ b/mts/smtp/smtp.c @@ -18,8 +18,8 @@ #endif #ifdef CYRUS_SASL -#include -#include +#include +#include #include #include #include @@ -502,15 +502,6 @@ rclient (char *server, char *protocol, char *service) return NOTOK; } -#ifdef CYRUS_SASL -#include -#include -#include -#include -#include -#include -#endif /* CYRUS_SASL */ - int sm_winit (int mode, char *from) { @@ -968,7 +959,7 @@ bad_data: free (cp); { -#ifdef HAVE_ST_BLKSIZE +#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE struct stat st; if (fstat (fileno (sm_wfp), &st) == NOTOK || (cc = st.st_blksize) < BUFSIZ) @@ -1255,7 +1246,7 @@ sm_auth_sasl(char *user, char *mechlist, char *host) result = sasl_decode64(sm_reply.text, sm_reply.length, outbuf, sizeof(outbuf), &outlen); - if (result != SASL_OK) { + if (result != SASL_OK && result != SASL_CONTINUE) { smtalk(SM_AUTH, "*"); sm_ierror("SASL base64 decode failed: %s", sasl_errstring(result, NULL, NULL)); @@ -1579,7 +1570,8 @@ static int smhear (void) { int i, code, cont, bc, rc, more; - char *bp, *rp; + unsigned char *bp; + char *rp; char **ehlo, buffer[BUFSIZ]; if (doingEHLO) {