X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=mts%2Fsmtp%2Fsmtp.c;h=b1d57dd6cdb7775072c4e2bbab7c2089e5d29938;hb=884c2f0375bc6108a9902bf0971844d34585c418;hp=adfa580c1b32bb2eee729a47271e6775b82187a3;hpb=704bdde497da69854846d51d86c440fc980c5489;p=mmh diff --git a/mts/smtp/smtp.c b/mts/smtp/smtp.c old mode 100644 new mode 100755 index adfa580..b1d57dd --- a/mts/smtp/smtp.c +++ b/mts/smtp/smtp.c @@ -15,6 +15,13 @@ #ifdef CYRUS_SASL #include #include +# if SASL_VERSION_FULL < 0x020125 + /* Cyrus SASL 2.1.25 introduced the sasl_callback_ft prototype, + which has an explicit void parameter list, according to best + practice. So we need to cast to avoid compile warnings. + Provide this prototype for earlier versions. */ + typedef int (*sasl_callback_ft)(); +# endif /* SASL_VERSION_FULL < 0x020125 */ #include #include #include @@ -100,11 +107,11 @@ static int sm_get_user(void *, int, const char **, unsigned *); static int sm_get_pass(sasl_conn_t *, void *, int, sasl_secret_t **); static sasl_callback_t callbacks[] = { - { SASL_CB_USER, sm_get_user, NULL }, + { SASL_CB_USER, (sasl_callback_ft) sm_get_user, NULL }, #define SM_SASL_N_CB_USER 0 - { SASL_CB_PASS, sm_get_pass, NULL }, + { SASL_CB_PASS, (sasl_callback_ft) sm_get_pass, NULL }, #define SM_SASL_N_CB_PASS 1 - { SASL_CB_AUTHNAME, sm_get_user, NULL }, + { SASL_CB_AUTHNAME, (sasl_callback_ft) sm_get_user, NULL }, #define SM_SASL_N_CB_AUTHNAME 2 { SASL_CB_LIST_END, NULL, NULL }, }; @@ -529,10 +536,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 ());