X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/9fa0006ee960181e0d2ed41bf291a1ec1b1d6378..master:/src/src/auths/cyrus_sasl.c diff --git a/src/src/auths/cyrus_sasl.c b/src/src/auths/cyrus_sasl.c index 17e92bb7c..8488fba19 100644 --- a/src/src/auths/cyrus_sasl.c +++ b/src/src/auths/cyrus_sasl.c @@ -2,9 +2,10 @@ * Exim - an Internet mail transport agent * *************************************************/ +/* Copyright (c) The Exim Maintainers 2020 - 2023 */ /* Copyright (c) University of Cambridge 1995 - 2018 */ -/* Copyright (c) The Exim Maintainers 2020 */ /* See the file NOTICE for conditions of use and distribution. */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* This code was originally contributed by Matthew Byng-Maddick */ @@ -203,16 +204,16 @@ sasl_done(); within a shortlived child */ int -auth_cyrus_sasl_server(auth_instance *ablock, uschar *data) +auth_cyrus_sasl_server(auth_instance * ablock, uschar * data) { -auth_cyrus_sasl_options_block *ob = +auth_cyrus_sasl_options_block * ob = (auth_cyrus_sasl_options_block *)(ablock->options_block); -uschar *output, *out2, *input, *clear, *hname; -uschar *debug = NULL; /* Stops compiler complaining */ +uschar * output, * out2, * input, * clear, * hname; +uschar * debug = NULL; /* Stops compiler complaining */ sasl_callback_t cbs[] = {{SASL_CB_LIST_END, NULL, NULL}}; -sasl_conn_t *conn; +sasl_conn_t * conn; char * realm_expanded = NULL; -int rc, firsttime = 1, clen, *negotiated_ssf_ptr = NULL, negotiated_ssf; +int rc, firsttime = 1, clen, * negotiated_ssf_ptr = NULL, negotiated_ssf; unsigned int inlen, outlen; input = data; @@ -231,7 +232,7 @@ if (!hname || !realm_expanded && ob->server_realm) if (inlen) { - if ((clen = b64decode(input, &clear)) < 0) + if ((clen = b64decode(input, &clear, input)) < 0) return BAD64; input = clear; inlen = clen; @@ -344,10 +345,10 @@ for (rc = SASL_CONTINUE; rc == SASL_CONTINUE; ) } inlen = Ustrlen(input); - HDEBUG(D_auth) debug = string_copy(input); + HDEBUG(D_auth) debug = string_copy_taint(input, GET_TAINTED); if (inlen) { - if ((clen = b64decode(input, &clear)) < 0) + if ((clen = b64decode(input, &clear, GET_TAINTED)) < 0) { sasl_dispose(&conn); sasl_done();