X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fauths%2Fcram_md5.c;h=b9e57c1e9b9d0e0b77e2b5c2c1bd0a1d4ff3495c;hb=4c0a7a9cb02f9904c2e890f77ff8ce3a6beb25f4;hp=9c89cb23cfd64f39503840ef5791a2d2d96da7b4;hpb=4e910c01eea401e36044816744691789ef4656fa;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/auths/cram_md5.c b/src/src/auths/cram_md5.c index 9c89cb23c..b9e57c1e9 100644 --- a/src/src/auths/cram_md5.c +++ b/src/src/auths/cram_md5.c @@ -47,6 +47,17 @@ auth_cram_md5_options_block auth_cram_md5_option_defaults = { }; +#ifdef MACRO_PREDEF + +/* Dummy values */ +void auth_cram_md5_init(auth_instance *ablock) {} +int auth_cram_md5_server(auth_instance *ablock, uschar *data) {return 0;} +int auth_cram_md5_client(auth_instance *ablock, smtp_inblock *inblock, + smtp_outblock *outblock, int timeout, uschar *buffer, int buffsize) {return 0;} + +#else /*!MACRO_PREDEF*/ + + /************************************************* * Initialization entry point * *************************************************/ @@ -68,10 +79,12 @@ if (ob->client_secret != NULL) } } +#endif /*!MACRO_PREDEF*/ #endif /* STAND_ALONE */ +#ifndef MACRO_PREDEF /************************************************* * Perform the CRAM-MD5 algorithm * *************************************************/ @@ -108,8 +121,8 @@ and use that. */ if (len > 64) { md5_start(&base); - md5_end(&base, (uschar *)secret, len, md5secret); - secret = (uschar *)md5secret; + md5_end(&base, US secret, len, md5secret); + secret = US md5secret; len = 16; } @@ -130,7 +143,7 @@ for (i = 0; i < 64; i++) md5_start(&base); md5_mid(&base, isecret); -md5_end(&base, (uschar *)challenge, Ustrlen(challenge), md5secret); +md5_end(&base, US challenge, Ustrlen(challenge), md5secret); /* Compute the outer MD5 digest */ @@ -304,10 +317,7 @@ for (p = big_buffer; *p; ) p++; *p++ = ' '; for (i = 0; i < 16; i++) - { - sprintf(CS p, "%02x", digest[i]); - p += 2; - } + p += sprintf(CS p, "%02x", digest[i]); /* Send the response, in base 64, and check the result. The response is in big_buffer, but b64encode() returns its result in working store, @@ -317,7 +327,7 @@ buffer[0] = 0; if (smtp_write_command(outblock, SCMD_FLUSH, "%s\r\n", b64encode(big_buffer, p - big_buffer)) < 0) return FAIL_SEND; -return smtp_read_response(inblock, (uschar *)buffer, buffsize, '2', timeout) +return smtp_read_response(inblock, US buffer, buffsize, '2', timeout) ? OK : FAIL; } #endif /* STAND_ALONE */ @@ -348,4 +358,5 @@ return 0; #endif +#endif /*!MACRO_PREDEF*/ /* End of cram_md5.c */