&request);
}
- client_send_login_reply(client, &request);
if (client_create_finish(client, &error) < 0)
i_fatal("%s", error);
+ client_send_login_reply(client, &request);
client_add_input_finalize(client);
/* client may be destroyed now */
}
login_client->auth_req.data_size, &request);
/* finish initializing the user (see comment in main()) */
- client_send_login_reply(client, &request);
if (client_create_finish(client, &error) < 0) {
+ /* Even though client initialization failed, send the login
+ OK reply so client doesn't think that the login failed. */
+ client_send_login_reply(client, &request);
if (write_full(login_client->fd, MSG_BYE_INTERNAL_ERROR,
strlen(MSG_BYE_INTERNAL_ERROR)) < 0)
if (errno != EAGAIN && errno != EPIPE)
client_destroy(client, error);
return;
}
+ client_send_login_reply(client, &request);
client_add_input_finalize(client);
/* client may be destroyed now */