The login_server_conn_unref() function was unconditionally calling
login_server_proctitle_refresh(), which would reset the process title
to "[idling]". This happened even after a successful login, overwriting
the process title set by the service (e.g., imap, pop3).
o_stream_unref(&conn->output);
DLLIST_REMOVE(&conn->server->conns, conn);
- login_server_proctitle_refresh(conn->server);
-
- if (!conn->login_success)
+ if (!conn->login_success) {
+ login_server_proctitle_refresh(conn->server);
master_service_client_connection_destroyed(conn->server->service);
+ }
event_unref(&conn->event);
i_free(conn);
}