From: Timo Sirainen Date: Fri, 8 Oct 2021 12:57:50 +0000 (+0300) Subject: imap: Move IMAPLOGINTAG environment handling X-Git-Tag: 2.3.17~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=feafbd3ba63af9db8e12ee4239e1a77d5ec433cc;p=thirdparty%2Fdovecot%2Fcore.git imap: Move IMAPLOGINTAG environment handling It can only happen with stdio clients when they don't have CLIENT_INPUT, so it makes more sense to exist in the calling function. --- diff --git a/src/imap/main.c b/src/imap/main.c index a95f41b951..3595deb2e9 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -193,10 +193,6 @@ client_add_input(struct client *client, const unsigned char *client_input, client_add_istream_prefix(client, request_r->input, request_r->input_size); } - } else { - /* IMAPLOGINTAG environment is compatible with mailfront */ - i_zero(request_r); - request_r->tag = getenv("IMAPLOGINTAG"); } } @@ -344,9 +340,11 @@ static void main_stdio_run(const char *username) i_fatal("%s", error); input_base64 = getenv("CLIENT_INPUT"); - if (input_base64 == NULL) - client_add_input(client, NULL, 0, &request); - else { + if (input_base64 == NULL) { + /* IMAPLOGINTAG environment is compatible with mailfront */ + i_zero(&request); + request.tag = getenv("IMAPLOGINTAG"); + } else { const buffer_t *input_buf = t_base64_decode_str(input_base64); client_add_input(client, input_buf->data, input_buf->used, &request);